Zabbix discoverer processes 75% busy

Zabbix是一款高性能的分佈式監控報警系統。比如現在常見的家用臺式機配置處理器I5-3470、內存4GB1600MHz、硬盤7200rpm就能夠監控1000臺左右的HOST,是的沒錯Zabbix就是可以達到這樣的高性能。Zabbix運行時間長了會出現小小的瓶頸,小小瓶頸中最大的瓶頸是數據庫。怎樣解決瓶頸,提供一些可能的方法。

首先在zabbix-server上也裝上zabbix-agent,並啓用Template App Zabbix Server模板,監控zabbix-server服務內部的各項參數。啓用模板後會新增加相應的監控項item、圖形graph、觸發器trigger。

類似這樣的監控項會增加不少zabbix02e

新增加的圖形zabbix02a

類似這樣的觸發器也會增加很多zabbix02b

然後當Zabbix Server出現性能瓶頸的時候就會發出報警,根據觸發器的報警項,來更改zabbix-server的配置參數來適應當前工作環境環境。

下面分析可能出現的情景

1、關於 Zabbix data gathering process busy 問題(server收集數據時zabbix-server各個進程的性能監控)
監控項如下:zabbix02c

比如discoverer監控項報警:“Zabbix discoverer processes 75% busy”其實這時候查看這項的監控圖或監控值可能達到了100%。
解決方法。編輯配置文件/usr/local/zabbix/etc/zabbix-server.conf,將StartDiscoverers參數增大,默認爲1,將該參數增大到合適的數值,比如5.然後重啓zabbix-server就好了,如果開啓discoverer服務進程的利用率還繼續飆高則繼續增大discoverer啓動進程數。

[root@Zabbix-Server ~]#vim /usr/local/zabbix/etc/zabbix-server.conf
StartDiscoverers=5
[root@Zabbix-Server ~]#/etc/init.d/zabbix_server restart

比如 ipmi pinger監控項報警:“Zabbix icmp pinger processes more than 75% busy”,同樣更改server的配置文件,增大參數StartPingers,由默認的1改爲合適的數值,比如5。然後重啓zabbix-server就好了。

[root@Zabbix-Server ~]#vim /usr/local/zabbix/etc/zabbix-server.conf
StartPingers=5
[root@Zabbix-Server ~]#/etc/init.d/zabbix_server restart

這個進程負載監控圖各個監控項對應配置文件的參數和默認值如下,當某個進程負載過高時調整相應的值:

Zabbix busy trapper processes, in %                   StartTrappers=5
Zabbix busy poller processes, in %                      StartPollers=5
Zabbix busy ipmi poller processes, in %               StartIPMIPollers=0
Zabbix busy discoverer processes, in %                StartDiscoverers=1
Zabbix busy icmp pinger processes, in %              StartPingers=1
Zabbix busy http poller processes, in %                StartHTTPPollers=1
Zabbix busy proxy poller processes, in %              StartProxyPollers=1
Zabbix busy unreachable poller processes, in %    StartPollersUnreachable=1
Zabbix busy java poller processes, in %                 StartJavaPollers=0
Zabbix busy snmp trapper processes, in %            StartSNMPTrapper=0
Zabbix busy vmware collector processes, in %       StartVMwareCollectors=0

2、關於 Zabbix cache usage 問題(server各種緩存數據空閒值的監控)
監控項如下:zabbix02d
這個緩存監控圖各個監控項對應配置文件的參數和默認值如下,當某項buffer不夠時增大容量到合適的值:

Zabbix-server: Zabbix trend write cache, % free TrendCacheSize=4M
Zabbix-server: Zabbix configuration cache, % free CacheSize=8M
Zabbix-server: Zabbix text write cache, % free HistoryTextCacheSize=16M
Zabbix-server: Zabbix history write cache, % free HistoryCacheSize=8M
Zabbix-server: Zabbix value cache, % free ValueCacheSize=8M
Zabbix-server: Zabbix vmware cache, % free VMwareCacheSize=8M

3、監控項Item得設置合適的數據採樣間隔interval,一般不要小於1分鐘,對於長時間不變的量如內存總大小、磁盤總大小等應該儘量間隔時間大點比如一天(1d)或一週(1w)。

4、實在Host太多,還能怎樣只能拆分架構,採用分佈式架構減輕zabbix server 的壓力,將這些壓力分擔到proxy上去。

5、歷史數據是數據庫爆滿的主要原因。減少歷史數據的保存時間,默認是90天,可以調成7天或更少,放心zabbix還保存着趨勢數據,宏觀上歷史數據不會丟。

6、對history類型的(history、history_uint等)大表進行拆分操作,關閉housekeeper禁止自動定期清除歷史記錄數據,因爲對於數據庫特別是對於InnoDB引擎大數據刪除貌似很蛋疼。

轉載請註明出處:http://www.xiaomastack.com/2014/10/10/zabbix02謝謝!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章