(服务运维)Zabbix主被动模式原理支持上千监控节点
Posted 林炜玮_51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(服务运维)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
启动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服务,与被动模式不同,主动模式启动服务后不会有端口监听
以上是关于(服务运维)Zabbix主被动模式原理支持上千监控节点的主要内容,如果未能解决你的问题,请参考以下文章