服务器宕机前预警!Uptime Kuma+cpolar 让监控随时随地

文章目录

前言

Uptime Kuma 是一款轻量级的开源监控工具,支持 HTTP、TCP、Ping 等多种协议,能实时监测网站、服务器、API 接口的运行状态,还能通过邮件、钉钉等数十种方式推送告警信息。它适合个人开发者、中小企业运维人员使用,优点是占用资源少(单实例内存低于 100MB)、操作简单、可视化界面直观,无需专业运维知识也能快速搭建监控系统。

使用 Uptime Kuma 时,设置监控项的过程很简单,添加目标地址后就能自动生成状态图表,一目了然。但要注意,它默认需要在本地网络内访问管理界面,若服务器不在身边,很难及时调整监控参数或查看告警详情。

仅在局域网内使用 Uptime Kuma,会面临不少不便:出差时想查看服务器是否正常运行,却无法访问监控面板;半夜收到告警短信,却只能等到第二天回办公室才能处理问题;团队成员需要分工监控时,必须在同一网络环境下操作,灵活性极差。

而 Uptime Kuma 与 cpolar 结合后,这些困扰就能轻松解决。cpolar 可以将本地的监控服务暴露到公网,生成一个可远程访问的地址,无论身在何处,只要有网络就能登录 Uptime Kuma 管理界面,实时查看监控数据、调整告警阈值,甚至在外出时也能及时处理服务器异常,让监控真正做到全天候、无死角。

下面介绍在Linux中使用Docker来一键部署Uptime Kuma,并将这个服务映射至公网访问。

一、前期准备

本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。
本教程使用Docker部署服务,如何安装Docker详见:

Install Docker Engine on CentOS | Docker Docs

使用如下命令测试Docker是否正常工作:

shell 复制代码
docker run hello-world

二、Docker部署Uptime Kuma

shell 复制代码
按照顺序执行如下命令,路径位置可自行修改
mkdir -p /root/dockertest/kuma  # 新建安装文件夹

cd /root/dockertest/kuma   # 切换至安装路径

touch docker-compose.yml  # 创建docker配置文件

执行结果如下:

编辑我们刚才新建的yml配置文件:

shell 复制代码
vim docker-compose.yml

写入如下信息:

shell 复制代码
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 下执行如下命令启动监控服务:

shell 复制代码
docker-compose up -d

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

此时我们浏览器打开服务器IP:5702,我的地址是:

http://192.168.1.237:5702/

输入用户名密码后进入登陆界面:

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

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

设置网站异常通知:

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

配置完毕后显示如下:

三、实现公网查看网站监控

上面我们使用Docker在本地服务器上部署了网站监控服务,在本地可以随意访问,但是一旦离开本地时需要查看网站状态,配置监控报警,就不灵了。

此时我们需要安装使用内网穿透工具将本地服务映射至公网,这样我们无需自己注册域名购买云服务器,即可发布到公网进行远程访问 !

我在服务器上安装了免费不限流量的Cpolar,具体安装方法如下:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
shell 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
shell 复制代码
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 | 远程访问 | 搭建网站

相关推荐
sdm07042742 分钟前
yum和开发工具vim/gcc
linux·服务器·centos
zhaoyufei13343 分钟前
RK3568-11.0 设置WiFi p2p静态IP
服务器·tcp/ip·p2p
Leinwin6 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382506 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇6 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7596 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣7 小时前
智能体选型实战指南
运维·人工智能
yy55277 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ8 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔9 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络