背景

最近发现公司的Zabbix监控大屏上的监控图经常出现数据断点的现象,主要集中在一些自定义的监控项数据上,如下图:
[TroubleShootting]Zabbix数据采集出现断点的问题-LMLPHP

原因

查看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监控大屏上的数据未出现断点:
[TroubleShootting]Zabbix数据采集出现断点的问题-LMLPHP

11-28 23:43