监控服务器自己宕了一晚上,期间站点也断过一次,醒来发现平台里没有告警,也没人知道监控曾经不在线。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,探针和告警通道都放在同一台机器上,机器一停,采集 判定 发送一起消失,没有任何外部视角能发现它掉了,也就没人知道。

「监控单点故障」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。改完顺手把文档补一句,省得下次自己重新推一遍。

H=https://hc-ping.com/你的UUID
curl -s -o /dev/null -w '%{http_code}\n' $H
systemctl status uptime-agent

监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

具体做法是,加一个外部心跳,每分钟上报一次,停了自己由第三方告警;告警发送换成独立的服务,别跟探针挤在一台机器;定期主动停一次监控服务,验证告警真的能发出去。

最后用这个标准收尾,停掉监控服务五分钟内第三方发来告警,恢复后心跳记录连续无断点。

作者 9823189