經(jīng)過多年的實踐經(jīng)驗,建議將agent ping、Host local time及所有自動發(fā)現(xiàn)的規(guī)則項(不是監(jiān)控項原型里的)都設(shè)置為被動模式,這樣就不會受到系統(tǒng)時間的影響了。將自動發(fā)現(xiàn)的監(jiān)控項設(shè)為被動模式,主要是由于間隔時間太長,導致納管主機的監(jiān)控數(shù)據(jù)很久才出來,這個時候,被動模式的監(jiān)控項就可以使用“check now”的功能了。
監(jiān)控頻率:與主機性能指標有關(guān)的監(jiān)控項,如CPU、內(nèi)存等,建議將頻率調(diào)整為1次/分鐘;而一些信息指標監(jiān)控項,如Host name、Version of zabbix_agent(d) running等,建議將頻率設(shè)置為1次/小時(或更長);對于模板中的自動發(fā)現(xiàn)監(jiān)控項,如Mounted filesystem discovery、Network interface discovery等,也建議將頻率設(shè)置為1次/小時;對于一些容量指標監(jiān)控項,如總內(nèi)存、總文件系統(tǒng)大小等,也都建議將頻率設(shè)置為1次/小時。
告警抑制需求舉例:如果CPU iowait連續(xù)5min都大于20%,則告警{Template OS Linux:system.cpu.util[,iowait].min(5m)}>20,表示5min內(nèi)的最小值大于20%就告警,即只有5min內(nèi)的數(shù)據(jù)都大于20%才告警。基本上所有的告警都可以用類似的方法進行抑制。
對于{Template OS Linux:system.cpu.util[,iowait].avg(5m)}>20,其中的20為固定的值,現(xiàn)在有一種場景:有20臺主機,都套用了Linux的模板,但其中兩臺主機需要將CPU iowait的閾值調(diào)整成10%,其他不變。此時如果設(shè)置成固定的20,那么對于特定機器的閾值調(diào)整很難做到。解決方案如下:將模板中的觸發(fā)器寫成{Template OS Linux:system.cpu. util[,iowait].avg(5m)}>{$CPUIOWAIT},然后在模板的“宏”選項卡中添加一個模板宏“{$CPUIOWAIT}”,值為“20”,如圖1所示。
在大部分情況下,用戶不會去關(guān)心所有Windows系統(tǒng)的服務(wù),但默認模板會將所有的服務(wù)都發(fā)現(xiàn)出來并添加告警。對此,建議將模板中的Windows service discovery關(guān)閉,當有主機需要監(jiān)控服務(wù)時,在主機上開啟,并添加過濾條件來找到需要監(jiān)控的服務(wù),如圖3所示。
圖3
2.Windows性能計數(shù)器監(jiān)控
Zabbix提供了一個很重要的且專屬于Windows的監(jiān)控項鍵值perf_counter [counter, ],通過這個鍵值,就可以監(jiān)控性能計數(shù)器中的數(shù)據(jù)了,如監(jiān)控項Average disk read queue length的鍵值為perf_counter[\234(_Total)\1402]。具體使用方法在官方手冊中有介紹。