Uptime Kuma 监控告警:NAS、VPS、摄像头在线状态一屏看清

Uptime Kuma 监控告警:NAS、VPS、摄像头在线状态一屏看清

夜影
2026-10-28 / 0 评论 / 3 阅读 / 正在检测是否收录...

Uptime Kuma 监控告警:NAS、VPS、摄像头在线状态一屏看清1.png

前言:家里服务一多,靠“感觉”就不够用了

群晖 NAS、VPS、摄像头、图床、博客……家里和云上的服务一多,最怕的不是某一个挂了,而是挂了半天你还不知道。等要用的时候才发现 NAS 的某个容器早停了、VPS 的网站打不开了、摄像头离线了,那种被动是最难受的。

之前写过一篇Komari 轻量服务器监控,Komari 强在看服务器本身:CPU、内存、磁盘、流量这些指标一目了然。但它回答不了另一个问题——“我的某个服务现在到底通不通?”这正是 Uptime Kuma 的位置:它不看机器有多累,只盯着服务在不在、响应快不快,挂了立刻告警。

一句话总结分工:Komari 看机器状态,Uptime Kuma 看服务存活。两个都装上,才算把监控补齐。

Uptime Kuma 干什么用

Uptime Kuma 是一个开源的自托管监控面板,界面就是一个大看板:每个监控项绿就是通、红就是断,还能看到最近的响应时间和可用率曲线。

它适合盯这些东西:

  • 群晖 NAS 的 DSM 网页、Web Station 站点、Docker 里跑的某个服务
  • VPS 上的网站、反代入口、SSH 端口
  • 摄像头的 Web 管理页、NVR 的管理页(用 HTTP/TCP/Ping 判断在线)
  • 家里的路由器、软路由、图床、相册等一切有地址的服务

监控类型很全:HTTP/HTTPS、TCP 端口、Ping、DNS、Docker 容器状态、关键词匹配(页面里必须出现某个词才算正常)等。告警通道也全:Bark、邮件、Telegram、Webhook 等,手机上第一时间就能收到。

最重要的是:它本身也只是一个 Docker 容器,部署成本极低,跑在群晖上正合适。

Docker 一键部署:群晖 Container Manager 实战

准备工作

  • 一台能跑 Docker 的群晖 NAS(DSM 7.2 的 Container Manager),或任意一台 VPS
  • 给 Uptime Kuma 留一个端口,默认是 3001
  • 一个用来持久化数据的目录,否则容器一删监控数据全没了

方法一:Container Manager 图形界面(推荐新手)

  1. 在群晖 File Station 里新建文件夹,例如 docker/uptime-kuma/data。
  2. 打开 Container Manager → 项目 → 新增,项目名称填 uptime-kuma,路径选刚才的文件夹。
  3. 把下面的 Compose 内容粘贴进去,点下一步完成,容器就会自动拉起。

方法二:docker-compose(VPS / 命令行通用)

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma-data:/app/data
    ports:
      - 3001:3001
    restart: unless-stopped

启动命令:

docker compose up -d
docker compose logs -f uptime-kuma

看到日志里没有报错,就可以打开 http://NAS内网IP:3001。第一次打开会让你创建一个管理员账号和密码,记好——这就是以后进监控面板的账号。

方法三:单条 docker run

docker run -d \
  --name uptime-kuma \
  -p 3001:3001 \
  -v uptime-kuma-data:/app/data \
  --restart=unless-stopped \
  louislam/uptime-kuma:1

三种方法本质一样,选顺手的一种就行。群晖用户建议用 Compose 项目的方式,以后升级、改端口都在一个地方改,不用来回敲命令。

添加监控:NAS、VPS、摄像头一次加齐

进面板后点右上角“添加监控项”,先从最关键的几个开始加,不要一上来就加几十个,把自己看晕了。

1. 群晖 NAS 本身

  • 类型选 HTTP(s),地址填 http://NAS内网IP:5000(如果开了 HTTPS 就填 5001 端口)
  • 心跳间隔建议 60 秒,重试 2 次再判为断线,避免网络抖一下就误报
  • 名字写清楚,例如“群晖 DSM”

2. VPS 上的网站

  • 类型选 HTTP(s),填网站域名
  • 可以顺手打开“证书过期提醒”思路:Uptime Kuma 会在证书快过期时在面板里提示,配合告警就不会再出现证书过期了才发现的尴尬
  • 如果网站走了反代,建议直接监控最终用户访问的域名,而不是只监控内网端口,这样才真正等于用户视角

3. 摄像头和 NVR

摄像头一般不建议直接监控视频流地址,那个地址本身就不稳定。实用的做法是:

  • Ping 摄像头内网 IP:通就说明设备在线、网络没断
  • TCP 监控 554(RTSP)或 8000(ONVIF)端口:端口通说明服务进程还在
  • HTTP 监控摄像头或 NVR 的 Web 管理页:页面能打开,基本等于整机正常

这三层从“设备在”到“服务在”逐步收紧,组合起来误报最少。之前那篇群晖 Surveillance + 海康/大华摄像头 + NVR 联动存录像实战里讲的录像链路,也可以用这种方式顺手盯住。

Uptime Kuma 监控告警:NAS、VPS、摄像头在线状态一屏看清2.png

4. Docker 容器状态(进阶)

如果你把 Uptime Kuma 和被监控的容器放在同一台机器上,还可以用 Docker 监控类型直接盯容器:容器一停就告警,比只盯端口更直接。不过要注意:Uptime Kuma 容器本身需要能访问 Docker 守护进程,配置时要按官方文档挂载 Docker socket,权限给多了有风险,不熟悉的话先用 HTTP/TCP 方式,够用了再上这一步。

5. 关键词监控(防“假活”)

有些服务会出现“端口通、页面能打开,但内容已经错了”的假活状态。这时可以用 HTTP 关键词监控:要求返回页面里必须包含某个词(例如你博客的标题、某个服务的特征词),没出现就判为异常。这个小功能在监控网站时特别实用。

告警接通:挂了第一时间推到手机上

只看面板不接告警,监控就只完成了一半。Uptime Kuma 的告警是在“设置 → 通知”里配的,配好后在每个监控项里勾选对应的通知方式。

Bark 告警(iPhone 用户首选)

  1. 手机上装好 Bark,拿到自己的推送地址(形如 https://api.day.app/你的Key/)。
  2. Uptime Kuma 里新增通知,类型选 Bark,填入这个地址。
  3. 点“测试”发一条,手机能收到就说明通了。

Bark 的好处是轻、不依赖邮箱,手机上不用再装新应用。

邮件告警(通用兜底)

  1. 新增通知,类型选 SMTP。
  2. 填发件邮箱的 SMTP 服务器、端口、账号密码(建议用邮箱的专用授权码,不要填登录密码)。
  3. 收件人填你常用的邮箱,测试一封能收到即可。

建议 Bark 和邮件至少配一个,最好两个都配:Bark 负责“立刻知道”,邮件负责“留底可查”。告警文案里会带上是哪个监控项断了、断了多久,收到后不用再进面板猜。

告警策略的小经验

  • 心跳间隔不要设得太短:20 秒一次看着爽,但对 VPS 和内网设备都是负担,60 秒是家用场景的平衡点。
  • 重试次数设 2~3 次:网络抖动、路由器重启那几十秒不应该算一次故障。
  • 维护窗口记得用:计划内的 NAS 重启、VPS 升级前,先在 Uptime Kuma 里给相关监控项开维护时段,免得半夜被自己计划内的操作吵醒。

状态页:给家人和自己一个“服务状态”入口

Uptime Kuma 还能生成一个公开状态页:把你想公开的监控项放上去,别人打开就能看到“博客正常、图床正常、相册正常”这样的总览。不用公开全部,只放对外服务即可;内网摄像头、NAS 管理页这种千万别放进公开状态页。

状态页的另一个用处是自查:扫一眼比逐个打开服务快得多。

实测小结:跑了一段时间后的真实感受

这套组合在我这边跑下来的感受是:

  • 部署确实一键:一个 Compose 文件、一个数据卷,十分钟内能跑起来。
  • 面板够直观:绿色一片就是安心,红色一项就能立刻定位到是哪个服务。
  • 告警够及时:Bark 一推,基本就是故障发生后一分钟内的事,比“用户反馈”早得多。
  • 资源占用很小:家用规模下对 NAS 几乎没有可感知的负担,适合长期挂着。

它替代不了 Komari 那种看机器指标的监控,也替代不了群晖 3-2-1 备份方案那种数据层面的兜底——监控只能告诉你“出事了”,备份才能保证“出事了还能恢复”。这三层各司其职,别指望一个工具包打天下。

避坑清单

  • 数据卷别忘挂:没挂 /app/data 的话,容器重建后所有监控项和历史都要重配,这是新手最常见的坑。
  • 别用 latest 乱升级:生产在用的监控,镜像标签建议固定大版本(例如 louislam/uptime-kuma:1),升级前先备份数据卷。
  • 监控 Uptime Kuma 自己:监控面板本身挂了就没人告警了,重要的对外服务建议再配一个外部视角(例如 VPS 上再跑一个轻量实例互盯,或者用公网监控服务做兜底)。
  • 内网地址别放公网状态页:状态页只放对外服务,内网 IP、内网端口不要出现在公开页面上。
  • 反代后注意端口:如果用 Lucky 或其他反代把 3001 映射出去,记得给面板加上强密码,最好再套一层访问控制,不要裸奔在公网上。
  • 摄像头监控别贪多:十几个摄像头每个都设 20 秒心跳,内网会被无意义的探测流量打满,60 秒、Ping 为主就够了。

怎么卸载

不想要了也很简单,数据清得干净:

docker compose down
# 再删掉 uptime-kuma-data 数据目录

Container Manager 图形界面的用户:项目里点停止、删除项目,再到 File Station 里删掉对应的数据文件夹即可。卸载前如果状态页或告警配置以后还想用,先把数据卷备份一份,几十 MB 的事。

结语

家里服务越多,越需要一个“替你盯着”的角色。Uptime Kuma 不花哨,就是把“通不通”这件事做到位:部署一键、看板一屏、挂了立刻推到手机上。配合 Komari 看机器、配合备份保数据,这套家用监控组合才算完整。

如果你家里也已经有 NAS、VPS、摄像头这几样,不妨花十分钟把它装上——下一次服务挂掉时,第一个知道的人会是你,而不是来找你的家人。

相关旧文

0

评论 (0)

取消