3. Протокол Zabbix агента 2

Обзор

В этом разделе представлена информация о следующем:

  • Агент2 -> Сервер: запрос на активную проверку
  • Сервер -> Агент2: ответ активной проверки
  • Агент2 -> Сервер: запрос данных агента
  • Сервер -> Агент2: ответ на данные агента

Запрос на активные проверки

Запрос на активную проверку используется для получения активных проверок для последующей обработки агентом. Запрос посылается агентом при старте и затем с интервалом RefreshActiveChecks.

Поле Тип Обязательное Значение
request строка да active checks
host строка да Имя узла сети.
version строка да Версия агента: <major>.<minor>.
host_metadata строка нет Параметр конфигурации HostMetadata или значение метрики HostMetadataItem.
interface строка нет Параметр конфигурации HostInterface илизначение метрики HostInterfaceItem.
ip строка нет Первый IP параметра конфигурации ListenIP, если задан.
port число нет Значение параметра конфигурации ListenPort, если задано и отличается от порта агента по умолчанию.

Пример:

{
         "request": "active checks",
         "host": "Zabbix server",
         "version": "6.0",
         "host_metadata": "mysql,nginx",
         "hostinterface": "zabbix.server.lan",
         "ip": "159.168.1.1",
         "port": 12050
       }

Ответ активных проверок

Ответ активных проверок отсылается сервером обратно агенту после обработки запроса на активные проверки.

Поле Тип Обязательное Значение
response строка да success | failed
info строка нет Информация об ошибке в случае сбоя.
data массив объектов нет Активные проверки элементов данных.
key строка нет Ключ элемента данных с раскрытыми макросами.
itemid число нет Идентификатор элемента данных.
delay строка нет Интервал обновления элемента данных.
lastlogsize число нет Последний размер файла журнала (lastlogsize) элемента данных.
mtime число нет Отметка времени последней модификации (mtime) элемента данных.
regexp массив объектов нет Глобальные регулярные выражения.
name строка нет Имя глобального регулярного выражения.
expression строка нет Глобальное регулярное выражение.
expression_type число нет Тип глобального регулярного выражения.
exp_delimiter строка нет Разделитель глобального регулярного выражения.
case_sensitive число нет Флаг чувствительности к регистру глобального регулярного выражения.

Пример:

{
         "response": "success",
         "data": [
           {
             "key": "log[/home/zabbix/logs/zabbix_agentd.log]",
             "itemid": 1234,
             "delay": "30s",
             "lastlogsize": 0,
             "mtime": 0
           },
           {
             "key": "agent.version",
             "itemid": 5678,
             "delay": "10m",
             "lastlogsize": 0,
             "mtime": 0
           }
         ]
       }

Запрос данных агента

Запрос данных агента содержит собранные значения элементов данных.

Поле Тип Обязательное Значение
request строка да agent data
host строка да Имя узла сети.
version строка да Версия агента: <major>.<minor>.
session строка да Уникальный идентификатор сессии, генерируется каждый раз при старте агента.
data массив объектов да Значения элементов данных.
id число да Идентификатор значения (возрастающий счётчик, используемый для контроля дублированных значений в случае сетевых проблем).
itemid число да Идентификатор элемента данных.
value строка нет Значение элемента данных.
lastlogsize число нет Последний размер файла журнала (lastlogsize) элемента данных.
mtime число нет Отметка времени последнего обновления (mtime) элемента данных.
state число нет Состояние элемента данных.
source строка нет Источник (source) значения журнала событий.
eventid число нет Идентификатор (eventid) значения журнала событий.
severity число нет Важность (severity) значения журнала событий.
timestamp число нет Отметка времени (timestamp) значения журнала событий.
clock число да Отметка времени значения (секунд с начала эпохи).
ns число да Наносекунды отметки времени значения.

Пример:

{
         "request": "agent data",
         "data": [
           {
             "id": 1,
             "itemid": 5678,
             "value": "2.4.0",
             "clock": 1400675595,
             "ns": 76808644
           },
           {
             "id": 2,
             "itemid": 1234,
             "lastlogsize": 112,
             "value": " 19845:20140621:141708.521 Starting Zabbix Agent [<hostname>]. Zabbix 2.4.0 (revision 50000).",
             "clock": 1400675595,
             "ns": 77053975
           }
         ],
         "host": "Zabbix server",
         "version": "6.0",
         "session": "1234456akdsjhfoui"
       }

Ответ на данные агента

Ответ на данные агента отсылается сервером назад агенту после обработки запроса данных агента.

Поле Тип Обязательное Значнеие
response строка да success | failed
info строка да Результаты обработки элементов данных.

Пример:

{
         "response": "success",
         "info": "processed: 2; failed: 0; total: 2; seconds spent: 0.003534"
       }