用 Uptime Kuma 搭自己的拨测告警
发布时间:2026-03-20 17:36       
更新时间:2026-03-20 19:02
服务器出了故障,理想的发现顺序是:监控系统先报警,运维第二,用户最后。Uptime Kuma 是一个开源的拨测工具——从外部持续模拟访问、探测站点可用性,部署只要十分钟,缺的往往只是没人去装。
一、部署
用 Docker 最省事,一条命令:
docker run -d --restart=always -p 3001:3001 -v /opt/kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
数据卷 /opt/kuma 保存全部配置和历史记录。浏览器访问 http://192.0.2.10:3001 创建管理员账号。注意 3001 端口不要对公网开放:用防火墙限制来源 IP,或前置 Nginx 加访问认证。
二、加监控项
"添加监控项"选 HTTP(s) 类型,填站点 URL,探测间隔默认 60 秒,要更灵敏可调到 30 秒。除了首页,把登录、下单这类关键接口各加一条,监控项按服务分组命名,故障时一眼看出影响面,可用率曲线对每次故障都有留痕。证书监控单独建一项,开启证书到期提醒,提前一个月通知换证书,别再被证书过期打个措手不及。
三、配通知渠道
"设置 - 通知"里支持邮件、Webhook(把事件推送到指定网址)、即时通讯群机器人等几十种渠道。国内团队实用的是 Webhook 对接企业群机器人,配好勾选"应用到所有监控项"。告警条件建议设连续 2 次失败才触发,网络抖动不至于连环误报。
四、与内部监控互补
Kuma 站在服务器外面探测,回答"用户能不能访问";服务器内部的资源监控(CPU、内存、磁盘)回答"为什么不能访问",云平台或面板提供的告警属于后一种。两边各管一段,都配齐才算完整的监控。探测节点的位置也有讲究:用户主要在境内,就拿境内的另一台机器跑 Kuma,境外探测结果会混入跨境链路波动,参考价值打折。
部署完故意停掉一个测试服务,走一遍从故障到通知送达的完整链路,确认真的通了再交给它值守。