发现zabbix监控系统时间的一个问题!
zabbix监控系统时间用的key是system.localtime,返回当前的系统时间,而配置tigger报警时是用的fuzzytime(N)方法,该方法是将返回的系统时间与监控服务器的时间进行对比,如果大于N,则报警。
这样的逻辑就存在两个问题:
1.监控服务器并不一定是ntp服务器:这种情况下也就说是系统时间是与非NTP服务器对比的时间。
2.取到被监控系统的时间,然后再返回给监控服务器,zabbix由于对数据库的写入量很大,2.0以上版本引入了 cache机制,也就是说,系统时间取回来放在cache里放了一会才与本地系统时间进行对比。所以当监控项数量大,或监控出现延时队列的时候。就会产生误报。
所以对服务器时间要求比较高的业务不推荐用zabbix自身的system.localtime来对服务器的时间进行监控。
解决方案:
用zabbix调用nagios-pluins的check_ntp_time进行监控,解决该问题。
阅读(19736) | 评论(1) | 转发(0) |