背景
最近發現公司的Zabbix監控大屏上的監控圖經常出現數據斷點的現象,主要集中在一些自定義的監控項數據上,如下圖:

原因
查看Zabbix Server日志以及zabbix官方手冊后,分析可能原因如下:
- zabbix-server監控的主機太多了;
- 監控項數據采集方式為zabbix被動采集。
由於公司目前監控的主機總共為十幾台,數量並不多當,所以可能是由於被動采集數據導致的。
Zabbix被動采集與主動采集
- 主動采集:把agent主動將數據發送給zabbix server這種方式采集數據,叫做主動監控;
- 被動采集:把zabbix server 向zabbix agent獲取數據的方式叫做被動監控
區別
被動監控只有zabbix server周期性的請求zabbix agent,zabbix agent才會響應對應的數據給zabbix server ,如果zabbix server 不請求,則zabbix agent不會發送數據給zabbix server ;而主動監控不管zabbix server請不請求agent,agent它都會以指定時間頻率向server推送數據;默認zabbix 是使用的被動監控,這也意味着zabbix server 要不停的去請求各zabbix agent去采集數據,否則就沒有數據;
解決方案--將監控項修改為主動監控
Zabbix-agent配置
vim /etc/zabbix/zabbix.agent.conf
LogFile=/tmp/zabbix_agentd.log
Server=192.168.1.2
ServerActive=192.168.1.2
Hostname=dev
RefreshActiveChecks=60
BufferSize=10000
MaxLinesPerSecond=200
Timeout=30
比較重要的參數是ServerActive和Hostname,ServerActive是指定Agentd收集的數據往哪里發送,Hostname是必須要和Server端添加主機時的主機名對應起來,這樣Server端接收到數據才能找到對應關系,我這里為了兼容被動模式,沒有把StartAgents設為0,如果一開始就是使用主動模式的話建議把StartAgents設為0,關閉被動模式
修改后需要重啟zabbix-agent:
systemctl restart zabbix-agent.service
zabbix web端配置
調整模板:將模板上的監控項全選,點擊最下方的批量修改,將類型選擇為Zabbix客戶端(主動式),如下:

調整完成后最好將所有的監控項先禁用再啟用,防止配置未生效!!!
調整后的效果
經過以上的調整,目前zabbix監控大屏上的數據未出現斷點:

