如何配置on-prem机器离线时的自动邮件通知告警?
本地部署机器离线自动邮件通知配置方案
1. 基础心跳检测规则配置
- 首先在所有待监控的on-prem机器上部署轻量心跳上报脚本,上报频率建议设置为1~5分钟,上报内容仅需要包含机器ID、IP、当前时间戳即可,无需冗余信息。
- 单独部署一台和业务流水线物理隔离的监控节点,统一接收所有机器的心跳数据,数据可存储在本地SQLite或其他轻量数据库中。
- 配置超时判定规则:如果某台机器连续3次没有上报心跳,即判定为离线状态,避免单次网络波动导致的误报。
2. 流水线联动规则优化
- 修改原有流水线的节点等待逻辑,新增超时判断:如果对目标机器的请求超过10分钟无响应,直接中断当前任务,同时向监控节点上报该机器的异常状态。
- 流水线上报的异常状态优先级高于心跳检测结果,收到后直接触发预警流程,无需等待心跳超时。
3. 邮件通知规则配置
- 预警等级划分:
- 首次判定离线时触发一级预警,发送邮件给运维值班人员,邮件内容需要包含离线机器ID、IP、最后一次心跳时间、关联的流水线任务ID(如果有)
- 离线超过1小时未恢复触发二级预警,抄送运维主管
- 离线超过4小时未恢复触发三级预警,抄送业务负责人
- 避免重复骚扰:同一台机器的同一离线事件,同一预警等级2小时内最多发送1次通知,机器恢复上线后发送恢复通知告知所有收到过预警的人员。
4. 最简快速实现方案(无需额外搭建监控系统)
如果暂时不想搭建完整监控体系,可以直接用定时任务实现:
- 在中控机器上每5分钟执行一次连通性检测,批量检测网段内存活机器,参考命令:
fping -a -g 192.168.1.0/24 2>/dev/null - 对比存活机器列表和已知的机器清单,找出失联机器
- 把失联机器信息通过邮件工具发送到指定邮箱,参考命令:
echo "机器192.168.1.10 离线" | mailx -s "机器离线预警" ops@example.com
内容的提问来源于stack exchange,提问作者user2460953
相关产品推荐
相关产品推荐

