Uptime Kuma 是一款开源、自托管的网站与服务可用性监控工具。它把定时探测、故障通知、证书信息和公开状态页集中在一个后台中,适合站长、小型运维团队与 homelab 用户掌握自己的监控数据。它主要回答“服务还能不能访问”,并不替代日志检索、应用性能追踪或完整的服务器指标平台。
监控类型怎样选择
同一个服务可以从不同角度检查。只做 Ping 不能证明网页正常,只检查 HTTP 状态码也未必能发现接口返回了错误内容。配置前应先定义希望确认的结果,再选择探测方式。
| 监控方式 | 适合对象 | 能发现的问题 | 主要边界 |
|---|---|---|---|
| HTTP/HTTPS、关键词、JSON | 网站、API、健康检查页 | 无法访问、状态异常、正文或字段不符合条件 | 不能代替完整业务流程测试 |
| TCP、Ping | 端口、主机和网络设备 | 连接失败或主机不可达 | 端口在线不代表应用功能正确 |
| DNS Record | 域名解析 | 记录不可查询或结果不符合预期 | 不直接检查解析后的网页内容 |
| Push | 备份、定时任务、批处理 | 任务没有按期主动报到 | 任务内部结果仍需自行定义 |
| Docker Containers | 本机或远程 Docker 容器 | 容器状态异常 | 需要高权限访问 Docker Daemon |
网站与 API
普通网站可以从 HTTP 状态开始;登录页、支付回调或 API 健康检查更适合追加关键词或 JSON 条件。这样可以避免服务器返回一个“200 OK”的错误页面时仍被判定为正常。
定时任务与备份
无法被外部轮询的任务可使用 Push 监控,在执行成功后主动访问指定地址。这里监控的是“是否按时上报”,如果还要确认备份文件大小、校验值或远端副本,则需要在任务脚本中完成额外检查。
部署方式与运行条件
Docker 部署
官方提供 Docker Compose 和单条 Docker 命令示例,容器默认通过 3001 端口提供后台。正式使用时应为数据目录配置持久化卷,安排数据库与配置备份,并在升级前查看官方更新说明。官方还明确指出 NFS 文件系统不受支持,数据目录应映射到本地目录或本地卷。
非 Docker 安装
当前官方文档要求 Node.js 20.4 或更高版本,并列出常见 Linux 发行版与 Windows x64 支持。非 Docker 方式通常还需要 Git 和进程管理工具。无论采用哪种方式,反向代理、HTTPS、系统更新和故障恢复都由部署者负责。
告警与状态页如何配合
告警用于内部响应
Uptime Kuma 支持最低 20 秒探测间隔和 90 多种通知服务。每个监控项可以按实际值班渠道设置通知,但不宜为了“渠道越多越好”重复发送同一故障。先测试恢复通知、重复告警和夜间策略,能减少真实故障发生时的消息噪音。
状态页用于对外说明
官方支持多个状态页、状态页绑定域名、证书信息、代理和双因素认证。公开页适合展示用户真正关心的服务状态,不应暴露内部主机名、管理地址或基础设施拓扑。告警和状态页可以共用监控数据,但受众与信息粒度不同。
Docker 容器监控的权限风险
如果要读取宿主机容器状态,官方方案需要挂载 Docker Socket 或开放 Docker API。官方文档明确警告,这会让 Uptime Kuma 获得对宿主机 Docker Daemon 的完整控制;容器一旦被攻破,攻击者可能进一步控制宿主机。使用这种监控类型时,不宜把同一实例直接暴露到互联网,并应限制网络、账户和凭证范围。
许可、适用场景与不足
Uptime Kuma 的官方许可证是 MIT。它适合监控网站、接口、网络服务、家庭服务器和轻量级任务,并向用户提供状态页;自托管也方便自行决定数据保留与通知渠道。代价是服务器费用、升级、备份和安全维护都不会消失。
- 适合:需要自主管理可用性探测、告警和状态页,并具备基本部署能力。
- 需要搭配其他系统:需要 CPU、内存、日志、分布式追踪、复杂权限审计或商业 SLA 支持。
数据统计
相关导航
把需求风险转成接口、功能和性能测试计划
aaPanel
支持 LEMP/LAMP、网站、数据库、计划任务与安全管理的国际版 Linux 面板
Sealos
从镜像、资源和状态服务部署可维护云原生应用

CyberPanel
基于 OpenLiteSpeed 的开源服务器托管面板
JumpServer
为临时运维配置限时资产权限并审计会话
1Panel
开源 Linux 服务器运维面板,整合网站、数据库、容器、证书与备份管理
KubeSphere
用工作空间、项目和配额建立 Kubernetes 租户边界
Apache HertzBeat
用无代理采集模板接入异构资产并验证告警链路
暂无评论...
