(服务运维)Zabbix主被动模式原理支持上千监控节点

要须心地收汗马,孔孟行世目杲杲。这篇文章主要讲述(服务运维)Zabbix主被动模式原理支持上千监控节点相关的知识,希望能为你提供帮助。
当监控的对象性较少百台左右,直接server和监控节点对联,当对象几百上千台时则需要代理来处理采集数据再汇总给server,以分担server采集压力减轻时延。agent和proxy都分为主动式和被动式(默认),代理可以根据机房、业务等业务场景划分。

  • 10050 #zabbix agent监听端口
  • 10051 #zabbix server监听端口
  • 10052 #jave gateway监听端口


被动模式原理(拉)被动模式,zabix agent被动的接受zabbix server周期性发送过来的数据收集指令,在被动模式之下,zabbix server会根据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix agent服务器的10050发起tcp连接,然后发送获取监控项数据的指令,即zabbix server发送什么指令那么zabbix agent就收集什么数据,zabbix server什么时候发送zabbix agen就什么时候采集,zabbix server不发送zabbix agent就一直不响应,所以zabbix agent也不用关心其监控项和数据采集周期间隔时间。
被动模式的优点就是配置简单,安装后即可使用,因此也成为zabix的默认工作模式,但是被动模式的最大问题就是会加大zabbix server的工作量,在数百甚至数千台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,如果zabbix server负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式。
被动模式下的端口情况

被动模式工作流程

  • 服务器:随机端口向proxy:10050周期性发送TCP建立申请数据采集
  • 连接建立成功后proxy:10050向服务器:随机端口发送数据
被动模式设置
vim /etc/zabbix/zabbix_agentd.conf

【(服务运维)Zabbix主被动模式原理支持上千监控节点】启动agent服务,查询监听端口,默认10050:netstat -lntup|grep 10050

主动模式原理(推)主动模式是由zabbix agen主动向zabbix server的10051端口发起tcp连接请求,因此主动模式下必须在zabbix agent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址),在连接到zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,然后在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,然后再根据监控项采集数据并返回给zabix server,在主动模式下不再需要zabbix serve向zabbix agent发起连接请求,因此主动模式在一定程度上可减轻zabbix server打开的本地随机端口和进程数,在一定程度就减轻看zabbix server的压力。
主动模式工作流程

  • proxy:随机端口向server:10051建立TCP连接,获得监控项和采集间隔请求
  • server:10051端口回复采集要求
  • proxy:随机端口向server:10051发送数据
  • 一旦proxy获得监控项和采集间隔请求,除非有变更,proxy将不再询问
主动模式设置
vim /etc/zabbix/zabbix_agentd.conf

启动agent服务,与被动模式不同,主动模式启动服务后不会有端口监听

    推荐阅读