用 Uptime Kuma+cpolar 打造全栈监控:远程管理不求人
本文介绍了在 Linux 系统中借助 Docker 部署 Uptime Kuma 监控工具,并通过 cpolar 实现公网访问的方法。首先准备好安装 Docker 的环境,按步骤用 Docker 部署 Uptime Kuma,包括创建文件夹、配置 docker-compose.yml 文件并启动服务,完成后可在局域网内访问并添加监控网站、设置通知。为实现远程访问,安装 cpolar,通过其 web


本文介绍了在 Linux 系统中借助 Docker 部署 Uptime Kuma 监控工具,并通过 cpolar 实现公网访问的方法。首先准备好安装 Docker 的环境,按步骤用 Docker 部署 Uptime Kuma,包括创建文件夹、配置 docker-compose.yml 文件并启动服务,完成后可在局域网内访问并添加监控网站、设置通知。为实现远程访问,安装 cpolar,通过其 web 界面创建隧道映射本地端口,生成公网地址,还可配置固定二级子域名,方便长期使用,无需公网 IP 和额外云服务器即可低成本搭建远程监控系统。
前言
Uptime Kuma 是一款开源监控工具,支持 HTTP、TCP 等多种协议,能实时追踪网站、服务器状态,还能通过邮件、Discord 等 70 多种渠道推送告警,很适合运维人员或多网站管理者使用。它轻量小巧,单实例内存占用不到 100MB,对服务器资源要求不高。
使用时发现,它的可视化图表能直观展示 Ping 值变化和 SSL 证书状态,帮我快速发现性能问题。不过初次配置告警时,要注意设置合理的检测频率,避免频繁误报。
但它默认只能在局域网内访问,出门在外想查看监控状态或调整设置就很麻烦,总不能一直待在服务器旁边。
好在搭配 cpolar 内网穿透后,不用公网 IP 也能把监控服务暴露到公网,生成的地址能在手机、电脑上随时访问,既解决了远程管理难题,又不用额外花钱买云服务器,性价比很高。

下面介绍在Linux中使用Docker来一键部署Uptime Kuma,并将这个服务映射至公网访问。
一、前期准备
本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。

本教程使用Docker部署服务,如何安装Docker详见:
Install Docker Engine on CentOS | Docker Docs
使用如下命令测试Docker是否正常工作:
docker run hello-world

二、Docker部署Uptime Kuma
按照顺序执行如下命令,路径位置可自行修改
mkdir -p /root/dockertest/kuma # 新建安装文件夹
cd /root/dockertest/kuma # 切换至安装路径
touch docker-compose.yml # 创建docker配置文件
执行结果如下:

编辑我们刚才新建的yml配置文件:
vim docker-compose.yml
写入如下信息:
version: '3.3'
services:
uptime-kuma:
image: louislam/uptime-kuma
container_name: uptime-kuma
volumes:
- /root/dockertest/kuma/data:/app/data
ports:
- 5702:3001 # 我设置的访问端口号为5702,可以自行修改端口

在此目录:/root/dockertest/kuma 下执行如下命令启动监控服务:
docker-compose up -d

拉取运行完毕后,docker ps ,即可查看已经启动的容器:

此时我们浏览器打开服务器IP:5702,我的地址是:
http://192.168.1.237:5702/
输入用户名密码后进入登陆界面:

在此界面我们可以添加要监控的网站:

点击左上角添加,配置监控URL,设置下监控名称:

设置网站异常通知:

支持各种通知功能,建议配置使用邮件和飞书通知等报警功能。

配置完毕后显示如下:

三、实现公网查看网站监控
上面我们使用Docker在本地服务器上部署了网站监控服务,在本地可以随意访问,但是一旦离开本地时需要查看网站状态,配置监控报警,就不灵了。
此时我们需要安装使用内网穿透工具将本地服务映射至公网,这样我们无需自己注册域名购买云服务器,即可发布到公网进行远程访问 !
我在服务器上安装了免费不限流量的Cpolar,具体安装方法如下:
cpolar官网地址: https://www.cpolar.com
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

打开我的Cpolar Webui地址并登陆进去:
http://192.168.1.237:9200/
点击左侧仪表盘的隧道管理——创建隧道


配置如下:

- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:5702(填入自定义修改的端口号)
- 域名类型:免费选择随机域名
- 地区:选择China Top
点击创建
隧道变为active状态,即为创建成功:

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https


打开这个https地址,就是映射出的公网地址:


小结
为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。
我一般会使用固定二级子域名,原因是我希望它是一个固定、易记的公网地址,更利于长期监控服务(例如:crm.cpolar.cn),这样更显正式,便于交流协作。
四、使用固定公网地址访问本地部署的监控服务
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

保留成功提示如下:

返回登录http://192.168.1.237:9200 Cpolar Webui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击 编辑

修改隧道配置信息如下:

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区:选择保留域名时选择的地区
点击更新(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名。

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了。

到这里我们实现了使用本地服务器部署网站监控服务,并配置了固定公网地址访问,这样我们无需租云服务器,就可以随时随地查看网站监控。
通过 Uptime Kuma 监控服务状态,结合 cpolar 实现远程访问,低成本就能搭建一套灵活实用的监控系统,让服务管理更省心。
cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站
联系博主
xcLeigh 博主,全栈领域优质创作者,博客专家,目前,活跃在CSDN、微信公众号、小红书、知乎、掘金、快手、思否、微博、51CTO、B站、腾讯云开发者社区、阿里云开发者社区等平台,全网拥有几十万的粉丝,全网统一IP为 xcLeigh。希望通过我的分享,让大家能在喜悦的情况下收获到有用的知识。主要分享编程、开发工具、算法、技术学习心得等内容。很多读者评价他的文章简洁易懂,尤其对于一些复杂的技术话题,他能通过通俗的语言来解释,帮助初学者更好地理解。博客通常也会涉及一些实践经验,项目分享以及解决实际开发中遇到的问题。如果你是开发领域的初学者,或者在学习一些新的编程语言或框架,关注他的文章对你有很大帮助。
亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。
愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。
至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。
💞 关注博主 🌀 带你实现畅游前后端!
🥇 从零到一学习Python 🌀 带你玩转Python技术流!
🏆 人工智能学习合集 🌀 搭配实例教程与实战案例,帮你构建完整 AI 知识体系
💦 注:本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有) ,https://xcleigh.blog.csdn.net/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。

📣 亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(或者关注下方公众号,看见后第一时间回复,还有海量编程资料等你来领!),博主看见后一定及时给您答复 💌💌💌
更多推荐


所有评论(0)