Протокол Zabbix агента 2 основан на коде, размере и модели данных.
| Тип | Размер | Комментарии | 
|---|---|---|
| Byte | 4 | Тип полезной нагрузки, в настоящее время поддерживается только JSON. | 
| Тип | Размер | Комментарии | 
|---|---|---|
| Byte | 4 | Размер текущей полезной нагрузки в байтах. | 
| Тип | Размер | Комментарии | 
|---|---|---|
| Byte | Определяется полем Размер | Данные в формате JSON. | 
Эти параметры присутствуют во всех вопросах/ответах:
| Имя | Тип | Комментарии | 
|---|---|---|
| id | uint32 | Для запросов — возрастающий идентификатор, используемый, чтобы связать запросы с ответами. Уникален в пределах направления запроса (т.е. от агента к плагину или от плагина к агенту). Для ответов — идентификатор соответствующего запроса.  | 
       
| type | uint32 | Тип запроса. | 
Запрос отсылается плагином, чтобы записать журнальное сообщение в журнальный файл агента.
| направление | плагин → агент | 
| ответ | нет | 
Параметры, специфичные для запросов журналирования:
| Имя | Тип | Комментарии | 
|---|---|---|
| severity | uint32 | Важность сообщения (уровень журналирования). | 
| message | string | Сообщение для журнала. | 
Пример:
Запрос отсылается агентом в фазе начальной загрузки агента, чтобы получить предоставляемые метрики для регистрации плагина.
| направление | агент → плагин | 
| ответ | да | 
Параметры, специфичные для запросов регистрации:
| Имя | Тип | Комментарии | 
|---|---|---|
| version | string | Версия протокола <major>.<minor> | 
Пример:
Ответ плагина на запрос на регистрацию.
| направление | плагин → агент | 
| ответ | неприменимо | 
Параметры, специфичные для ответов на регистрацию:
| Имя | Тип | Комментарии | 
|---|---|---|
| name | string | Имя плагина. | 
| metrics | array of strings (опционально) | Метрики с описаниями, как используется в плагине. Возвращает RegisterMetrics(). Отсутствует, если возвращается ошибка. | 
| interfaces | uint32 (опционально) | Битовая маска интерфейсов, поддерживаемых плагином. Отсутствует, если возвращается ошибка. | 
| error | string (опционально) | Сообщение об ошибке возвращается, если плагин не может запуститься. Отсутствует, если возвращаются метрики. | 
Примеры:
или
Запрос на выполнение функции запуска (Start) интерфейса Runner.
| направление | агент → плагин | 
| ответ | нет | 
Запрос не имеет специфичных параметров, он содержит только параметры общих данных.
Пример:
Запрос отсылается агентом, чтобы остановить плагин.
| направление | агент → плагин | 
| ответ | нет | 
Запрос не имеет специфичных параметров, он содержит только параметры общих данных.
Пример:
Запрос на выполнение функции экспорта (Export) интерфейса Exporter.
| направление | агент → плагин | 
| ответ | нет | 
Параметры, специфичные для запросов экспорта:
| Имя | Тип | Комментарии | 
|---|---|---|
| key | string | Ключ плагина. | 
| parameters | array of strings (опционально) | Параметры для функции Export. | 
Пример:
Ответ из функции Export интерфейса Exporter.
| направление | плагин → агент | 
| ответ | неприменимо | 
Параметры, специфичные для ответов экспорта:
| Имя | Тип | Комментарии | 
|---|---|---|
| value | string (опционально) | Значение ответа из функции Export. Отсутствует, если возвращается ошибка. | 
| error | string (опционально) | Сообщение об ошибке, если функция Export не была выполнена успешно. Отсутствует, если возвращается значение (value). | 
Примеры:
или
Запрос на выполнение функции Configure интерфейса Configurator.
| направление | агент → плагин | 
| ответ | неприменимо | 
Параметры, специфичные для запросов Configure:
| Имя | Тип | Комментарии | 
|---|---|---|
| global_options | объект JSON | Объект JSON, содержащий глобальные опции конфигурации агента. | 
| private_options | объект JSON (опционально) | Объект JSON, содержащий персональные опции конфигурации плагина, если есть. | 
Пример:
Запрос на выполнение функции Validate интерфейса Configurator.
| направление | агент → плагин | 
| ответ | да | 
Параметры, специфичные для запросов Validate:
| Имя | Тип | Комментарии | 
|---|---|---|
| private_options | объект JSON (опционально) | Объект JSON, содержащий персональные опции конфигурации плагина, если есть. | 
Пример:
Ответ от функции Validate интерфейса Configurator.
| направление | плагин → агент | 
| ответ | неприменимо | 
Параметры, специфичные для ответов на Validate:
| Имя | Тип | Комментарии | 
|---|---|---|
| error | string (опционально) | Сообщение об ошибке, возвращаемое, если функция Validate не была выполнена успешно. Отсутствует при успешном завершении. | 
Примеры:
или