See www.zabbix.com for the official Zabbix site.

Docs/protocols

From Zabbix.org
Jump to: navigation, search

Zabbix protocols

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.

Protocol 1.1 1.4 1.6 1.8 2.0 2.2 2.4 3.0 3.2 3.4
Zabbix agent 1.1 1.4 1.6 1.8 2.0 2.2 2.4 3.0 3.2 3.4
Zabbix sender 1.8 2.0 2.2 2.4 3.0 3.2 3.4
Zabbix proxy N/A N/A 1.6 1.8 2.0 2.2 2.4 3.0 3.2 3.4
Zabbix Java gateway N/A N/A N/A N/A 2.0 2.2 2.4 3.0 3.2 3.4
Zabbix global scripts N/A N/A [1] 2.0 2.2 2.4 3.0 3.2 3.4
Zabbix queue N/A N/A N/A N/A N/A 2.2 2.4 3.0 3.2 3.4
  1. Global scripts implemented in 1.6 (DEV-48), protocol since 1.6.9 ZBX-1030

Protocol changes

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.

Zabbix 3.4

Zabbix server
  • global script execution requires an additional parameter 'sid' (ZBX-9425)

Zabbix 3.0

Zabbix proxy

Encryption-related host parameters are included by the server in the proxy configuration data

Zabbix 2.4

Zabbix proxy
  • '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.filter is not sent for items anymore (ZBXNEXT-581)

Zabbix 2.2

Zabbix agent

Active agent sends metadata, if any, in the active check requests. (ZBXNEXT-1726)

Zabbix 2.0

Zabbix agent

If agent has a non-default IP or port set, they are included in the active check requests. (ZBXNEXT-558)

JSON formatting

If JSON is not in a user-readable format, it can be reformatted. Various options are listed below.

Online

Visit jsonlint.com.

Perl

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

Python

(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.

C

Yajl. Depending on the distribution, one would install package called yajl or yajl-tools, which would provide json_reformat utility.

$ zabbix_get -s 127.0.0.1 -k net.if.discovery | json_reformat

Bash

http://trentm.com/json/