Uptime Kuma 很适合做个人站点和小团队的第一套监控。它的优点不是“特别重”,而是足够轻、界面直观、上手门槛低。你可以用它持续检查博客、接口、反向代理和内网服务是否在线,服务一旦异常,面板会第一时间标红。
它适合放在什么位置
如果你已经有几台自部署服务,比如博客、代码仓库、AI 工具和反向代理,那么 Uptime Kuma 就可以充当统一的状态面板。它不替代 Prometheus 这类复杂监控系统,但在“先知道服务挂没挂”这件事上已经非常够用。
最小 compose 示例
下面就是一个很常见的最小配置,核心是把数据目录挂载出来,这样重启或升级容器后不会丢监控配置:
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: unless-stopped
volumes:
- ./data:/app/data
如果你暂时没有接反向代理,通常还会再补一行端口映射,例如 3001:3001,这样浏览器可以直接访问管理界面。
推荐的目录与启动命令
我习惯把每个服务单独放在一个目录里,结构简单,备份也方便:
mkdir -p ~/apps/uptime-kuma
cd ~/apps/uptime-kuma
mkdir -p data
把 compose.yml 写好后,直接启动:
docker compose up -d
docker compose ps
后续更新也很直接:
docker compose pull
docker compose up -d
首次进入后先做什么
第一次打开面板,先创建管理员账号,然后优先添加几个最关键的检查项:主页、API、反向代理入口和数据库外层健康检查。这样做的好处是,一旦外部访问异常,你能快速判断是单个应用挂了,还是统一入口出了问题。
监控类型方面,HTTP(s) 检查适合网页和接口,TCP 适合端口存活探测,Ping 更适合基础连通性判断。不要一开始就加太多复杂通知,先把“监控对象是否正确”这件事跑稳定。
生产环境里的几个实用建议
第一,./data 目录要纳入备份,因为监控项、通知渠道和状态页配置都在这里。第二,如果你用的是反向代理,记得给 Uptime Kuma 自己也做一条监控,避免“监控系统挂了但没人知道”。第三,状态检查间隔不要设置得过短,个人站点一般 60 秒到 180 秒已经足够,没必要给目标服务增加额外压力。
什么时候该从它继续往上升级
当你开始需要看 CPU、内存、磁盘、容器日志和长期趋势图时,Uptime Kuma 就不是全部答案了。这时可以把它继续保留为“故障告警入口”,再配合更完整的指标系统。它最合适的定位,始终是轻量可用性监控,而不是全栈可观测平台。