7. Протокол экспорта в режиме реального времени

В этом разделе представлены подробности реализации протокола экспорта в режиме реального времени в формате JSON с новой строкой в качестве разделителя для:

Все файлы имеют расширение .ndjson. Каждая строка файла экспорта является объектом JSON.

Триггерные события

Для события проблемы экспортируется следующая информация:

Поле Тип Описание
clock число Количество секунд с начала эпохи до момента обнаружения проблемы (целая часть).
ns число Количество наносекунд, которые необходимо добавить к clock, чтобы получить точное время обнаружения проблемы.
value число 1 (всегда).
eventid число Идентификатор события проблемы.
name строка Имя события проблемы.
severity число Важность события проблемы (0 - Не классифицировано, 1 - Информация, 2 - Предупреждение, 3 - Средняя, 4 - Высокая, 5 - Чрезвычайная).
hosts массив Список узлов сети, участвующих в выражении триггера; в массиве должен быть хотя бы один элемент.
- объект
host строка Имя узла сети.
name строка Видимое имя узла сети.
groups массив Список групп всех узлов сети, участвующих в выражении триггера; в массиве должен быть хотя бы один элемент.
- строка Имя группы узлов сети.
tags массив Список тегов проблемы (может быть пустым).
- объект
tag строка Имя тега.
value строка Значение тега (может быть пустым).

Для события восстановления экспортируется следующая информация:

Поле Тип Описание
clock число Количество секунд с начала эпохи до момента восстановления проблемы (целая часть).
ns число Количество наносекунд, которые нужно добавить к clock, чтобы получить точное время восстановления проблемы.
value число 0 (всегда).
eventid число Идентификатор события восстановления.
p_eventid число Идентификатор события проблемы.
Примеры

Проблема:

{"clock":1519304285,"ns":123456789,"value":1,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"eventid":42, "hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}

Восстановление:

{"clock":1519304345,"ns":987654321,"value":0,"eventid":43,"p_eventid":42}

Проблема (множественный режим генерации событий ПРОБЛЕМА):

{"clock":1519304286,"ns":123456789,"value":1,"eventid":43,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
       
       {"clock":1519304286,"ns":123456789,"value":1,"eventid":43,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}

Восстановление:

{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":43}
       
       {"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":42}

Значения элементов данных

Для собранного значения элемента данных экспортируется следующая информация:

Поле Тип Описание
host объект Имя узла сети этого элемента данных.
host строка Имя узла сети.
name строка Видимое имя узла сети.
groups массив Список групп узлов сети для узла сети этого элемента данных; в массиве должен быть по крайней мере один элемент.
- строка Имя группы узла сети.
itemid число ID элемента данных.
name строка Видимое имя элемента данных.
clock число Количество секунд с начала эпохи до момента сбора значения (целая часть).
ns число Количество наносекунд, которые нужно добавить к clock для получения точного времени сбора значения.
timestamp
(только Журнал (лог))
число 0 если недоступно.
source
(только Журнал (лог))
строка Пустая строка если недоступно.
severity
(только Журнал (лог))
число 0 если недоступно.
eventid
(только Журнал (лог))
число 0 если недоступно.
value число(для числовых элементов данных) или
строка (для текстовых элементов данных)
Собранное значение элемента данных.
type число Тип собранного значения:
0 - Числовой (с плавающей точной), 1 - Символ, 2 - Журнал (лог), 3 - Числовой (целое положительное), 4 - Текст
Примеры

Числовое (беззнаковое) значение:

{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"itemid":3,"name":"Agent availability","clock":1519304285,"ns":123456789,"value":1,"type":3}

Числовое (с плавающей точкой) значение:

{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"itemid":4,"name":"CPU Load","clock":1519304285,"ns":123456789,"value":0.1,"type":0}

Символьное, текстовое значение:

{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"itemid":2,"name":"Agent version","clock":1519304285,"ns":123456789,"value":"3.4.4","type":4}

Запись журнала (лога):

{"host":{"host":"Host A","name":"Host A visible"},"groups":["Group X","Group Y","Group Z"],"itemid":1,"name":"Messages in log file","clock":1519304285,"ns":123456789,"timestamp":1519304285,"source":"","severity":0,"eventid":0,"value":"log file message","type":2}

Динамика изменений

Для подсчитанного значения динамики изменений экспортируется следующая информация:

Поле Тип Описание
host объект Имя узла сети этого элемента данных.
host строка Имя узла сети.
name строка Видимое имя узла сети.
groups массив Список групп узлов сети этого элемента данных; в массиве должен быть по крайней мере один элемент.
- строка Имя узла сети.
itemid число ID элемента данных.
name строка Видимое имя элемента данных.
clock число Количество секунд с начала эпохи до момента получения значения (целая часть).
count число Количество значений, собранных за данный час.
min число Наименьшее значение элемента данных за данный час.
avg число Среднее значение элемента данных за данный час.
max число Наибольшее значение элемента данных за данный час.
type число Тип значения:
0 - числовой (с плавающей точкой), 3 - числовой беззнаковый
Примеры

Числовое (беззнаковое) значение:

{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"itemid":3,"name":"Agent availability","clock":1519311600,"count":60,"min":1,"avg":1,"max":1,"type":3}

Числовое (с плавающей точкой) значение:

{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"itemid":4,"name":"CPU Load","clock":1519311600,"count":60,"min":0.01,"avg":0.15,"max":1.5,"type":0}