别再手写脚本了!这款颜值逆天的开源监控神器,装完我就后悔没早用
小明同学爱动漫
2025年12月29日 20:53

做开发的兄弟们,最怕听到的一句话是什么?

不是“需求改一下”,而是半夜突然收到老板或客户的微信:“网站是不是挂了?怎么打不开?”

那一刻,你的心跳绝对比服务器 CPU 占用率还高。

更尴尬的是,作为技术人员,我们竟然是最后一个知道服务宕机的人。

为了避免这种社死现场,我试过很多监控工具。

  • Zabbix? 功能太强了,但也太重了,配置起来像在考研,界面还停留在上个世纪。

  • UptimeRobot? 好用是好用,但免费版限制多,稍微高级点的功能就要掏美金。

  • 手写 Shell 脚本? 倒是极客,但维护起来累,而且没图表,看着干巴巴的。

直到我遇到了今天的主角——Uptime Kuma

用完之后我只有一种感觉:真香!为什么我没早点发现它?

项目地址:https://github.com/louislam/uptime-kuma

01 始于颜值,忠于体验

在这个“看脸”的时代,工具好不好用先不说,长得丑真的很难让人有打开的欲望。

Uptime Kuma 基于 Vue 3 构建,界面那是相当的现代化。Material Design 风格,圆角、动效、暗黑模式,该有的都有。

不像那些老牌运维工具满屏密密麻麻的参数,它的仪表盘清爽得像个艺术品。

左边是服务列表,右边是实时的心跳图(Heartbeat),红绿分明。

  • 绿色代表一切安好,心情舒畅;

  • 红色代表服务挂了,血压升高。

看着那个绿色的进度条一直在跑,对于强迫症程序员来说,简直就是一种心理按摩。

02 不止是 Ping 这么简单

你以为它只能 Ping 一下服务器通不通?那太小看它了。

作为一个专业的监控工具,它的技能树点得非常满:

  1. 监控类型全: HTTP(s)、TCP、Ping、DNS Record,甚至还能监控 Steam 游戏服务器和 Docker 容器状态。

  2. SSL 证书到期提醒: 这个功能简直是救命稻草!有多少次网站打不开是因为忘了给 HTTPS 证书续期?它能提前几天狂发消息轰炸你,让你想忘都难。

  3. 关键词监控: 比如你的接口虽然返回 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 部署就是耍流氓。

只需要连上你的服务器,复制粘贴下面这行命令:

代码块
JavaScript
自动换行
复制代码
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 – 新增项目,将下面的代码复制到代码黑框内。

代码块
JavaScript
自动换行
复制代码
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,或者负责维护公司的几个内部系统,别犹豫,装上它。

把监控交给它,把觉留给自己。

(如果你也在用什么好玩的开源工具,欢迎评论区安利给我!觉得有用点个*【在看】*防走丢)