日常妙招屋
白蓝主题五 · 清爽阅读
首页  > 网络监控

网络监控告警通知收不到?这几个地方赶紧查

前两天老张急匆匆跑来找我,说公司服务器出问题了,可监控系统啥动静都没有。一问才知道,告警通知根本没收到。这种情况其实挺常见的,别以为设好了就万事大吉,很多小细节一忽略,通知就石沉大海了。

先看是不是手机或邮箱的问题

有人把告警发到邮箱,结果塞进垃圾邮件文件夹;有人用企业微信或钉钉推送,但手机静音或者应用被后台杀掉了。建议拿另一台设备试试接收测试消息,比如让同事发个测试通知,看看能不能第一时间弹出来。

检查监控系统的通知配置有没有填错

像Zabbix、Prometheus这类工具,配置告警通道时得填邮箱地址、Webhook地址或者手机号。手抖打错一个字母,通知就发不下去。特别是换过手机号或邮箱后忘了更新,最容易中招。登录系统后台,找到“告警媒介”或“通知方式”那块,逐项核对一遍。

防火墙或网络策略拦了Webhook请求

如果你是通过Webhook把告警推送到钉钉或企业微信,得确保服务器能正常访问外网。有些公司内网策略严,出站请求全被拦了。可以临时在服务器上用curl命令测试一下:

curl -X POST -H \"Content-Type: application/json\" -d \'{\"text\": \"test alert\"}\' https://oapi.dingtalk.com/robot/send?access_token=your_token_here

如果返回超时或拒绝连接,那就是网络问题,得找网络管理员开个口子。

告警规则压根没触发

有时候不是通知收不到,而是根本没产生告警。比如你设置了“CPU超过90%持续5分钟才告警”,结果只飙到85%,那就不会触发。去监控面板看看最近的指标曲线,确认有没有达到阈值。也可以手动模拟一个异常,比如把测试服务器负载拉高,看会不会收到提醒。

脚本类通知执行失败

有些高级用户喜欢写自定义脚本来发短信或打电话,这时候得看脚本日志。比如Linux下用shell调用短信接口,权限不够或者依赖包缺失都会导致执行失败。查看对应日志路径,常见的是/var/log/下的自定义记录文件,看有没有报错信息。

时间同步也不能忽视

监控系统和目标服务器时间差太多,可能导致事件判定出错。比如服务器时间慢了10分钟,告警事件可能被误判成“未发生”。用ntpdate或chrony同步一下各节点时间,保证误差在1秒以内。

去年我们小区物业的网络监控就出过这问题,摄像头断线半天没人发现,后来一查是告警绑定的微信号换了人,一直没更新。所以定期做一次告警连通性测试,真有必要。每个月发个测试通知,群里吼一声‘收到请回复’,比出事后再补救强多了。