08 Zabbix Item类型之Zabbix agent类型
Zabbix agent类型的item是使用部署在服务器端的agent来获取数据的,可以分为被动模式和主动模式。
- 被动:zabbix server向zabbix agent讨要数据
- 主动:zabbix agent提交数据给zabbix serve
总的来说,zabbix和zabbix agent 之前的数据传输协议是类似JSON的数据格式。
zabbix的协议:
①<HEADER>:ZBXDx01 一共是5个字节
②<DATALEN>:这次连接传送数据的长度,一共8个字节。 比如长度是1 ,那么表示成01/00/00/00/00/00/00/00
为了限制内存的消耗,每一个连接传送的数据最大不超过64MB
被动模式zabbix agent:
当zabbix server请求agent.ping这个key的item时候,如下步骤:
- zabbix server 打开一个TCP连接
- zabbix server发送“agent.ping ”
- zabbix agent读取请求,且返回“<HEADER><DATALEN>1”
- zabbix server获取zabbix agent返回的数值, 即本例子中的“1”
- TCP连接关闭
主动模式zabbix agent(active):
“ServerActive”参数: zabbix agent请求的zabbix server的列表, 在zabbix_agent.conf中
“RefreshActiveChecks”参数:定义了zabbix agent每隔多久向zabbix server 请求一次。 如果某一次请求失败,那么60s后会重试。
如下步骤:
- zabbix agent打开一个TCP连接
- zabbix agent请求需要检查的列表
- zabbix server 返回需要的item的列表
- zabbix agent处理zabbix server的返回值
- 关闭TCP连接
- zabbix agent开始定期的收集数据