配置篇:
概述:使用zabbix監控服務器已有一段時間,監控的服務器不到100臺,發現刷新zabbix頁面有卡頓的現象。而且經常報“Zabbix poller processes more than 75% busy”的錯誤,檢查服務器性能還是有保障的,最後發現zabbix_server.conf既然使用的是默認配置(懶得沒有底線),zabbix_server.conf的很多配置都沒有修改,趕緊腦補了一下,把主要的參數信息優化下。
一、Zabbix服務端的常用參數如下:(參數取值根據服務器配置)
參數 | 必填 | 範圍 | 默認值 | 描述 |
---|---|---|---|---|
CacheSize | no | 128K-8G | 8M | 緩存大小, 單位字節. 服務器分配有4G 設置爲:CacheSize=256M |
CacheUpdateFrequency | no | 1-3600 | 60 | Zabbix 緩存更新頻率, 單位秒.60秒感覺太快了 設置爲:CacheUpdateFrequency=180 |
DebugLevel | no | 0-5 | 3 | 指定調試等級: |
HistoryCacheSize | no | 128K-2G | 16M | 歷史緩存數據大小, 單位字節. 設置爲:HistoryCacheSize=64M |
HistoryIndexCacheSize | no | 128K-2G | 4M | 歷史索引緩存大小, 單位字節. 用於索引歷史緩存中歷史數據的共享內存大小. 緩存一個item大概需要索引的大小爲100字節.item代表一個監控項,按照100000個監控項來算:100000*100/1024/1024=9.6M 設置爲:HistoryIndexCacheSize=10M |
HousekeepingFrequency | no | 0-24 | 1 | Zabbix 執行 housekeeping 的頻率 (單位小時). 從數據庫中刪除過期的信息. 注意: 爲了防止 housekeeper 過載 (例如, 當歷史和趨勢週期大大減小時), 對於每一個item,不會在一個housek週期內刪除超過4倍HousekeepingFrequency 的過時信息. 因此, 如果 HousekeepingFrequency 是 1, 一個週期內不會刪除超過4小時的過時信息 (starting from the oldest entry) . |
StartPollersUnreachable | no | 0-1000 | 1 | 不可達主機 (包括IPMI 和 Java)的輪詢器實例數量。 設置爲:StartPollersUnreachable=20 佔總數20%足夠 |
StartPollers | no | 0-1000 | 5 | 輪詢器實例數量。根據具體情況設置大小 設置爲:StartPollers=30 |
StartDiscoverers | no | 0-250 | 1 | 自動發現子進程實例個數。 設置爲:StartDiscoverers=5 |
StartTrappers | no | 0-1000 | 5 | trappers進程實例數量。 設置爲:StartTrappers=15 |
StartVMwareCollectors | no | 0-250 | 0 | vmware 採集器的子進程實例個數,如果有虛擬機的話,記得開啓。 |
Timeout | no | 1-30 | 3 | agent, SNMP 設備或外部檢查的超時時長(單位秒)。 設置爲:Timeout=6 |
TrendCacheSize | no | 128K-2G | 4M | 趨勢緩存的大小,單位字節。 設置爲:128M |
ValueCacheSize | no | 0,128K-64G | 8M | 歷史數據緩存大小, 單位bytes. 緩存item歷史數據請求的共享內存大小. 0即禁止緩存 (不建議). 當緩存大小超過共享內存時,每5分鐘會向服務器日誌寫入一條警告信息. 設置爲:ValueCacheSize=128M |
二、zabbix監控狀態情況
Zabbix自帶模版監控各工作進程的狀態,根據數據收集過程中的性能做分析,適合調整配置參數。
1、Zabbix cache usage, % free:
圖一爲CacheSize=8M的時候,可用爲70%
設置爲:CacheSize=256M
設置爲:HistoryCacheSize=64M
設置爲:HistoryIndexCacheSize=10M
圖2爲調整CacheSize後,三個觸發器可用都在90%以上。
2、 Zabbix data gathering process busy %
圖3爲調整前的配置信息
設置爲:StartPollers=30
設置爲:StartPollersUnreachable=20
設置爲:StartDiscoverers=5
圖4爲調整後的配置信息,三個觸發器佔用最大都沒有超過50%
4、Zabbix internal process busy %
其中Zabbix busy history syncer processes:寫入數據庫的同步程序佔緩存的百分比在重啓服務時佔用飆升一會,其他基本正常。
5、Preprocessing爲預處理:
使用這個功能可以對item收到的數據行處理,處理之後再存入數據庫或展示出來,提高監控的效率,降低了系統負荷,減少網絡流量
3.4版本的新功能,如果要用到其他程序上去,需要自己創建item,配合使用。
6、Zabbix服務器性能狀態:
其中左側縱座標代表通過zabbix服務器每秒處理的值,圖形中用綠色表示;
右側縱座標代表需要處理寫入數據庫的列隊值,圖形中用紅色表示。等待列隊逐漸增多,說明性能越來越差。
三、Zabbix報錯信息處理
1、Zabbix poller processes more than 75% busy:
2、 icmp pinger processes more than 75% busy
3、zabbix unreachable poller processes more than 75 busy
4、zabbix的WEB界面刷新卡死
5、數據庫連接超出
這類報錯比較多,首先檢查zabbix-server配置信息
StartPollers、StartDiscoverers、StartPingers、StartPollersUnreachable等等,根據上面的【Zabbix服務端的常用參數】覈對下。
然後在檢查:
根據服務器性能狀態、隊列、數據庫配置信息