前言
对长期运行的网站、API、数据库和家庭服务器来说,真正值得关注的并不只是“现在能不能打开”,而是服务是否持续在线、响应是否正常,以及异常发生时能不能第一时间发现。
这也是可用性监控存在的意义。
相比等用户反馈“网站打不开了”、等接口报错以后再去排查,Uptime Kuma 更适合承担日常的自动巡检工作。它可以定时检测 HTTP/HTTPS 服务、TCP 端口、Ping、DNS 等目标,并记录响应时间和历史状态;对于网站服务,还可以继续关注 SSL 证书有效期。监控项一旦异常,再配合邮件、Webhook、飞书、钉钉等通知方式,就能把“人工检查”变成持续自动监控。
这篇文章会以极空间为部署环境,通过 Docker 运行 Uptime Kuma,完成管理员初始化,并实际配置网站、SSL 证书以及 TCP 端口监控,让整套监控流程先在局域网内跑通。
之后还会通过cpolar把 Uptime Kuma 的3005端口增加公网入口,并进一步配置固定二级子域名。
这样无论监控目标部署在家里还是其他服务器上,都可以通过一个统一页面查看状态。
对于长期运行的服务来说,监控真正提供的不是“保证永远不宕机”,而是让异常发生以后,不再只能等别人来告诉你。
1.什么是Uptime Kuma?
Uptime Kuma是一款开源、轻量级、功能强大的 自托管服务监控工具,专为开发者、运维人员和中小型企业设计,用于实时监测网站、API、数据库、端口、Ping响应等各类在线服务的可用性与响应状态。
核心特点:
1.开源免费 & 自托管
- Uptime Kuma完全开源(基于 MIT 协议),代码托管在 GitHub 上,用户可自行部署在私有服务器或云主机上,无需依赖第三方SaaS服务,保障数据隐私与控制权。
2.极简部署
- 支持通过Docker一键部署,也提供原生Node.js安装方式。资源占用低,普通VPS(如1核2G)即可流畅运行。
3.多协议监控支持
- HTTP / HTTPS(支持自定义请求头、状态码校验)
- TCP / UDP 端口
- Ping(ICMP)
- DNS 查询
- Docker 容器状态
- Steam 游戏服务器
- gRPC、MySQL、PostgreSQL、Redis 等(部分通过插件或扩展)
4.可视化仪表盘
- 提供美观直观的Web界面,实时展示各监控项的状态( 正常 /  故障)、响应时间趋势图、历史事件日志等。
5.丰富的通知渠道(90+ 种)
一旦服务异常或恢复,可自动推送告警到:- 邮件(SMTP)
- 钉钉、飞书、企业微信
- Telegram、Discord、Slack
- Webhook(对接自研系统)
- Gotify、Pushover、Home Assistant
- 甚至可通过 Shell 脚本触发本地操作
6.高可用与安全
- 支持 HTTPS(可集成 Let’s Encrypt)、用户认证、多用户管理(基础权限控制),适合团队协作使用。
7.活跃社区 & 持续更新
- 截至 2026 年,Uptime Kuma 在 GitHub 上已获得超过 80,000 颗星标,拥有庞大的全球用户社区,更新频繁,插件生态不断丰富。
典型应用场景:
- 监控个人博客、电商网站是否宕机
- 检测 API 接口是否超时或返回错误
- 跟踪 SSL 证书有效期,避免过期导致访问中断
- 监控内网服务(配合反向代理或隧道)
- 游戏服务器在线状态提醒
一句话总结:Uptime Kuma就像你数字世界的“哨兵”,7×24小时不眠不休地守护你的服务,让你安心睡觉、放心度假——因为一切异常,它都会第一时间告诉你。
如果你厌倦了商业监控工具的高昂费用或功能限制,Uptime Kuma无疑是2026年最值得尝试的开源替代方案。
2.前提条件
2.1ssh远程连接到极空间
- 开启【SSH 服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
sshroot@IP没有ssh的小伙伴可以参考这篇文章:
连接成功:极空间别再吃灰了!开启SSH,秒变全能服务器! - cpolar 极点云官网
2.2验证docker是否开启
使用命令:
docker-vsystemctl status-v没有docker的小伙伴可以参考这篇文章:极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手! - cpolar 极点云官网
3.部署Uptime Kuma
3.1 Docker Compose部署
首先创建一下安装的目录并进入到该目录:
mkdir-p/docker/Uptime Kumachmod-R777/Uptime Kuma创建并编辑docker-compose.yml文件:
vidocker-compose.ymlversion:"3.8"services: uptime-kuma: image: louislam/uptime-kuma:2 container_name: uptime-kuma restart: unless-stopped ports: -"3005:3001"volumes: - ./data:/app/data environment: -TZ=Asia/Shanghai启动容器:
docker-composeup-d3.2 docker一键部署
执行docker一键部署命令:
dockerrun-d--restart=always-p3005:3001-vuptime-kuma:/app/data--nameuptime-kuma louislam/uptime-kuma:1部署完成后,在浏览器中输入http://极空间IP:3005就能看到Uptime Kuma的界面:
4.使用Uptime Kuma
4.1 基础使用
常用管理命令
# 查看容器状态dockerps|grepuptime-kuma# 查看日志dockerlogs-fuptime-kuma# 停止容器dockerstop uptime-kuma# 启动容器dockerstart uptime-kuma# 重启容器dockerrestart uptime-kuma# 删除容器(数据不会丢失)dockerrm-fuptime-kuma创建用户名密码:
登录成功:
4.2 监控Web服务与SSL证书过期
我们这里添加一下监控网站试试,我们这里监控cpolar:
- 点击左上角 “+ 添加监控项”。
- 监控类型选择 HTTP(s)。
- URL 填入你的网址(例如 https://www.cpolar.com)。
- 高级设置中:
勾选 “证书过期提醒”。
设置剩余天数(例如 7 天),这样证书快过期时你会收到报警。
心跳间隔:建议设置为 60 秒。
监控成功!
4.3 监控TCP端口(Redis/MySQL)
有时候Web服务是好的,但数据库挂了。我们可以通过TCP端口探测来监控中间件。
- 监控类型选择
TCP Port。 - Hostname填入数据库服务器 IP。
- Port填入
3306(MySQL) 或6379(Redis)。
参考如下:
配置成功!
在远程监控和保障服务高可用性的场景中,Uptime Kuma作为一款开源的监控工具,能够实时检测服务器、网站或应用的运行状态,并通过多种通知渠道及时告警。然而,当被监控的服务部署在内网环境中(如家庭服务器、本地开发环境或企业私有网络)时,Uptime Kuma通常无法直接访问这些私有地址。此时,cpolar的内网穿透能力便成为关键桥梁——通过将内网服务安全地暴露到公网,cpolar使得Uptime Kuma能够无缝监控原本不可达的本地资源,无需复杂网络配置或公网IP。这种结合不仅提升了监控覆盖范围,也极大简化了私有服务的可观察性架构,尤其适合个人开发者、中小团队或边缘部署场景。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudocurlhttps://get.cpolar.sh|sh安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudosystemctl status cpolarCpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:Uptime-Kuma,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:3005
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
7.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是Uptime-Kuma,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
访问成功:
总结
Uptime Kuma 更适合解决的是“服务是否可用”这一类问题。
网站能否正常响应、某个 TCP 端口是否还在线、SSL 证书是否临近过期,这些状态都可以由它持续探测并保留下来。相比偶尔手动打开网页确认一次,自动监控更容易发现短暂中断、持续故障以及长期变化。
它和前面常见的系统性能监控工具也不是完全一回事。
CPU、内存、磁盘负载属于“机器运行得怎么样”,而 Uptime Kuma 更关心的是“服务最终还能不能访问”。因此实际使用中,两类监控并不冲突:一类观察主机内部状态,一类站在使用者角度检查服务是否真正可用。
通过 cpolar 给 Uptime Kuma 增加远程入口以后,人不在设备旁边也能继续查看监控结果;如果还有内网服务需要被外部监控,也可以根据实际网络结构补充相应的可达路径。
当然,监控平台本身同样包含服务地址、历史状态等信息,开放公网后应该设置好管理员密码和访问权限。
所以部署 Uptime Kuma 的意义,并不是让服务器从此“不会宕机”。
而是建立一套更可靠的发现机制:
服务可以出问题,但你应该尽可能比用户更早知道。