跳到正文
零樱钰
返回

用 Uptime Kuma 搭一个轻量好用的服务监控面板

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 就不是全部答案了。这时可以把它继续保留为“故障告警入口”,再配合更完整的指标系统。它最合适的定位,始终是轻量可用性监控,而不是全栈可观测平台。


分享到:

上一篇
用 Browserless 提供稳定的无头浏览器服务