zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。简单说明一下主动与被动的区别如下:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据


被动模式:

supported items通信过程

  • Server打开一个TCP连接

  • Server发送请求agent.ping\n

  • Agent接收到请求并且响应<HEADER><DATALEN>1

  • Server处理接收到的数据1

  • 关闭TCP连接

not supported items通信过程

  • Server打开一个TCP连接

  • Server发送请求vfs.fs.size[/nono]\n

  • Agent接收请求并且返回响应数据 <HEADER><DATALEN>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory

  • Server接收并处理数据, 将item的状态改为“ not supported ”

  • 关闭TCP连接


主动模式:

  • Agent打开TCP连接(主动检测变成Agent打开)

  • Agent请求items检测列表

  • Server返回items列表

  • Agent 处理响应

  • 关闭TCP连接

  • Agent开始收集数据

提交active items数据



纯主动模式的配置:

#Server=10.10.10.201   如果设置为纯被动模式,则应该注释掉这一条指令
StartAgents=0    设置为0表示关闭被动模式
ServerActive=10.10.10.201   主动模式的server IP地址
Hostname=PMS001         客户端的hostname,不配置则使用主机名
# RefreshActiveChecks=120  客户端向服务器请求items列表的刷新时间间隔,默认120s即可

纯主动模式下的zabbix agent,只能支持Zabbix Agent (Active)类型的监控项。