香港服务器部署Uptime Kuma监控:免费开源的网站可用性监控搭建教程

香港服务器部署Uptime Kuma监控:免费开源的网站可用性监控搭建教程

Uptime Kuma:5 分钟搭建自己的监控系统

Uptime Kuma 是 GitHub 上超过 60,000 Star 的开源监控工具,提供美观的状态页面、多种监控类型(HTTP、TCP、Ping、DNS、数据库等)和丰富的告警渠道(Telegram、邮件、微信、钉钉等)。部署极其简单,一行 Docker 命令即可启动。


一、Docker 快速部署

# 最简单的部署方式(单行命令)
docker run -d \
  --restart=always \
  -p 127.0.0.1:3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:1

# 查看启动状态
docker logs uptime-kuma -f

或使用 Docker Compose(推荐,便于管理):

mkdir ~/uptime-kuma && cd ~/uptime-kuma
nano docker-compose.yml
version: '3.8'

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

volumes:
  uptime-kuma_data:
docker compose up -d

二、配置 Nginx 反向代理

sudo nano /etc/nginx/sites-available/uptime-kuma
server {
    listen 80;
    server_name monitor.your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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;
    }
}
sudo ln -s /etc/nginx/sites-available/uptime-kuma /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d monitor.your-domain.com

三、初始设置与添加监控

访问 https://monitor.your-domain.com,首次访问创建管理员账号。

点击右上角 + Add New Monitor 添加监控项:

监控类型用途建议检测间隔
HTTP(s)监控网站是否可访问,检查状态码60 秒
TCP Port监控端口是否开放(如数据库 3306、SSH 22)60 秒
Ping监控服务器网络连通性60 秒
DNS监控域名 DNS 解析是否正常300 秒
MySQL / PostgreSQL直接监控数据库连接是否正常120 秒
SSL 证书监控 SSL 证书到期时间,提前告警每天

四、配置 Telegram 告警

Telegram 是最常用的告警渠道,配置方法:

  1. 在 Telegram 中找到 @BotFather,创建新 Bot,获取 Bot Token
  2. 与 Bot 发送一条消息,然后访问 https://api.telegram.org/bot你的Token/getUpdates 获取 Chat ID
  3. 在 Uptime Kuma 设置 → Notifications → Add Notification:
    • Notification Type:Telegram
    • Bot Token:填入 Bot Token
    • Chat ID:填入 Chat ID
  4. 点击 Test,确认收到测试消息
  5. 将此通知渠道绑定到监控项

五、创建公开状态页

Uptime Kuma 支持创建对外公开的状态页,展示各服务的可用性历史:

  1. Settings → Status Pages → Add New Status Page
  2. 填写页面名称,添加要展示的监控项
  3. 自定义域名(如 status.your-domain.com
  4. 发布后用户可以访问状态页了解服务运行情况

六、数据备份

# 备份 Uptime Kuma 数据
docker cp uptime-kuma:/app/data ~/uptime-kuma/backup/

# 或通过 docker volume 备份
docker run --rm \
  -v uptime-kuma_data:/data \
  -v ~/backup:/backup \
  alpine tar czf /backup/uptime-kuma-$(date +%Y%m%d).tar.gz /data

总结

Uptime Kuma 是目前最易部署、功能最完善的开源监控工具之一。在香港 VPS 上部署,利用 CN2 GIA 低延迟线路,可以更准确地检测到大陆用户的访问体验问题。整个部署流程约 10 分钟,完成后你拥有一套覆盖网站、端口、DNS、SSL 证书的全方位监控体系。

建议将监控服务器与被监控的业务服务器分开部署——这样业务服务器宕机时,监控系统仍然能正常发出告警。IDC.Net 香港云服务器首月 10 元起,512M 内存即可运行 Uptime Kuma,适合作为独立的监控服务器节点,支付宝付款即可开通。

Telegram