1 Exportació a arxius
Vista general
Es pot configurar la exportació en temps real dels esdeveniments de triggers, dels valors d'elements i tendències en format JSON delimitat per una línia.
La exportació es fa cap a fitxers, on cada línia de l'arxiu d'exportació és un objecte JSON. Els pamatges de valors no apliquen pas.
En cas d'errors (les dades no es poden pas escriure a l'arxiu d'exportació o l'arxiu d'exportació no es pot pas reanomenar o un nou arxiu no es pot pas crear després de reanomenar-lo), l'element de dades s'esborra i no s'escriu a la carpeta d'exportació. Només s'escriu a la base de dades Zabbix. L'escriptura de dades a l'arxiu d'exportació seguirà quan el problema d'escriptura sigui resolt.
Per tindre detalls precisos de la informació exportada, consulteu el protocol d'exportació.
Veieu que l'equip/l'element no pot pas tindre metadades (grups d'equips, nom d'equip, dom d'element) si l'equip/l'element s'ha esborrat després de la recepció de les dades, abans que el servidor n'exporti les dades.
Configuració
La exportació en temps real dels esdeveniments de triggers, dels valors dels elements i de les tendències és configurat especificant un directori per els arxius d'exportació - veieu el paràmetre ExportDir a la configuració del servidor.
Hi ha disponibles dos altres paràmetres:
ExportFileSizees pot emprar per definir la mida màxima autoritzada d'un arxiu d'exportació individual. Quan un procés hagi d'escriure a un fitxer, primer comprova la mida del fitxer. Si sobrepassa la mida límit configurada, l'arxiu es reanomena afegint-t'hi .old al seu nom i es genera un nou arxiu amb el nom original.
Es crearà un arxiu per cada procés que escrigui dades (és a dir, sobre 4 a 30 arxius). Com la mida per defecte de l'arxiu d'exportació és d'1Go, conservar els arxius d'exportació grossos pot restar espai de disc molt ràpid.
ExportTypepermet especificar quin tipus d'entitats (esdeveniments, històric, tendències) s'exportaran.
Newline-delimited JSON export protocol
This section presents details of the export protocol in a newline-delimited JSON format, used in:
All files have an .ndjson extension. Each line of the export file is a
JSON object.
Trigger event export
The following information is exported for a problem event:
| Field | Type | Description | ||
|---|---|---|---|---|
| clock | number | Number of seconds since Epoch to the moment when problem was detected (integer part). | ||
| ns | number | Number of nanoseconds to be added to clock to get a precise problem detection time. |
||
| value | number | 1 (always). | ||
| eventid | number | Problem event ID. | ||
| name | string | Problem event name. | ||
| severity | number | Problem event severity (0 - Not classified, 1 - Information, 2 - Warning, 3 - Average, 4 - High, 5 - Disaster). | ||
| hosts | array | List of hosts involved in the trigger expression; there should be at least one element in array. | ||
| - | object | |||
| host | string | Host name. | ||
| name | string | Visible host name. | ||
| groups | array | List of host groups of all hosts involved in the trigger expression; there should be at least one element in array. | ||
| - | string | Host group name. | ||
| tags | array | List of problem tags (can be empty). | ||
| - | object | |||
| tag | string | Tag name. | ||
| value | string | Tag value (can be empty). | ||
The following information is exported for a recovery event:
| Field | Type | Description |
|---|---|---|
| clock | number | Number of seconds since Epoch to the moment when problem was resolved (integer part). |
| ns | number | Number of nanoseconds to be added to clock to get a precise problem resolution time. |
| value | number | 0 (always). |
| eventid | number | Recovery event ID. |
| p_eventid | number | Problem event ID. |
Trigger event export examples
Problem:
{"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"}]}
Recovery:
{"clock":1519304345,"ns":987654321,"value":0,"eventid":43,"p_eventid":42}
Problem (multiple problem event generation):
{"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"}]}
Recovery:
{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":43}
{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":42}
Item value export
The following information is exported for a collected item value:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | Host name of the item host. | ||
| host | string | Host name. | ||
| name | string | Visible host name. | ||
| groups | array | List of host groups of the item host; there should be at least one element in array. | ||
| - | string | Host group name. | ||
| item_tags | array | List of item tags (can be empty). | ||
| - | object | |||
| tag | string | Tag name. | ||
| value | string | Tag value (can be empty). | ||
| itemid | number | Item ID. | ||
| name | string | Visible item name. | ||
| clock | number | Number of seconds since Epoch to the moment when value was collected (integer part). | ||
| ns | number | Number of nanoseconds to be added to clock to get a precise value collection time. |
||
| timestamp (Log only) |
number | 0 if not available. | ||
| source (Log only) |
string | Empty string if not available. | ||
| severity (Log only) |
number | 0 if not available. | ||
| eventid (Log only) |
number | 0 if not available. | ||
| value | number (for numeric items) or string (for text items) |
Collected item value. | ||
| type | number | Collected value type: 0 - numeric float, 1 - character, 2 - log, 3 - numeric unsigned, 4 - text, 5 - binary, 6 - JSON |
||
Item value export example
Numeric (unsigned) value:
{"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}
Numeric (float) value:
{"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}
Character, text value:
{"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}
Log value:
{"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}
Trends export
The following information is exported for a calculated trend value:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | Host name of the item host. | ||
| host | string | Host name. | ||
| name | string | Visible host name. | ||
| groups | array | List of host groups of the item host; there should be at least one element in array. | ||
| - | string | Host group name. | ||
| item_tags | array | List of item tags (can be empty). | ||
| - | object | |||
| tag | string | Tag name. | ||
| value | string | Tag value (can be empty). | ||
| itemid | number | Item ID. | ||
| name | string | Visible item name. | ||
| clock | number | Number of seconds since Epoch to the moment when value was collected (integer part). | ||
| count | number | Number of values collected for a given hour. | ||
| min | number | Minimum item value for a given hour. | ||
| avg | number | Average item value for a given hour. | ||
| max | number | Maximum item value for a given hour. | ||
| type | number | Value type: 0 - numeric float, 3 - numeric unsigned |
||
Trends export examples
Numeric (unsigned) value:
{"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}
Numeric (float) value:
{"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}