3 Zabbix agent 2 protocol

概览

本节提供有关信息:

  • · Agent2 -> Server : 主动检查请求

  • · Server -> Agent2 : 主动检查响应

  • · Agent2 -> Server : 代理数据请求

  • · Server -> Agent2 : 代理数据响应

主动检查请求

主动检查请求用于获取agent要处理的主动检查。 此请求由agent在启动时发送,然后以 RefreshActiveChecks 间隔发送。

字段类型必填
request字符串主动检查
host字符串主机名。
version字符串agent版本:<major>.<minor>。
host_metadata字符串没有配置参数 HostMetadata 或 HostMetadataItem 度量值。
interface字符串没有配置参数 HostInterface 或 HostInterfaceItem 度量值。
ip字符串没有如果设置了配置参数 ListenIP 第一个 IP。
port编号没有配置参数 ListenPort 值(如果已设置)而不是默认监听端口。

示例:

  1. {
  2. · "request": "active checks",
  3. · "host": "Zabbix server",
  4. · "version": "6.0",
  5. · "host_metadata": "mysql,nginx",
  6. · "hostinterface": "zabbix.server.lan",
  7. · "ip": "159.168.1.1",
  8. · "port": 12050
  9. }

主动检查响应

在处理主动检查请求后,主动检查响应由服务器发送回agent。

字段类型必填
response字符串成功| 失败
info字符串没有失败时的错误信息。
data对象数组没有活动检查监控项。
key字符串没有带有扩展宏的监控项键。
itemid数字没有监控项标识符。
delay字符串没有监控项更新间隔。
lastlogsize数字没有监控项 lastlogsize。
mtime数字没有监控项mtime。
regexp对象数组没有全局正则表达式。
name字符串没有全局正则表达式名称。
expression字符串没有全局正则表达式。
expression_type数字没有全局正则表达式类型。
exp_delimiter字符串没有全局正则表达式分隔符。
case_sensitive编号没有全局正则表达式区分大小写设置。

例子:

  1. {
  2. · "response": "success",
  3. · "data": [
  4. · {
  5. · "key": "log[/home/zabbix/logs/zabbix_agentd.log]",
  6. · "itemid": 1234,
  7. · "delay": "30s",
  8. · "lastlogsize": 0,
  9. · "mtime": 0
  10. · },
  11. · {
  12. · "key": "agent.version",
  13. · "itemid": 5678,
  14. · "delay": "10m",
  15. · "lastlogsize": 0,
  16. · "mtime": 0
  17. · }
  18. · ]
  19. }

Agent数据请求

Agent数据请求包含收集的监控项值。

字段类型必填
request字符串agent数据
host字符串主机名。
version字符串agent版本:<major>.<minor>。
session字符串每次启动agent时生成的唯一会话标识符。
data对象数组监控项值。
id数字值标识符(用于在出现网络问题时检查重复值的增量计数器)。
itemid数字监控项标识符。
value字符串物品价值。
lastlogsize数字该监控项最后日志大小。
mtime数字监控项时间。
state数字监控项状态。
source字符串事件日志源。
eventid数字事件日志eventid。
severity数字事件日志严重性。
timestamp数字事件日志时间戳。
clock数字时间戳(自纪元以来的秒数)。
ns数字时间戳纳秒。

示例:

  1. {
  2. · "request": "agent data",
  3. · "data": [
  4. · {
  5. · "id": 1,
  6. · "itemid": 5678,
  7. · "value": "2.4.0",
  8. · "clock": 1400675595,
  9. · "ns": 76808644
  10. · },
  11. · {
  12. · "id": 2,
  13. · "itemid": 1234,
  14. · "lastlogsize": 112,
  15. · "value": " 19845:20140621:141708.521 Starting Zabbix Agent [<hostname>]. Zabbix 2.4.0 (revision 50000).",
  16. · "clock": 1400675595,
  17. · "ns": 77053975
  18. · }
  19. · ],
  20. · "host": "Zabbix server",
  21. · "version": "6.0",
  22. · "session": "1234456akdsjhfoui"
  23. }

Agent数据响应

agent数据响应在处理agent数据请求后由服务器发送回agent。

字段类型必填
response字符串成功| 失败
info字符串监控项处理结果。

例子:

  1. {
  2. · "response": "success",
  3. · "info": "processed: 2; failed: 0; total: 2; seconds spent: 0.003534"
  4. }

Heartbeat message

The heartbeat message is sent by an active agent to Zabbix server/proxy every HeartbeatFrequency seconds (configured in the Zabbix agent 2 configuration file).

It is used to monitor the availability of active checks.

  1. {
  2. "request": "active check heartbeat",
  3. "host": "Zabbix server",
  4. "heartbeat_freq": 60
  5. }
FieldTypeMandatoryValue
requeststringyesactive check heartbeat
hoststringyesThe host name.
heartbeat_freqnumberyesThe agent heartbeat frequency (HeartbeatFrequency configuration parameter).