服务器宕机前预警!UptimeKuma+cpolar让5台服务器监控只需一个面板,还能手机告警

举报
倔强的石头_ 发表于 2025/11/20 14:29:59 2025/11/20
【摘要】 文章目录前言1.关于Uptime Kuma2.安装Docker3.本地部署Uptime Kuma4.使用Uptime Kuma5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址**服务器监控的终极形态,是让你安睡一整晚**。当Uptime Kuma的全方位监测遇上cpolar的穿透能力,那些曾让你焦虑的运维难题,终将变成"喝着咖啡看数据"的从容体验...


前言

作为运维新人,我曾为"同时监测多个网站状态"而苦恼——商业工具费用高昂不说,还要依赖公网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 秒的检测间隔
  • 图表:支持以图表形式查看历史数据

img

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成功,就可以进行下一步了

image-20241008151101668

3.本地部署Uptime Kuma

本项目提供了一键安装脚本:

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

一条命令实现,本项目使用的是3001端口,需要在防火墙放开。

image-20241008152837865

现在就已经安装成功啦!您可以通过打开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

image-20241008154100927

4.使用Uptime Kuma

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

image-20241008154248421

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

image-20241008154610010

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

image-20241008154640976

小结

上面在本地Linux中使用Docker成功部署了Uptime Kuma,并局域网访问成功。整体来说Uptime Kuma是一款非常不错的网站监控工具,它提供了完备的功能,并且具有非常好的实用性和易用性,并且也非常容易安装部署。

如果想在公网远程管理Uptime Kuma,就可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器,可节省大量的资金。

5.cpolar内网穿透工具安装

下面是安装cpolar步骤:

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

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

sudo systemctl status cpolar

img

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

image-20240801133735424

6.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: Uptimekuma注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:https://localhost:3001
  • 域名类型:随机域名
  • 地区:选择China Top

image-20241008162716882

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

image-20241008162834134

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

image-20241008162949031

使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Uptime Kuma管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,隧道使用了cpolar的公网域名,无需自己购买云服务器,可节省大量资金。使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!

7.固定Uptime Kuma公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241008163159036

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

image-20241008163253138

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

image-20241008163344819

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241008163514702

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

image-20241008163623531

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

image-20241008163721122

image-20241008163745084

接下来就可以随时随地进行公网访问管理Uptime Kuma了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地安装Uotime Kuma的全部过程。

服务器监控的终极形态,是让你安睡一整晚。当Uptime Kuma的全方位监测遇上cpolar的穿透能力,那些曾让你焦虑的运维难题,终将变成"喝着咖啡看数据"的从容体验。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。