跳到主要内容
← 指南列表

服务停止时接收通知(Uptime Kuma)

如果希望网站或游戏服务器停止时能立即通过 Discord 收到通知,可以使用 Uptime Kuma。这是一款会定期尝试访问您的服务、没有响应时就通知您的免费程序。用 Docker 安装。

1. 安装

如果没有 Docker,请先按照安装和使用 Docker进行安装。

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

这里只绑定到 127.0.0.1,使其无法从外部直接访问。管理界面可以用以下两种方法之一打开。

2. 打开管理界面

方法 A. 通过域名打开(如果要长期使用,推荐此方法)

按照搭建网站设置 Nginx 和 HTTPS,并将 proxy_pass 设为 http://127.0.0.1:3001。Uptime Kuma 使用实时连接(WebSocket),因此请在 location / 中一并加入以下几行。

    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;
    }

方法 B. 通过 SSH 隧道临时打开

在本地电脑的 PowerShell 中执行,然后在浏览器中访问 http://localhost:3001。

ssh -N -L 3001:127.0.0.1:3001 username@server-ip

首次访问时会出现创建管理员账户的界面。请立即创建。

3. 添加要监控的服务

点击 添加新监控项 并选择类型。

监控对象监控类型输入内容
网站HTTP(s)https://your-domain
Minecraft 等游戏服务器TCP Port服务器 IP、端口 25565
服务器是否开启Ping服务器 IP

检查间隔使用默认的 60 秒就足够了。

4. 通过 Discord 接收通知

  1. Discord 频道设置 → 整合 → Webhook → 新 Webhook → 复制 Webhook URL
  2. Uptime Kuma 右上角的个人资料 → 设置 → 通知 → 设置通知
  3. 通知类型选择 Discord,粘贴复制的 Webhook URL,点击 测试 确认后保存
  4. 在每个监控项的编辑界面中开启此通知。

注意事项

  • 如果 Uptime Kuma 与所监控的服务位于同一台服务器,那么服务器本身停止时,它也无法发送通知。服务器本身的状态也可以在个人中心中查看。
  • 监控记录保存在 uptime-kuma 卷中。更新时,执行 docker pull louislam/uptime-kuma:1 后删除容器,再用相同的命令重新运行即可。(只要不删除卷,记录就会保留)

如果问题仍未解决,请在 Discord 提交工单。