出发点:
因为nagios的nrpe插件在检测ping时,如果包过多,会有一个检查超时超过30个包nrpe socket就超时了。
后来想了个办法,在本地弄了个脚本来ping 150个包,结合nagios 3分钟检查一次,脚本ping出的结果整合后放到一个临时文件里,让nrpe在触发时去文件里读状态,发报警。
问题来了,如果这台检测的机器异常到目的节点丢包,会导致目标节点被误报,与是乎就想到了仲裁服务器。
仲裁节点一个,消息队列一个,各地检测节点若干。
实现方法:
仲裁节点上部署个httpsqs,httpsqs是基于不同的KEY分别做队列的,各地检查节点部署ping脚本,将结果整合后发送到消息队列,
仲裁节点根据不同的KEY取不同队列然后判断各节点的状态,进行一个综合判断,来决定目标服务器是否异常了。
部分脚本代码
判断脚本并交付nagios的
监控效果图
本文出自 “KAMIO自动运维之路” 博客,谢绝转载!
原文地址:http://kamio.blog.51cto.com/6345503/1982381