它是什么
Uptime Kuma 是一款用 JavaScript 编写的开源自托管监控工具,由一个 Node.js 后端和一个响应式 Web 控制台组成。把它部署在自己的 VPS、NAS 或家用小主机上,它就会按设定的间隔去探测你的网站、端口、DNS 记录或自建服务是否正常,一旦发现掉线、超时或返回内容不符合预期,立刻通过消息渠道推送到手机。可以把它理解为「自建版的 UptimeRobot」——数据完全握在自己手里,没有免费额度限制,也不用把站点清单交给第三方。项目在 GitHub 上已积累近 9.4 万 star,Docker 镜像拉取量极大,是自托管圈子里事实上的标配工具。
核心功能
- 监控类型丰富:支持 HTTP(s)、TCP 端口、网页关键词匹配、JSON 查询断言、WebSocket、Ping、DNS 记录、Push 心跳、Steam 游戏服务器以及 Docker 容器状态。
- 秒级探测与延迟曲线:最短 20 秒间隔,配合历史延迟图表、可用率百分比和 HTTPS 证书到期信息,一眼看清服务健康状况。
- 90+ 通知渠道:Telegram、Discord、Slack、Gotify、Pushover、SMTP 邮件等主流方式基本全覆盖,可分别绑定到不同监控项。
- 多状态页:可为不同项目创建独立的状态页,绑定自定义域名对外展示,适合向客户或用户公示服务可用性。
- 安全与易用细节:支持两步验证(2FA)、多语言界面、代理配置与多用户登录,UI 响应快、观感现代。
适用场景
- 个人站长与独立开发者:监控博客、API 接口、VPS 是否在线,宕机第一时间收到消息。
- 自建服务玩家:为 NAS 上的 Jellyfin、Home Assistant、数据库、反代等内网服务做健康检查。
- 小团队对外公示:用状态页向客户展示「当前服务正常」,减少客服压力。
- 定时任务看门狗:备份脚本、爬虫跑完后向 Push 监控上报一次心跳,超时未上报即告警。
上手建议
- 优先用 Docker Compose 部署:建一个目录,下载官方 compose.yaml 后执行
docker compose up -d,浏览器访问 3001 端口即可,比源码安装省心得多。 - 数据目录必须落在本地磁盘:官方明确不支持 NFS 等网络文件系统,挂载错了会导致数据库异常甚至丢数据。
- 做好访问控制:若只想本机访问,把端口映射改成
127.0.0.1:3001:3001,再套一层反向代理加 HTTPS 对外,别把管理面板直接暴露在公网。 - 先配通知,再加监控:首次登录设置管理员账号后,优先打通一个通知渠道(Telegram Bot 最省事),否则后面的告警等于白发。
- 合理设置探测频率:重要站点 60 秒足够,不必全部拉到 20 秒,避免被目标站限流或触发风控。
- 认准官方来源:搜索结果顶部存在仿冒站点,安装请以 GitHub 仓库中的说明为准。