做开发的兄弟们,最怕听到的一句话是什么?
不是“需求改一下”,而是半夜突然收到老板或客户的微信:“网站是不是挂了?怎么打不开?”
那一刻,你的心跳绝对比服务器 CPU 占用率还高。
更尴尬的是,作为技术人员,我们竟然是最后一个知道服务宕机的人。
为了避免这种社死现场,我试过很多监控工具。
Zabbix? 功能太强了,但也太重了,配置起来像在考研,界面还停留在上个世纪。
UptimeRobot? 好用是好用,但免费版限制多,稍微高级点的功能就要掏美金。
手写 Shell 脚本? 倒是极客,但维护起来累,而且没图表,看着干巴巴的。
直到我遇到了今天的主角——Uptime Kuma。
用完之后我只有一种感觉:真香!为什么我没早点发现它?
项目地址:https://github.com/louislam/uptime-kuma

01 始于颜值,忠于体验
在这个“看脸”的时代,工具好不好用先不说,长得丑真的很难让人有打开的欲望。
Uptime Kuma 基于 Vue 3 构建,界面那是相当的现代化。Material Design 风格,圆角、动效、暗黑模式,该有的都有。
不像那些老牌运维工具满屏密密麻麻的参数,它的仪表盘清爽得像个艺术品。
左边是服务列表,右边是实时的心跳图(Heartbeat),红绿分明。
绿色代表一切安好,心情舒畅;
红色代表服务挂了,血压升高。
看着那个绿色的进度条一直在跑,对于强迫症程序员来说,简直就是一种心理按摩。
02 不止是 Ping 这么简单
你以为它只能 Ping 一下服务器通不通?那太小看它了。
作为一个专业的监控工具,它的技能树点得非常满:
监控类型全: HTTP(s)、TCP、Ping、DNS Record,甚至还能监控 Steam 游戏服务器和 Docker 容器状态。
SSL 证书到期提醒: 这个功能简直是救命稻草!有多少次网站打不开是因为忘了给 HTTPS 证书续期?它能提前几天狂发消息轰炸你,让你想忘都难。
关键词监控: 比如你的接口虽然返回 200 OK,但内容却是 {"error": "db connect failed"}。这时候单纯的状态码监控就废了,而 Uptime Kuma 可以检查返回内容里是否包含特定关键词。
03 告警轰炸,想装死都难
监控最重要的是什么?是通知。
服务挂了,得第一时间摇人。
Uptime Kuma 支持的通知渠道多到离谱:
国内主流: 钉钉群机器人、企业微信、飞书、Server酱(推送到微信)、Email。
国外主流: Telegram、Discord、Slack。

配置极其简单,填个 Webhook 地址就完事。
一旦服务出现异常,你的手机就会立马震动。虽然半夜被震醒很痛苦,但总比第二天上班被老板骂要好得多吧?
04 对外装 X 利器:状态页
这是我觉得最酷的一个功能。
它可以一键生成一个公开的状态页(Status Page)。
你可以把这个页面挂在你的官网底部,名字就叫“系统运行状态”。用户点进去,能看到过去 24 小时或 30 天所有服务的在线率。
这传递出什么信息?
“我们很专业,我们很透明,我们要么不挂,挂了也敢认。”
这种逼格,瞬间就把你的项目档次拉高了。
05 怎么装?一行命令搞定
说了这么多,安装会不会很麻烦?
完全不会。作为一个 2024 年的开源项目,不支持 Docker 部署就是耍流氓。
只需要连上你的服务器,复制粘贴下面这行命令:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data -v /var/run/docker.sock:/var/run/docker.sock --name uptime-kuma louislam/uptime-kuma:2
回车,等待几十秒。
06 NAS Docker Compose部署
在我的主力机极空间 Z4Pro上进行部署,在极空间的个人空间目录创建uptime-kuma目录

接着打开 docker 应用,选择 Compose – 新增项目,将下面的代码复制到代码黑框内。

services:
uptime-kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
ports:
- "3001:3001" 接着,点击黑框上方的查询路径按钮,切换到刚才我们创建的文件目录夹下,点击【查询路径】。将复制下来的路径,替换代码中的【./data】,并启动容器 Compose。


07 项目实战
打开浏览器访问 。

不需要配置环境,不需要装数据库,它自己全包了。你选择对应数据库就可以了,当然也可以使用外部数据库

设置用户名和密码


接着点击【添加监控项】添加监控

效果展示

消息通知设置,根据自己的需要进行设置


写在最后
在技术圈,大家总是倾向于把简单的问题复杂化,觉得用复杂的工具才显技术含量。
但 Uptime Kuma 告诉我:简单、好用、好看,才是生产力。
如果你手里有几台 VPS,或者负责维护公司的几个内部系统,别犹豫,装上它。
把监控交给它,把觉留给自己。
(如果你也在用什么好玩的开源工具,欢迎评论区安利给我!觉得有用点个*【在看】*防走丢)