Uptime Kuma 网站在线监控搭建教程

Uptime Kuma 是一款开源、自托管的网站监控工具,界面美观易用,支持 HTTP(s)、TCP、Ping、DNS、Docker 容器等多种监控方式。它内置了 90 多种通知渠道,还能生成公开状态页面。本文将在搬瓦工 VPS 上使用 Docker 快速部署 Uptime Kuma。

一、环境要求

  • 操作系统:Ubuntu 20.04+ 或其他 Linux 发行版。
  • 内存:256MB 以上即可运行,推荐 512MB。
  • 前置条件:已安装 Docker
  • 端口:默认使用 3001 端口。

二、Docker 快速部署

2.1 一键启动

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

2.2 使用 Docker Compose

创建 /opt/uptime-kuma/docker-compose.yml

mkdir -p /opt/uptime-kuma
cat > /opt/uptime-kuma/docker-compose.yml <<EOF
version: '3.8'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - TZ=Asia/Shanghai
EOF

cd /opt/uptime-kuma
docker compose up -d

挂载 docker.sock 可以让 Uptime Kuma 监控本机 Docker 容器的运行状态。

三、初始配置

部署完成后,通过浏览器访问 http://你的IP:3001,首次访问需要创建管理员账号:

  • 设置用户名和密码。
  • 登录后即可进入监控管理界面。

四、添加监控项

4.1 HTTP(s) 监控

点击「Add New Monitor」,选择 HTTP(s) 类型:

  • Friendly Name:为监控项起一个名称,如「我的博客」。
  • URL:填入要监控的网址,如 https://your-domain.com
  • Heartbeat Interval:检查间隔,建议设为 60 秒。
  • Retries:重试次数,建议设为 3。
  • Accepted Status Codes:默认 200-299,可根据需要调整。

4.2 TCP 端口监控

选择 TCP Port 类型,可以监控特定端口的可用性:

  • Hostname:目标服务器 IP 或域名。
  • Port:目标端口号,如 22(SSH)、3306(MySQL)等。

4.3 Ping 监控

选择 Ping 类型,监控服务器的网络可达性:

  • Hostname:目标服务器 IP 或域名。
  • 可以设置最大响应时间阈值。

4.4 DNS 监控

选择 DNS 类型,监控域名 DNS 解析是否正常:

  • Hostname:要查询的域名。
  • DNS Server:DNS 服务器地址。
  • Record Type:查询类型(A、AAAA、CNAME、MX 等)。

4.5 Docker 容器监控

选择 Docker Container 类型,可以直接监控容器运行状态。前提是部署时已挂载 docker.sock

五、配置通知渠道

点击「Settings」→「Notifications」→「Setup Notification」。Uptime Kuma 支持的通知方式包括:

5.1 邮件通知

  • 选择「Email (SMTP)」类型。
  • 填入 SMTP 服务器地址、端口、账号和密码。
  • 设置收件人地址。

5.2 Telegram 通知

  • 选择「Telegram」类型。
  • 填入 Bot Token(通过 @BotFather 创建)。
  • 填入 Chat ID。

5.3 Webhook 通知

  • 选择「Webhook」类型。
  • 填入 Webhook URL。
  • 可以自定义请求体格式。

六、创建状态页面

Uptime Kuma 可以生成公开的服务状态页面,展示各项服务的在线率:

  • 点击「Status Pages」→「New Status Page」。
  • 设置页面标题和路径。
  • 添加需要展示的监控项,可以分组管理。
  • 自定义页面样式和描述信息。
  • 状态页面的 URL 为 http://你的IP:3001/status/页面路径

七、配置 Nginx 反向代理

生产环境建议使用域名和 HTTPS 访问:

server {
    listen 80;
    server_name status.your-domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name status.your-domain.com;

    ssl_certificate /etc/letsencrypt/live/status.your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/status.your-domain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

注意必须配置 WebSocket 支持(Upgrade 和 Connection 头),否则实时数据更新将无法正常工作。

八、数据备份与恢复

8.1 备份数据

# 备份数据目录
tar czf uptime-kuma-backup-$(date +%Y%m%d).tar.gz /opt/uptime-kuma/data/

# 或备份 Docker 卷
docker run --rm -v uptime-kuma-data:/data -v $(pwd):/backup alpine tar czf /backup/uptime-kuma-backup.tar.gz /data

8.2 恢复数据

# 停止容器
docker compose down

# 恢复数据
tar xzf uptime-kuma-backup.tar.gz -C /

# 重新启动
docker compose up -d

九、版本更新

cd /opt/uptime-kuma

# 拉取最新镜像
docker compose pull

# 重新创建容器
docker compose up -d

# 清理旧镜像
docker image prune -f

十、常见问题

WebSocket 连接失败

如果通过反向代理访问时界面显示「Connecting...」无法加载数据,请检查 Nginx 配置是否包含 WebSocket 升级头。

监控数据不准确

确认 VPS 的网络质量,搬瓦工的 DC6 CN2 GIA 机房网络稳定性最佳。同时检查监控间隔和超时设置是否合理。

总结

Uptime Kuma 是一款轻量但功能强大的自托管监控工具,非常适合在搬瓦工 VPS 上部署。它可以与 GrafanaPrometheus 等工具互补,构建全面的监控体系。选购搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。