關於zabbix運行期間的斷點問題


 斷圖現象

     今天看到zabbix發送screen的郵件顯示所有服務器system的圖表出現了一部分的斷點,主要時間集中在14:57--15:01;15:32-15:39之間以下是截取的zabbix圖形:

貌似提示連接中斷

可能出現的原因

1.同時這種問題也有可能是zabbix-server監控的主機太多了,並且監控方式為被動

2、當主機數量過多的時候,由Server端去收集數據,Zabbix會出現嚴重的性能問題,主要表現如下:

1、Web操作很卡,容易出現502

2、圖層斷裂

3、開啟的進程(Pollar)太多,即使減少item數量,以后加入一定量的機器也會有問題

所以下面主要往兩個優化方向考慮:

1、用Proxy或者Node模式做分布式監控

2、調整Agentd為主動模式

由於第一個方案需要增加物理機器,所以先嘗試第二方案

一、Agentd的配置調整:

LogFile=/tmp/zabbix_agentd.log
Server=14.18.xxx.xxx
ServerActive=14.18.xxx.xx
Hostname=119.146.xxx.xx
RefreshActiveChecks=60
BufferSize=10000
MaxLinesPerSecond=200
Timeout=30

比較重要的參數是ServerActive和Hostname,ServerActive是指定Agentd收集的數據往哪里發送,Hostname是必須要和Server端添加主機時的主機名對應起來,這樣Server端接收到數據才能找到對應關系,我這里為了兼容被動模式,沒有把StartAgents設為0,如果一開始就是使用主動模式的話建議把StartAgents設為0,關閉被動模式

二、Server的配置調整:

StartPollers=100

首先把這個主動收集數據進程減少,原來開到700多

StartTrappers=200

然后把這個負責處理Agentd推送過來的數據的進程開大一些,就可以了

三、調整模板

建議完整克隆一個Template OS Linux 模板來改,需要調整的地方就是:

wKiom1Q48kiA3gVIAAI9T4EdOKk715.jpg 把所有的item的類型由原來的“zabbix代理”改成“zabbix端點代理程序(主動式)”

只需要簡單的幾步,就完成了主動模式的切換,調整之后服務器不卡了,圖層不裂了,進程也少了。

2、主動模式跟被動模式模糊

  玩過zabbix的童鞋都知道在關於zabbix_agent客戶端監控主要有倆種模式,一種是主動模式,一種是被動模式。

主動模式:zabbix_agent主動收集主機上面的信息,將它提交給server端

被動模式:zabbix_server主動去zabbix_agent上面抓取數據信息

    今天中午我們公司的agent.ping這個監控項發生報警,在這個監控項我們采用的是zabbix_agent(active)模式,即由客戶端自己收集數據發送給server端,因為之前我們一直是zabbix_agent的模式,中午將它更改未主動模式,結果就有20多台服務器報警zabbix agent on #### unreachable for 5 minute,當看到這個信息之后,我立馬就去觀察zabbix_agent端的日志,在日志中全部顯示的是

1800:20150902:191605.465 active check configuration update from [:10051] started to fail (cannot connect to [[10.10.251.5]:10051]: [0x0000274D] 由於目標計算機積極拒絕,無法連接。)

1800:20150902:192312.403 active check configuration update from [:10051] is working again
1800:20150907:111627.125 active check configuration update from [:10051] started to fail (cannot connect to [[10.10.251.5]:10051]: [0x0000274D] 由於目標計算機積極拒絕,無法連接。)
1800:20150907:120350.378 active check configuration update from [:10051] is working again
1800:20150909:094456.703 active check configuration update from [:10051] started to fail (ZBX_TCP_READ() failed: [0x0000274C] 由於連接方在一段時間后沒有正確答復或連接的主機沒有反應,連接嘗試失敗。)
1800:20150909:094717.398 active check configuration update from [:10051] is working again

    全部是如上的這種錯誤,但是打開任意一台主機的圖形數據,發現圖形數據還是連續的,並沒有出現昨天的那種產生圖形中斷的情況,就在這個時候我想到在百度上面開啟zabbix_agent(active)模式,上面特意強調了倆個參數,一個是ServerActive和Hostname這倆個參數,ServerActive這個參數指的是客戶端將自己收集到的數據發送給誰,Hostname則是顯示這個數據是由誰發送的。然后我就隨意打開幾台主機,果然發現它們的配置文件里面Hostname這個參數未空,並且在zabbix WEB界面上的Hostname填寫的都是主機的主機名,然后我把配置文件里面的Hostname和WEB界面端的Hostname全部更改未主機的IP,過了一段時間之后,報警就消失了。

    最后我總結了一下,在zabbix添加和安裝的時候就有強調web界面和配置文件中Hostname主機名必須保持一致,否則zabbix WEB界面有可能接收不到數據,估計當初zabbix的添加人員或許注意到了這個問題,但是由於使用的是zabbix_agent模式,再加上zabbix並沒有產生報警,所以將這個問題給忽視不計了,結果等到我們由於zabbix壓力增大進行優化之后才會導致這種事情發生。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM