1 Esporta su file

Panoramica

È possibile configurare l'esportazione in tempo reale degli eventi di trigger, dei valori degli item e dei trend in un formato JSON delimitato da newline.

L'esportazione viene effettuata in file, in cui ogni riga del file di esportazione è un oggetto JSON. Le mappature dei valori non vengono applicate.

In caso di errori (i dati non possono essere scritti nel file di esportazione oppure il file di esportazione non può essere rinominato o non può esserne creato uno nuovo dopo la rinomina), il dato viene scartato e non viene mai scritto nel file di esportazione. Viene scritto solo nel database di Zabbix. La scrittura dei dati nel file di esportazione riprende quando il problema di scrittura viene risolto.

Il file di esportazione viene creato con permessi di lettura e scrittura solo per il proprietario del file. Inoltre, il file è leggibile dal gruppo del proprietario. Tutti gli altri permessi sono negati.

Si noti che host/item può non avere metadati (gruppi host, nome host, nome item) se l'host/item è stato rimosso dopo la ricezione dei dati, ma prima che il server esportasse i dati.

Configurazione

L'esportazione in tempo reale degli eventi dei trigger, dei valori degli item e dei trend viene configurata specificando una directory per i file di esportazione - vedere il parametro ExportDir nella configurazione del server.

Sono disponibili altri due parametri:

  • ExportFileSize può essere usato per impostare la dimensione massima consentita di un singolo file di esportazione. Quando un processo deve scrivere in un file, ne controlla prima la dimensione. Se supera il limite di dimensione configurato, il file viene rinominato aggiungendo .old al nome e viene creato un nuovo file con il nome originale.

Verrà creato un file per ogni processo che scriverà dati (cioè circa 4-30 file). Poiché la dimensione predefinita di ciascun file di esportazione è 1G, mantenere file di esportazione di grandi dimensioni può esaurire rapidamente lo spazio su disco.

  • ExportType consente di specificare quali tipi di entità (eventi, history, trend) verranno esportati.

Protocollo di esportazione JSON delimitato da newline

Questa sezione presenta i dettagli del protocollo di esportazione in un formato JSON delimitato da newline, utilizzato in:

Tutti i file hanno estensione .ndjson. Ogni riga del file di esportazione è un oggetto JSON.

Esportazione dell'evento trigger

Le seguenti informazioni vengono esportate per un evento di problema:

Field Type Description
clock number Numero di secondi trascorsi dall'Epoch al momento in cui il problema è stato rilevato (parte intera).
ns number Numero di nanosecondi da aggiungere a clock per ottenere un orario preciso di rilevamento del problema.
value number 1 (sempre).
eventid number ID dell'evento di problema.
name string Nome dell'evento di problema.
severity number Gravità dell'evento di problema (0 - Non classificato, 1 - Informazione, 2 - Avviso, 3 - Medio, 4 - Alto, 5 - Disastro).
hosts array Elenco degli host coinvolti nell'espressione del trigger; deve esserci almeno un elemento nell'array.
- object
host string Nome dell'host.
name string Nome visibile dell'host.
groups array Elenco dei gruppi di host di tutti gli host coinvolti nell'espressione del trigger; deve esserci almeno un elemento nell'array.
- string Nome del gruppo di host.
tags array Elenco dei tag del problema (può essere vuoto).
- object
tag string Nome del tag.
value string Valore del tag (può essere vuoto).

Le seguenti informazioni vengono esportate per un evento di ripristino:

Field Type Description
clock number Numero di secondi trascorsi dall'Epoch al momento in cui il problema è stato risolto (parte intera).
ns number Numero di nanosecondi da aggiungere a clock per ottenere un orario preciso di risoluzione del problema.
value number 0 (sempre).
eventid number ID dell'evento di ripristino.
p_eventid number ID dell'evento di problema.
Esempi di esportazione degli eventi trigger

Problema:

{"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"}]}

Ripristino:

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

Problema (generazione di eventi problema multipli):

{"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"}]}

Ripristino:

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

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

Esportazione del valore dell'item

Le seguenti informazioni vengono esportate per un valore di item raccolto:

Field Type Description
host object Nome host dell'host dell'item.
host string Nome host.
name string Nome host visibile.
groups array Elenco dei gruppi host dell'host dell'item; nell'array deve essere presente almeno un elemento.
- string Nome del gruppo host.
item_tags array Elenco dei tag dell'item (può essere vuoto).
- object
tag string Nome del tag.
value string Valore del tag (può essere vuoto).
itemid number ID dell'item.
name string Nome visibile dell'item.
clock number Numero di secondi trascorsi dall'Epoch al momento in cui il valore è stato raccolto (parte intera).
ns number Numero di nanosecondi da aggiungere a clock per ottenere un tempo di raccolta del valore preciso.
timestamp
(Log only)
number 0 se non disponibile.
source
(Log only)
string Stringa vuota se non disponibile.
severity
(Log only)
number 0 se non disponibile.
eventid
(Log only)
number 0 se non disponibile.
value number (for numeric items) or
string (for text items)
Valore dell'item raccolto.
type number Tipo di valore raccolto:
0 - numerico float, 1 - carattere, 2 - log, 3 - numerico unsigned, 4 - testo, 5 - binario, 6 - JSON
Esempio di esportazione del valore dell'item

Valore numerico (senza segno):

{"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}

Valore numerico (float):

{"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}

Valore carattere, testo:

{"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}

Valore di log:

{"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}

Esportazione delle tendenze

Le seguenti informazioni vengono esportate per un valore di tendenza calcolato:

Field Type Description
host object Nome host dell'host dell'item.
host string Nome host.
name string Nome host visibile.
groups array Elenco dei gruppi host dell'host dell'item; nell'array deve essere presente almeno un elemento.
- string Nome del gruppo host.
item_tags array Elenco dei tag dell'item (può essere vuoto).
- object
tag string Nome del tag.
value string Valore del tag (può essere vuoto).
itemid number ID dell'item.
name string Nome visibile dell'item.
clock number Numero di secondi dall'Epoch al momento in cui il valore è stato raccolto (parte intera).
count number Numero di valori raccolti per una determinata ora.
min number Valore minimo dell'item per una determinata ora.
avg number Valore medio dell'item per una determinata ora.
max number Valore massimo dell'item per una determinata ora.
type number Tipo di valore:
0 - float numerico, 3 - unsigned numerico
Esempi di esportazione delle tendenze

Valore numerico (unsigned):

{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":3,"name":"Disponibilità dell'agent","clock":1519311600,"count":60,"min":1,"avg":1,"max":1,"type":3}

Valore numerico (float):

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