3 zabbix主动模式、被动模式

Wu Jun 2019-12-25 15:59:04
09 DevOps > 7 Zabbix

zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。

默认采用被动模式,但当被监控端数量过多时,被动模式会出现严重的性能问题:

  1. Web操作很卡,容易出现502
  2. 图层断裂
  3. 开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题

优化主要有两个方向:

  1. 添加Proxy节点或者Node模式做分布式监控
  2. 调整Agentd为主动模式

被动模式

客户端默认端口10050

流程

Server打开一个TCP连接
Server发送一个key为agent.ping
Agent接受这个请求,然后响应< HEADER >< DATALEN >
Server对接受到的数据进行处理
TCP连接关闭

配置

1、agent端重点

StartAgents=3//被动模式,启动客户端数不为0
Server=x.x.x.x//允许获取数据的地址,可配置0.0.0.0/0允许任意ip获取数据
Hostname=zabbix_client//与服务端设置的名字相同

2、zabbix-server端
zabbix监控模板默认使用的就是被动模式,直接添加就好

主动模式

流程

1.获取列表

Agent向Server建立一个TCP连接
Agent请求需要检测的items数据列表
Server响应Agent,发送一个Items列表
Agent处理响应
TCP连接完成本次会话关闭
Agent开始周期性地收集数据

2.主动检测提交数据

Agent建立TCP连接 Agent提交items列表收集的数据 Server处理数据,并返回响应状态 关闭TCP连接

配置

1、agent配置

StartAgents=0//主动模式,不启动客户端
ServerActive=x.x.x.x//配置服务器地址,可配置域名,域名如用nginx需要tcp转发10051端口
Hostname=zabbix_master//与服务端设置的名字相同

2、zabbix-server端 克隆默认的模板,将配置项和自动发现改为主动模式,主机连接主动模式模板