服务停止时接收通知(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 接收通知
- Discord 频道设置 → 整合 → Webhook → 新 Webhook → 复制 Webhook URL
- Uptime Kuma 右上角的个人资料 → 设置 → 通知 → 设置通知
- 通知类型选择 Discord,粘贴复制的 Webhook URL,点击 测试 确认后保存
- 在每个监控项的编辑界面中开启此通知。
注意事项
- 如果 Uptime Kuma 与所监控的服务位于同一台服务器,那么服务器本身停止时,它也无法发送通知。服务器本身的状态也可以在个人中心中查看。
- 监控记录保存在
uptime-kuma卷中。更新时,执行docker pull louislam/uptime-kuma:1后删除容器,再用相同的命令重新运行即可。(只要不删除卷,记录就会保留)