服务器宕机前预警!UptimeKuma+cpolar让5台服务器监控只需一个面板,还能手机告警
文章目录
前言
作为运维新人,我曾为"同时监测多个网站状态"而苦恼——商业工具费用高昂不说,还要依赖公网IP和复杂配置。直到发现开源项目Uptime Kuma并结合cpolar内网穿透服务后,我的监控系统竟实现了比专业软件更智能、私密的功能。
现在,所有服务器的可用性数据在仪表盘上实时更新,支持HTTP、TCP、Ping等8种监控类型,当某台服务器响应超时超过10秒,立即向微信工作群推送告警。最惊艳的是它的历史数据图表,上周分析服务器负载规律时,发现凌晨3点总有访问高峰,及时调整了定时任务时间,避免了资源竞争导致的卡顿。
但Uptime Kuma默认只能在局域网访问,这意味着出差时想查看告警记录?得先远程桌面连办公室电脑。在家休息时服务器宕机?必须赶回公司处理。这种"物理空间绑定"让监控系统成了"办公室特权",尤其遇到节假日时,应急响应效率简直让人抓狂。
直到给系统装上cpolar内网穿透,Uptime Kuma瞬间变身"云端监控中枢"。现在我在老家炕头上用手机就能查看所有服务器状态,在旅游途中通过平板确认故障已恢复。上个月春节假期,通过公网地址远程添加新的监控项,5分钟完成客户网站的可用性监测配置,这种"指尖上的运维"体验以前想都不敢想。更贴心的是,cpolar支持设置访问密码,即使监控面板地址泄露,没有权限也无法查看敏感数据,安全感拉满~

1.关于Uptime Kuma
Uptime Kuma可以添加的监控项包括HTTP(s)、TCP、HTTP(s)关键词、HTTP(s) JSON查询、Ping、DNS记录、推送、Docker容器运行时间、Steam游戏服务等常见网站运行参数。当服务器发生意外情况时,Uptime Kuma支持用户选择70多种通知服务,例如Telegram、Discord、Gotify、Slack、Pushover、电子邮件等,以便及时接收网站服务故障通知,帮助用户减少经济损失。
Uptime Kuma具有灵活高效的用户交互界面,用户可以根据需要隐藏或显示监控状态,并且可以使用网页标签功能对不同功能的网站进行分类,以便在特定时段关注高风险站点。此外,Uptime Kuma还提供多种语言支持,官方就提供了中文语言包。
以下是Uptime Kuma支持的功能特性:
- 监控类型:支持监控 HTTP(s) / TCP / HTTP(s) 关键字 / HTTP(s) Json 查询 / Ping / DNS 记录 / Push / Steam 游戏/ Docker 容器 / 数据库(SQL Server、PostgreSQL、MySQL、MongoDB、Redis 等)
- 通知类型:支持 Telegram / Discord / Gotify / Slack / Pushover / Email / Webhook 等 90 多种通知方式
- 检测间隔:支持最低 20 秒的检测间隔
- 图表:支持以图表形式查看历史数据

2.安装Docker
本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。
在终端中执行下方命令安装docker:
curl -fsSL https://get.docker.com -o get-docker.sh
然后再启动docker
sudo sh get-docker.sh
最后我们在docker容器中运行下 hello world 看一下是否安装成功。
sudo docker container run hello-world
可以看到出现了hello world,说明我们已经安装docker成功,就可以进行下一步了

3.本地部署Uptime Kuma
本项目提供了一键安装脚本:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
一条命令实现,本项目使用的是3001端口,需要在防火墙放开。

现在就已经安装成功啦!您可以通过打开Web浏览器输入localhost:3001来登录或注册您的Uptime Kuma啦!
注意
如果你想限制对 localhost 的公开(不为其他用户公开端口),你可以像这样公开端口:
docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

4.使用Uptime Kuma
注册登录后进入到仪表盘,可以直接点击左上角的”添加监控项“

根据自己的需求选择监控类型,这里以监控cpolar为例,在URL中填写上cpolar的地址后保存

稍等片刻就能看到监控的数据以及图标

小结
上面在本地Linux中使用Docker成功部署了Uptime Kuma,并局域网访问成功。整体来说Uptime Kuma是一款非常不错的网站监控工具,它提供了完备的功能,并且具有非常好的实用性和易用性,并且也非常容易安装部署。
如果想在公网远程管理Uptime Kuma,就可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器,可节省大量的资金。
5.cpolar内网穿透工具安装
下面是安装cpolar步骤:
使用一键脚本安装命令
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

6.创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了: Uptimekuma注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:https://localhost:3001
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

如下图所示,成功实现使用公网地址异地远程访问本地部署的Uptime Kuma

使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Uptime Kuma管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,隧道使用了cpolar的公网域名,无需自己购买云服务器,可节省大量资金。使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!
7.固定Uptime Kuma公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

保留成功后复制保留的二级子域名地址:

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址访问Uptime Kuma管理界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。


接下来就可以随时随地进行公网访问管理Uptime Kuma了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地安装Uotime Kuma的全部过程。
服务器监控的终极形态,是让你安睡一整晚。当Uptime Kuma的全方位监测遇上cpolar的穿透能力,那些曾让你焦虑的运维难题,终将变成"喝着咖啡看数据"的从容体验。
- 点赞
- 收藏
- 关注作者
评论(0)