Docker 玩法

飞牛NAS部署 Uptime Kuma:服务监控面板

2026-07-30 2 admin

为什么需要Uptime Kuma

在自建NAS或服务器运维中,服务“挂掉”是常见问题。无论是Docker容器崩溃、DDNS解析失效,还是证书过期,被动等待用户反馈往往意味着业务中断。Uptime Kuma是一款开源、轻量的服务监控工具,它不仅能监控HTTP、TCP、Ping等协议,还支持推送通知(如企业微信、Telegram、Bark),并拥有简洁美观的状态页。本文将手把手教你在飞牛NAS(fnOS)上通过Docker部署Uptime Kuma,实现自有服务的实时监控。

前置准备

在开始前,请确保你的飞牛NAS满足以下条件:

  • 已安装并正常运行 Docker 和 Docker Compose(飞牛NAS应用中心可一键安装)
  • 拥有一个固定的局域网IP(如 192.168.1.100),或已配置好DDNS域名
  • 计划开放的端口(如 3001)未被占用

部署方式:Docker Compose(推荐)

使用Docker Compose可以持久化配置数据,便于迁移和备份。以下是完整的部署步骤。

第一步:创建目录结构

通过SSH连接飞牛NAS,或直接在文件管理器中新建文件夹。建议统一在 /docker 下管理容器。

mkdir -p /docker/uptime-kuma/data
cd /docker/uptime-kuma

第二步:编写docker-compose.yml

/docker/uptime-kuma 目录下创建 docker-compose.yml 文件,内容如下:

version: '3.8'
services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: always
    ports:
      - "3001:3001"   # 左侧为宿主机端口,可按需修改
    volumes:
      - ./data:/app/data   # 持久化数据
    environment:
      - TZ=Asia/Shanghai   # 设置时区

第三步:启动容器

执行以下命令拉取镜像并启动容器:

docker-compose up -d

等待几秒后,运行 docker ps 确认容器状态为 Up。若启动失败,检查端口是否被占用(例如 lsof -i:3001)。

第四步:访问初始化页面

打开浏览器,输入 http://你的飞牛NAS的IP:3001。首次访问会进入管理员账号设置界面,依次填写用户名、密码和邮箱即可完成初始化。

配置监控项实战

1. 添加第一个HTTP监控

登录后点击右上角“添加监控”,按以下示例填写:

  • 监控类型:HTTP
  • 名称:飞牛NAS WebUI
  • URL:http://192.168.1.100:8001(请替换为你的NAS实际端口)
  • 检查间隔:60秒
  • 超时时间:30秒
  • 通知:暂时不选,后续配置

点击“保存”后,监控面板将显示该服务的实时状态。绿色表示正常,红色表示异常。

2. 配置Ping监控(局域网设备)

对于路由器、打印机等设备,选择“Ping”类型,填入IP地址即可。注意:Ping监控需要容器具备ICMP权限,默认部署即可正常工作,无需额外设置。

3. 配置SSL证书监控

Uptime Kuma支持监控SSL证书到期时间。添加监控时选择“SSL证书”,填入域名(如 blog.yourdomain.com),设置“证书到期前7天”告警。搭配通知推送,可避免证书过期导致的服务中断。

集成通知推送(以企业微信为例)

当服务宕机或恢复时,Uptime Kuma可自动发送通知。下面以企业微信机器人Webhook为例:

  1. 在企业微信群中添加机器人,获取Webhook地址。
  2. 在Uptime Kuma左侧菜单点击“设置” -> “通知” -> “添加通知”。
  3. 选择“企业微信机器人”,粘贴Webhook URL,并自定义通知标题。
  4. 保存后,在监控项编辑中勾选该通知。

其他常用通知方式:Telegram、Bark(iOS)、PushDeer等,配置逻辑类似,均需获取对应的API凭证。

进阶:设置公共状态页

Uptime Kuma内置了状态页功能,可生成一个公开的页面展示所有服务状态。适合给客户或团队成员查看。

  1. 点击左侧“状态页” -> “添加状态页”。
  2. 设置页面标题、主题色、Logo(可选)。
  3. 在“监控项”列表中选择需要展示的服务。
  4. 开启“公开状态页”开关,获取访问链接(如 http://你的IP:3001/status/你的页面标识)。

注意:若需通过域名访问,建议在反向代理(如Nginx Proxy Manager)中为Uptime Kuma配置子域名,同时将状态页设置为公开。

常见问题与排错

容器启动后无法访问

检查飞牛NAS的防火墙是否放行了3001端口,或者是否与已有端口冲突。可尝试更换宿主机端口(例如 8081:3001)。

监控项持续显示“Down”

  • 确认监控URL能在局域网内正常访问。
  • 检查容器网络模式(默认bridge),若监控目标位于宿主机,可尝试使用 host 网络模式:在compose文件中添加 network_mode: host,但注意此时端口映射配置失效。

数据迁移与备份

只需备份 /docker/uptime-kuma/data 目录下的文件。在新环境中恢复时,同样挂载该目录即可保留所有配置。

总结

通过飞牛NAS部署Uptime Kuma,你拥有了一个轻量、可自定义的监控中枢。它不仅能实时展示服务状态,还能通过多种渠道主动告警,让运维从“被动响应”转变为“主动感知”。配合飞牛NAS的稳定硬件,这套方案几乎零成本,却能为你的个人云服务提供专业级的监控保障。现在就去动手部署,告别服务“裸奔”吧。