1 Export in Dateien

Übersicht

Es ist möglich, den Echtzeit-Export von Auslöser-Ereignissen, Datenpunkt-Werten und Trends im newline-delimited JSON-Format zu konfigurieren.

Der Export erfolgt in Dateien, wobei jede Zeile der Exportdatei ein JSON-Objekt ist. Wertzuordnungen werden nicht angewendet.

Im Fehlerfall (Daten können nicht in die Exportdatei geschrieben werden, die Exportdatei kann nicht umbenannt werden oder nach dem Umbenennen kann keine neue Datei erstellt werden), wird der Datenpunkt verworfen und nie in die Exportdatei geschrieben. Er wird nur in der Zabbix-Datenbank gespeichert. Das Schreiben von Daten in die Exportdatei wird fortgesetzt, sobald das Schreibproblem behoben ist.

Die Exportdatei wird mit Lese- und Schreibberechtigungen nur für den Dateieigentümer erstellt. Zusätzlich ist die Datei für die Eigentümergruppe lesbar. Alle anderen Berechtigungen werden verweigert.

Beachten Sie, dass Host/Datenpunkt keine Metadaten (Hostgruppen, Hostname, Datenpunktname) haben kann, wenn der Host/Datenpunkt entfernt wurde, nachdem die Daten empfangen wurden, aber bevor der Server die Daten exportiert hat.

Konfiguration

Der Echtzeit-Export von Auslöser-Ereignissen, Datenpunktwerten und Trends wird durch die Angabe eines Verzeichnisses für die Exportdateien konfiguriert - siehe den Parameter ExportDir in der Serverkonfiguration.

Zwei weitere Parameter sind verfügbar:

  • ExportFileSize kann verwendet werden, um die maximal zulässige Größe einer einzelnen Exportdatei festzulegen. Wenn ein Prozess in eine Datei schreiben muss, prüft er zunächst die Größe der Datei. Wenn sie das konfigurierte Größenlimit überschreitet, wird die Datei umbenannt, indem .old an ihren Namen angehängt wird, und eine neue Datei mit dem ursprünglichen Namen wird erstellt.

Für jeden Prozess, der Daten schreibt, wird eine Datei erstellt (d. h. ungefähr 4-30 Dateien). Da die Standardgröße pro Exportdatei 1G beträgt, kann das Beibehalten großer Exportdateien den Speicherplatz auf dem Datenträger schnell aufbrauchen.

  • ExportType ermöglicht die Angabe, welche Entitätstypen (Ereignisse, Verlauf, Trends) exportiert werden.

Newline-delimited JSON-Exportprotokoll

Dieser Abschnitt enthält Details zum Exportprotokoll in einem newline-delimited JSON-Format, das verwendet wird in:

Alle Dateien haben die Erweiterung .ndjson. Jede Zeile der Exportdatei ist ein JSON-Objekt.

Auslöser-Ereignis-Export

Die folgenden Informationen werden für ein Problemereignis exportiert:

Field Type Description
clock number Anzahl der Sekunden seit der Unix-Epoche bis zum Zeitpunkt, an dem das Problem erkannt wurde (Ganzzahlteil).
ns number Anzahl der Nanosekunden, die zu clock addiert werden, um den genauen Zeitpunkt der Problemerkennung zu erhalten.
value number 1 (immer).
eventid number ID des Problemereignisses.
name string Name des Problemereignisses.
severity number Schweregrad des Problemereignisses (0 - Nicht klassifiziert, 1 - Information, 2 - Warnung, 3 - Durchschnittlich, 4 - Hoch, 5 - Katastrophal).
hosts array Liste der Hosts, die an dem Ausdrück des Auslösers beteiligt sind; im Array muss mindestens ein Element vorhanden sein.
- object
host string Host-Name.
name string Sichtbarer Host-Name.
groups array Liste der Host-Gruppen aller Hosts, die an dem Ausdrück des Auslösers beteiligt sind; im Array muss mindestens ein Element vorhanden sein.
- string Name der Host-Gruppe.
tags array Liste der Problem-Tags (kann leer sein).
- object
tag string Tag-Name.
value string Tag-Wert (kann leer sein).

Die folgenden Informationen werden für ein Wiederherstellungsereignis exportiert:

Field Type Description
clock number Anzahl der Sekunden seit der Unix-Epoche bis zum Zeitpunkt, an dem das Problem behoben wurde (Ganzzahlteil).
ns number Anzahl der Nanosekunden, die zu clock addiert werden, um den genauen Zeitpunkt der Problembehebung zu erhalten.
value number 0 (immer).
eventid number ID des Wiederherstellungsereignisses.
p_eventid number ID des Problemereignisses.
Beispiele für den Export von Auslöser-Ereignissen

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

Wiederherstellung:

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

Problem (Generierung mehrerer Problemereignisse):

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

Wiederherstellung:

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

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

Item-Wert-Export

Die folgenden Informationen werden für einen erfassten Datenpunktwert exportiert:

Field Type Description
host object Host-Name des Datenpunkt-Hosts.
host string Host-Name.
name string Angezeigter Host-Name.
groups array Liste der Host-Gruppen des Datenpunkt-Hosts; das Array sollte mindestens ein Element enthalten.
- string Name der Host-Gruppe.
item_tags array Liste der Datenpunkt-Tags (kann leer sein).
- object
tag string Tag-Name.
value string Tag-Wert (kann leer sein).
itemid number Datenpunkt-ID.
name string Angezeigter Datenpunktname.
clock number Anzahl der Sekunden seit der Unix-Epoche zum Zeitpunkt der Wert-Erfassung (Ganzzahlteil).
ns number Anzahl der Nanosekunden, die zu clock addiert werden, um den genauen Zeitpunkt der Wert-Erfassung zu erhalten.
timestamp
(Log only)
number 0, falls nicht verfügbar.
source
(Log only)
string Leerer String, falls nicht verfügbar.
severity
(Log only)
number 0, falls nicht verfügbar.
eventid
(Log only)
number 0, falls nicht verfügbar.
value number (for numeric items) or
string (for text items)
Erfasster Datenpunktwert.
type number Typ des erfassten Werts:
0 - numerisch float, 1 - Zeichen, 2 - Log, 3 - numerisch unsigned, 4 - Text, 5 - binär, 6 - JSON
Beispiel für den Export von Datenpunktwerten

Numerischer Wert (vorzeichenlos):

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

Numerischer Wert (Gleitkomma):

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

Zeichen- und Textwert:

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

Logwert:

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

Die folgenden Informationen werden für einen berechneten Trendwert exportiert:

Field Type Description
host object Host-Name des Hosts des Datenpunkts.
host string Host-Name.
name string Angezeigter Host-Name.
groups array Liste der Host-Gruppen des Hosts des Datenpunkts; das Array sollte mindestens ein Element enthalten.
- string Name der Host-Gruppe.
item_tags array Liste der Datenpunkt-Tags (kann leer sein).
- object
tag string Tag-Name.
value string Tag-Wert (kann leer sein).
itemid number Datenpunkt-ID.
name string Angezeigter Datenpunkt-Name.
clock number Anzahl der Sekunden seit der Unix-Epoche zum Zeitpunkt der Erfassung des Werts (Ganzzahlteil).
count number Anzahl der für eine bestimmte Stunde erfassten Werte.
min number Minimaler Datenpunktwert für eine bestimmte Stunde.
avg number Durchschnittlicher Datenpunktwert für eine bestimmte Stunde.
max number Maximaler Datenpunktwert für eine bestimmte Stunde.
type number Werttyp:
0 - numerisch Gleitkomma, 3 - numerisch ohne Vorzeichen

Numerischer Wert (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":"Agent availability","clock":1519311600,"count":60,"min":1,"avg":1,"max":1,"type":3}

Numerischer Wert (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":1519311600,"count":60,"min":0.01,"avg":0.15,"max":1.5,"type":0}