分類: 監控
2013-03-19 21:40:11
發現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進行監控,解決該問題。
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進行監控,解決該問題。
---恢復內容結束---