See www.zabbix.com for the official Zabbix site.
- 1 Zabbix protocols
- 1.1 Protocol changes
- 1.2 JSON formatting
These pages will attempt to document the different Zabbix protocols in existence.
"N/A" means the protocol/product was not available at that Zabbix version.
|Zabbix Java gateway||N/A||N/A||N/A||N/A||2.0||2.2||2.4||3.0||3.2||3.4||4.0|
|Zabbix global scripts||N/A||N/A||||2.0||2.2||2.4||3.0||3.2||3.4||4.0|
- Global scripts implemented in 1.6 (DEV-48), protocol since 1.6.9 ZBX-1030
It would be great to have all protocol / data exchange changes properly documented - until that level is reached, this section will attempt to document at least some of the changes.
Support for the plaintext protocol has been dropped (ZBXNEXT-3581)
- 'host availability', 'history data', 'discovery data' and 'auto registration' requests are merged into one 'proxy data' request (ZBXNEXT-1804)
- A list of tasks to execute are exchanged with 'tasks' parameter in server response to 'proxy data' request and in proxy 'proxy data' request (ZBXNEXT-936)
- global script execution requires an additional parameter 'sid' (ZBX-9425)
Zabbix Java gateway
Encryption-related host parameters are included by the server in the proxy configuration data
- 'bulk' parameter is sent for host SNMP interfaces (ZBXNEXT-98)
- web scenarios have SSL parameters sent
- web scenarios have custom headers, redirect following and maybe some more parameters sent
- some existing items are not sent to the proxy anymore (for example, lastaccess item)
- some new items are not sent to the proxy (for example, host maintenance internal item)
items.filteris not sent for items anymore (ZBXNEXT-581)
Active agent sends metadata, if any, in the active check requests. (ZBXNEXT-1726)
If agent has a non-default IP or port set, they are included in the active check requests. (ZBXNEXT-558)
If JSON is not in a user-readable format, it can be reformatted. Various options are listed below.
json_pp (pure Perl) or json_xs (with a C module). The latter is included in JSON::XS Perl module.
$ zabbix_get -s 127.0.0.1 -k net.if.discovery | json_pp
$ zabbix_get -s 127.0.0.1 -k net.if.discovery | json_xs
(note - doesn't work correctly with non-ASCII utf8 data)
$ zabbix_get -s 127.0.0.1 -k net.if.discovery | python -mjson.tool
Note that this method sorts the keys.
Yajl. Depending on the distribution, one would install package called yajl or yajl-tools, which would provide
$ zabbix_get -s 127.0.0.1 -k net.if.discovery | json_reformat