7. Протокол экспорта JSON с переводом строки в качестве разделителя
В этом разделе представлены сведения о протоколе экспорта в в формате 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}
Значения элементов данных
Следующая информация экспортируется для собранного значения элемента данных:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | Имя узла сети элемента данных. | ||
| host | string | Имя узла сети. | ||
| name | string | Видимое имя узла сети. | ||
| groups | array | Список групп узлов сети элемента данных; в массиве должен быть как минимум один элемент. | ||
| - | string | Имя группы узлов сети. | ||
| item_tags | array | Список тегов элемента данных (может быть пустым). | ||
| - | object | |||
| tag | string | Имя тега. | ||
| value | string | Значение тега (может быть пустым). | ||
| itemid | number | ID элемента данных. | ||
| name | string | Видимое имя элемента данных. | ||
| clock | number | Количество секунд с начала эпохи на момент, когда было собрано значение (целая часть). | ||
| ns | number | Количество наносекунд, которое нужно добавить к clock, чтобы получить точное время сбора значения. |
||
| timestamp (Log only) |
number | 0, если недоступно. | ||
| source (Log only) |
string | Пустая строка, если недоступно. | ||
| severity (Log only) |
number | 0, если недоступно. | ||
| eventid (Log only) |
number | 0, если недоступно. | ||
| value | number (for numeric items) or string (for text items) |
Собранное значение элемента данных. | ||
| type | number | Тип собранного значения: 0 - numeric float, 1 - character, 2 - log, 3 - numeric unsigned, 4 - text, 5 - binary, 6 - JSON |
||
Примеры
Числовое (беззнаковое) значение:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"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"],"item_tags":[{"tag":"foo","value":"test"}],"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"],"item_tags":[{"tag":"foo","value":"test"}],"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"],"item_tags":[{"tag":"foo","value":"test"}],"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 | массив | Список групп узлов сети этого элемента данных; в массиве должен быть по крайней мере один элемент. | ||
| - | строка | Имя узла сети. | ||
| item_tags | массив | Список тегов элемента данных (может быть пустым). | ||
| - | объект | |||
| tag | строка | Имя тега. | ||
| value | строка | Значение тега (может быть пустым). | ||
| 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"],"item_tags":[{"tag":"foo","value":"test"}],"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"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":4,"name":"CPU Load","clock":1519311600,"count":60,"min":0.01,"avg":0.15,"max":1.5,"type":0}