- 2 Vorverarbeitung von Datenpunktwerten
- Übersicht
- Konfiguration
- Unterstützte Transformationen
- Regulärer Ausdruck
- Ersetzen
- Trim
- Rechts trimmen
- Linkes Trimmen
- XML XPath
- JSONPath
- CSV in JSON
- XML in JSON
- SNMP-Walk-Wert
- SNMP-Walk zu JSON
- SNMP get value
- Benutzerdefinierter Multiplikator
- Einfache Änderung
- Änderung pro Sekunde
- Boolean in Dezimalzahl umwandeln
- Oktal in Dezimal
- Hexadezimal in Dezimal
- JavaScript
- Im Bereich
- Entspricht dem regulären Ausdruck
- Entspricht nicht dem regulären Ausdruck
- Auf Fehler in JSON prüfen
- Auf Fehler in XML prüfen
- Auf Fehler mithilfe eines regulären Ausdrucks prüfen
- Auf nicht unterstützten Wert prüfen
- Unveränderte Werte verwerfen
- Unveränderte Werte mit Heartbeat verwerfen
- Prometheus-Muster
- Prometheus nach JSON
- Unterstützung von Makros
- Testen
2 Vorverarbeitung von Datenpunktwerten
Übersicht
Die Vorverarbeitung ermöglicht es Ihnen, Transformationen auf die empfangenen Datenpunktwerte anzuwenden, bevor sie in der Datenbank gespeichert werden. Diese Transformationen/Vorverarbeitungsschritte werden vom Zabbix Server oder Proxy ausgeführt (wenn Datenpunkte über einen Proxy überwacht werden).
Diese Funktion unterstützt eine Vielzahl von Anwendungsfällen, zum Beispiel:
- Umwandlung von Byte in Bit (z. B. durch Multiplikation von Netzwerkverkehrswerten mit „8“);
- Berechnung von Statistiken pro Sekunde für inkrementell ansteigende Werte;
- Anwendung regulärer Ausdrücke zum Extrahieren oder Ändern von Werten;
- Ausführung benutzerdefinierter Skripte auf Werten;
- Verwerfen unveränderter Werte zur Optimierung der Datenbankspeicherung.
Für einen Datenpunkt können ein oder mehrere Vorverarbeitungsschritte konfiguriert werden. Diese Schritte werden in der Reihenfolge ausgeführt, in der sie konfiguriert sind.
Wenn ein Vorverarbeitungsschritt fehlschlägt, wird ein Datenpunkt nicht unterstützt.
Dies kann durch die Fehlerbehandlung Benutzerdefiniert bei Fehler vermieden werden (für die meisten Transformationen verfügbar), mit der Sie Werte verwerfen oder benutzerdefinierte Werte festlegen können.
Bei Log-Datenpunkten setzen Log-Metadaten (ohne Wert) den Status „nicht unterstützt“ des Datenpunkts immer zurück, sodass er wieder unterstützt wird.
Dies geschieht auch dann, wenn der ursprüngliche Fehler nach dem Empfang eines Log-Werts vom Agent aufgetreten ist.
Alle an die Vorverarbeitung übergebenen Werte werden zunächst als Zeichenfolgen behandelt. Die Konvertierung in den gewünschten Werttyp (wie in der Datenpunktkonfiguration definiert) erfolgt am Ende der Vorverarbeitungspipeline. Bestimmte Vorverarbeitungsschritte können jedoch bei Bedarf frühere Konvertierungen auslösen. Ausführliche technische Informationen finden Sie unter Details zur Vorverarbeitung.
Um sicherzustellen, dass Ihre Vorverarbeitungskonfiguration wie erwartet funktioniert, können Sie sie testen.
Siehe auch: Beispiele zur Vorverarbeitung
Konfiguration
Vorverarbeitungsschritte werden auf der Registerkarte Vorverarbeitung des Datenpunkt-Konfigurationsformulars definiert.

Klicken Sie auf Hinzufügen, um eine unterstützte Transformation auszuwählen.
Das Feld Informationstyp wird unten auf der Registerkarte angezeigt, sobald mindestens ein Vorverarbeitungsschritt definiert wurde. Falls erforderlich, kann der Informationstyp geändert werden, ohne die Registerkarte Vorverarbeitung zu verlassen. Eine detaillierte Beschreibung der Parameter finden Sie unter Datenpunkt erstellen.
Unterstützte Transformationen
Alle unterstützten Transformationen sind unten aufgeführt.
Klicken Sie auf den Namen einer Transformation, um vollständige Details dazu anzuzeigen.
| Name | Beschreibung | Typ |
|---|---|---|
| Regulärer Ausdruck | Den Wert mit dem regulären Ausdruck abgleichen und durch die erforderliche Ausgabe ersetzen. | Text |
| Ersetzen | Die Suchzeichenfolge finden und durch eine andere Zeichenfolge (oder nichts) ersetzen. | |
| Trimmen | Angegebene Zeichen am Anfang und Ende des Werts entfernen. | |
| Rechts trimmen | Angegebene Zeichen am Ende des Werts entfernen. | |
| Links trimmen | Angegebene Zeichen am Anfang des Werts entfernen. | |
| XML XPath | Einen Wert oder ein Fragment aus XML-Daten mithilfe der XPath-Funktionalität extrahieren. | Strukturierte Daten |
| JSON Path | Einen Wert oder ein Fragment aus JSON-Daten mithilfe der JSONPath-Funktionalität extrahieren. | |
| CSV in JSON | Dateidaten im CSV-Format in das JSON-Format konvertieren. | |
| XML in JSON | Daten im XML-Format in JSON konvertieren. | |
| SNMP-Walk-Wert | Einen Wert anhand des angegebenen OID-/MIB-Namens extrahieren und Formatierungsoptionen anwenden. | SNMP |
| SNMP-Walk in JSON | SNMP-Werte in JSON konvertieren. | |
| SNMP-Get-Wert | Formatierungsoptionen auf den SNMP-Get-Wert anwenden. | |
| Benutzerdefinierter Multiplikator | Den Wert mit dem angegebenen ganzzahligen Wert oder Gleitkommawert multiplizieren. | Arithmetik |
| Einfache Änderung | Die Differenz zwischen dem aktuellen und dem vorherigen Wert berechnen. | Änderung |
| Änderung pro Sekunde | Die Geschwindigkeit der Wertänderung (Differenz zwischen dem aktuellen und dem vorherigen Wert) pro Sekunde berechnen. | |
| Boolesch in Dezimal | Den Wert vom booleschen Format in das Dezimalformat konvertieren. | Zahlensysteme |
| Oktal in Dezimal | Den Wert vom Oktalformat in das Dezimalformat konvertieren. | |
| Hexadezimal in Dezimal | Den Wert vom Hexadezimalformat in das Dezimalformat konvertieren. | |
| JavaScript | JavaScript-Code eingeben. | Benutzerdefinierte Skripte |
| Im Bereich | Einen Bereich definieren, in dem sich ein Wert befinden muss. | Validierung |
| Entspricht einem regulären Ausdruck | Einen regulären Ausdruck angeben, dem ein Wert entsprechen muss. | |
| Entspricht keinem regulären Ausdruck | Einen regulären Ausdruck angeben, dem ein Wert nicht entsprechen darf. | |
| Auf Fehler in JSON prüfen | Auf eine auf Anwendungsebene befindliche Fehlermeldung prüfen, die sich am JSONPath befindet. | |
| Auf Fehler in XML prüfen | Auf eine auf Anwendungsebene befindliche Fehlermeldung prüfen, die sich am XPath befindet. | |
| Mithilfe eines regulären Ausdrucks auf Fehler prüfen | Mithilfe eines regulären Ausdrucks auf eine auf Anwendungsebene befindliche Fehlermeldung prüfen. | |
| Auf nicht unterstützten Wert prüfen | Prüfen, ob kein Datenpunktwert abgerufen werden konnte. | |
| Unveränderte Werte verwerfen | Einen Wert verwerfen, wenn er sich nicht geändert hat. | Drosselung |
| Unveränderte Werte mit Heartbeat verwerfen | Einen Wert verwerfen, wenn er sich innerhalb des definierten Zeitraums nicht geändert hat. | |
| Prometheus-Muster | Die folgende Abfrage verwenden, um die erforderlichen Daten aus Prometheus-Metriken zu extrahieren. | Prometheus |
| Prometheus in JSON | Die erforderlichen Prometheus-Metriken in JSON konvertieren. |
Wenn das Kontrollkästchen Benutzerdefiniert bei Fehler für die ausgewählte Transformation aktiviert ist, können Sie es markieren und benutzerdefinierte Optionen zur Fehlerbehandlung angeben: Wert verwerfen (den Wert verwerfen), Wert setzen auf (einen angegebenen Wert festlegen) oder Fehler setzen auf (eine angegebene Fehlermeldung festlegen).
Wenn ein Vorverarbeitungsschritt fehlschlägt, wird der Datenpunkt nicht als nicht unterstützt markiert, wenn entweder die Option Wert verwerfen oder Wert setzen auf ausgewählt ist.
Beachten Sie, dass Zabbix für Vorverarbeitungsschritte vom Typ Änderung und Drosselung den letzten Wert speichern muss, um den neuen Wert wie erforderlich zu berechnen bzw. zu vergleichen.
Diese vorherigen Werte werden vom Vorverarbeitungsmanager verarbeitet.
Wenn der Zabbix Server oder Proxy neu gestartet wird oder Änderungen an den Vorverarbeitungsschritten vorgenommen werden, wird der letzte Wert des entsprechenden Datenpunkts zurückgesetzt. Dies führt zu Folgendem:
- Bei den Schritten Einfache Änderung und Änderung pro Sekunde wird der nächste Wert ignoriert, da kein vorheriger Wert vorhanden ist, anhand dessen die Änderung berechnet werden kann.
- Bei den Schritten Unveränderte Werte verwerfen und Unveränderte Werte mit Heartbeat verwerfen wird der nächste Wert niemals verworfen, selbst wenn er gemäß den Verwerfungsregeln verworfen werden sollte.
Regulärer Ausdruck
Den Wert mit dem regulären Ausdruck abgleichen und durch die erforderliche Ausgabe ersetzen.
Parameter:
- pattern - der reguläre Ausdruck;
- output - die Vorlage für die Ausgabeformatierung. Eine Escape-Sequenz \N (wobei N=1…9) wird durch die N-te übereinstimmende Gruppe ersetzt. Eine Escape-Sequenz \0 wird durch den übereinstimmenden Text ersetzt.
Hinweise:
- Wenn keine Übereinstimmung mit dem Eingabewert gefunden wird, wird der Datenpunkt nicht unterstützt;
- Der reguläre Ausdruck unterstützt die Extraktion von maximal 10 erfassten Gruppen mit der Sequenz \N;
- Weitere vorhandene Beispiele finden Sie im Abschnitt reguläre Ausdrücke.
Ersetzen
Suchen Sie die Suchzeichenfolge und ersetzen Sie sie durch eine andere (oder nichts).
Parameter:
- Suchzeichenfolge - die zu findende und zu ersetzende Zeichenfolge, Groß-/Kleinschreibung wird beachtet (erforderlich);
- Ersetzung - die Zeichenfolge, durch die die Suchzeichenfolge ersetzt wird. Die Ersetzungszeichenfolge kann auch leer sein, wodurch die Suchzeichenfolge beim Auffinden effektiv gelöscht werden kann.
Kommentare:
- Alle Vorkommen der Suchzeichenfolge werden ersetzt;
- Es ist möglich, Escape-Sequenzen zu verwenden, um nach Zeilenumbrüchen, Wagenrückläufen, Tabulatoren und Leerzeichen "\n \r \t \s" zu suchen oder diese zu ersetzen; der Backslash kann als "\\" maskiert werden und Escape-Sequenzen können als "\\n" maskiert werden;
- Das Maskieren von Zeilenumbrüchen, Wagenrückläufen und Tabulatoren erfolgt bei der Low-Level-Discovery automatisch.
Trim
Entfernt angegebene Zeichen vom Anfang und Ende des Werts.
Rechts trimmen
Entfernt die angegebenen Zeichen vom Ende des Werts.
Linkes Trimmen
Entfernt angegebene Zeichen vom Anfang des Werts.
XML XPath
Extrahieren Sie Werte oder Fragmente aus XML-Daten mithilfe der XPath-Funktionalität.
Hinweise:
- Damit diese Option funktioniert, muss der Zabbix Server (oder Zabbix Proxy) mit libxml-Unterstützung kompiliert worden sein;
- Namespaces werden nicht unterstützt.
Beispiele:
number(/document/item/value) #extrahiert „10“ aus <document><item><value>10</value></item></document>
number(/document/item/@attribute) #extrahiert „10“ aus <document><item attribute="10"></item></document>
/document/item #extrahiert „<item><value>10</value></item>“ aus <document><item><value>10</value></item></document>
JSONPath
Extrahieren Sie einen Wert oder ein Fragment aus JSON-Daten mithilfe der JSONPath-Funktionalität.
CSV in JSON
Konvertiert Daten aus CSV-Dateien in das JSON-Format.
Weitere Informationen finden Sie unter: CSV-in-JSON-Präprozessierung.
XML in JSON
Konvertiert Daten im XML-Format in JSON.
Weitere Informationen finden Sie unter: Serialisierungsregeln.
SNMP-Walk-Wert
Extrahiert den Wert anhand der angegebenen OID-/MIB-Bezeichnung und wendet Formatierungsoptionen an:
- Unverändert – gibt die Hex-Zeichenfolge als nicht maskierte Hex-Zeichenfolge zurück (beachten Sie, dass Anzeigehinweise weiterhin angewendet werden);
- UTF-8 aus HEX-STRING – konvertiert die Hex-Zeichenfolge in eine UTF-8-Zeichenfolge;
- MAC aus HEX-STRING – validiert die Hex-Zeichenfolge als MAC-Adresse und gibt eine gültige MAC-Adresszeichenfolge zurück (wobei
' 'durch':'ersetzt wird); - Ganzzahl aus BITS – konvertiert die ersten 8 Bytes einer Bit-Zeichenfolge, die als Folge von Hexadezimalzeichen dargestellt wird (z. B. „1A 2B 3C 4D“), in eine vorzeichenlose 64-Bit-Ganzzahl. Bei Bit-Zeichenfolgen mit mehr als 8 Bytes werden die nachfolgenden Bytes ignoriert.
SNMP-Walk zu JSON
Konvertiert SNMP-Werte in JSON.
Geben Sie einen Feldnamen im JSON und den entsprechenden SNMP-OID-Pfad an.
Die Feldwerte werden mit den Werten aus dem angegebenen SNMP-OID-Pfad befüllt.
Kommentare:
- Es sind ähnliche Optionen zur Werteformatierung wie im Schritt SNMP-Walk-Wert verfügbar;
- Sie können diesen Vorverarbeitungsschritt für die SNMP-OID-Ermittlung verwenden.
SNMP get value
Formatierungsoptionen auf den SNMP-get-Wert anwenden:
- UTF-8 from Hex-STRING – Hex-String in einen UTF-8-String konvertieren;
- MAC from Hex-STRING – Hex-String als MAC-Adresse validieren und einen korrekten MAC-Adress-String zurückgeben (wobei
' 'durch':'ersetzt wird); - Integer from BITS – die ersten 8 Bytes eines Bit-Strings, der als Folge von Hexadezimalzeichen (z. B. „1A 2B 3C 4D“) ausgedrückt wird, in eine vorzeichenlose 64-Bit-Ganzzahl konvertieren. Bei Bit-Strings mit mehr als 8 Bytes werden die nachfolgenden Bytes ignoriert.
Benutzerdefinierter Multiplikator
Multipliziert den Wert mit dem angegebenen ganzzahligen Wert oder Gleitkommawert.
Kommentare:
- Verwenden Sie diese Option, um Werte, die in KB, MBps usw. empfangen werden, in B, Bps umzuwandeln.
Andernfalls kann Zabbix Präfixe (K, M, G usw.) nicht korrekt festlegen.
- Beachten Sie, dass bei einem Datenpunkttyp Numerisch (ohne Vorzeichen) eingehende Werte mit einem Nachkommateil (z. B. „0.9“) vor der Anwendung des benutzerdefinierten Multiplikators gekürzt werden (d. h. „0.9“ wird zu „0“);
- Wenn Sie einen benutzerdefinierten Multiplikator verwenden oder den Wert für Datenpunkte mit dem Informationstyp Numerisch (ohne Vorzeichen) als Änderung pro Sekunde speichern und der daraus resultierende berechnete Wert tatsächlich eine Gleitkommazahl ist, wird der berechnete Wert dennoch als korrekt akzeptiert, indem der Dezimalteil gekürzt und der Wert als Ganzzahl gespeichert wird;
- Unterstützt werden wissenschaftliche Schreibweisen, z. B.
1e+70; Benutzermakros und LLD-Makros; Zeichenfolgen, die Makros enthalten, z. B.{#MACRO}e+10,{$MACRO1}e+{$MACRO2}. Die Makros müssen zu einer Ganzzahl oder einer Gleitkommazahl aufgelöst werden.
Einfache Änderung
Berechnet die Differenz zwischen dem aktuellen und dem vorherigen Wert.
Kommentare:
- Dieser Schritt kann nützlich sein, um einen kontinuierlich wachsenden Wert zu messen;
- Wird als value-prev_value ausgewertet, wobei value der aktuelle Wert und prev_value der zuvor empfangene Wert ist;
- Pro Datenpunkt ist nur eine Änderungsoperation („Einfache Änderung“ oder „Änderung pro Sekunde“) zulässig;
- Wenn der aktuelle Wert kleiner als der vorherige Wert ist, verwirft Zabbix diese Differenz (speichert nichts) und wartet auf einen weiteren Wert.
Änderung pro Sekunde
Berechnet die Geschwindigkeit der Wertänderung (Differenz zwischen dem aktuellen und dem vorherigen Wert) pro Sekunde.
Kommentare:
- Dieser Schritt ist nützlich, um die Geschwindigkeit pro Sekunde eines kontinuierlich wachsenden Werts zu berechnen;
- Da diese Berechnung Gleitkommazahlen erzeugen kann, wird empfohlen, den „Informationstyp“ auf Numerisch (Gleitkommazahl) zu setzen, selbst wenn die eingehenden Rohwerte Ganzzahlen sind.
Dies ist besonders bei kleinen Zahlen relevant, bei denen der Dezimalteil von Bedeutung ist.
Wenn die Gleitkommawerte groß sind und die Feldlänge von „float“ überschreiten können, wodurch möglicherweise der gesamte Wert verloren geht, wird tatsächlich empfohlen, Numerisch (unsigned) zu verwenden und dadurch nur den Dezimalteil abzuschneiden.
- Wird als (value-prev_value)/(time-prev_time) ausgewertet, wobei value - der aktuelle Wert; prev_value - der zuvor empfangene Wert; time - der aktuelle Zeitstempel; prev_time - der Zeitstempel des vorherigen Werts;
- Pro Datenpunkt ist nur eine Änderungsoperation („Einfache Änderung“ oder „Änderung pro Sekunde“) zulässig;
- Wenn der aktuelle Wert kleiner als der vorherige Wert ist, verwirft Zabbix diese Differenz (speichert nichts) und wartet auf einen weiteren Wert. Dies hilft beispielsweise bei einem Überlauf von 32-Bit-SNMP-Zählern, korrekt zu arbeiten.
Boolean in Dezimalzahl umwandeln
Wandelt den Wert vom booleschen Format in eine Dezimalzahl um.
Kommentare:
- Die textuelle Darstellung wird entweder in 0 oder 1 umgewandelt. Daher wird „TRUE“ als 1 und „FALSE“ als 0 gespeichert. Alle Werte werden ohne Berücksichtigung der Groß-/Kleinschreibung abgeglichen. Derzeit werden für TRUE folgende Werte erkannt: true, t, yes, y, on, up, running, enabled, available, ok, master; für FALSE: false, f, no, n, off, down, unused, disabled, unavailable, err, slave. Zusätzlich wird jeder numerische Wert ungleich null als TRUE und null als FALSE betrachtet.
Oktal in Dezimal
Konvertiert den Wert vom Oktalformat in eine Dezimalzahl.
Hexadezimal in Dezimal
Konvertiert den Wert vom Hexadezimalformat in eine Dezimalzahl.
JavaScript
Geben Sie JavaScript-Code im modalen Editor ein, der sich öffnet, wenn Sie in das Parameterfeld oder auf das Stiftsymbol daneben klicken.
Verwenden Sie in der Vorverarbeitungs-JavaScript keine nicht deklarierten Zuweisungen.
Verwenden Sie var, um lokale Variablen zu deklarieren.
Kommentare:
- Die verfügbare JavaScript-Länge hängt von der verwendeten Datenbank ab;
- Weitere Informationen finden Sie unter: Javascript-Vorverarbeitung.
Im Bereich
Definieren Sie einen Bereich, in dem ein Wert liegen soll, indem Sie Minimal- und Maximalwerte (einschließlich der Grenzwerte) angeben.
Kommentare:
- Numerische Werte werden akzeptiert (einschließlich einer beliebigen Anzahl von Ziffern, eines optionalen Dezimalteils und eines optionalen Exponentialteils sowie negativer Werte);
- Der Minimalwert muss kleiner als der Maximalwert sein;
- Mindestens ein Wert muss vorhanden sein;
- Benutzermakros und Makros der Low-Level-Discovery können verwendet werden.
Entspricht dem regulären Ausdruck
Geben Sie einen regulären Ausdruck an, dem ein Wert entsprechen muss.
Entspricht nicht dem regulären Ausdruck
Geben Sie einen regulären Ausdruck an, mit dem ein Wert nicht übereinstimmen darf.
Auf Fehler in JSON prüfen
Prüft auf eine Fehlermeldung auf Anwendungsebene, die sich am JSONPath befindet.
Beendet die Verarbeitung, wenn die Prüfung erfolgreich war und die Meldung nicht leer ist; andernfalls wird die Verarbeitung mit dem Wert fortgesetzt, der vor diesem Vorverarbeitungsschritt vorhanden war.
Kommentare:
- Diese Fehler externer Dienste werden dem Benutzer unverändert gemeldet, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen;
- Beim Fehlschlagen der Analyse von ungültigem JSON wird kein Fehler gemeldet.
Auf Fehler in XML prüfen
Prüft auf eine Fehlermeldung auf Anwendungsebene, die sich am XPath befindet. Beendet die Verarbeitung, wenn die Prüfung erfolgreich war und die Meldung nicht leer ist; andernfalls wird die Verarbeitung mit dem Wert fortgesetzt, der vor diesem Vorverarbeitungsschritt vorhanden war.
Kommentare:
- Diese Fehler externer Dienste werden dem Benutzer unverändert gemeldet, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen;
- Falls ungültiges XML nicht geparst werden kann, wird kein Fehler gemeldet.
Auf Fehler mithilfe eines regulären Ausdrucks prüfen
Mithilfe eines regulären Ausdrucks auf eine Fehlermeldung auf Anwendungsebene prüfen.
Die Verarbeitung beenden, wenn die Prüfung erfolgreich war und die Meldung nicht leer ist; andernfalls die Verarbeitung mit dem Wert fortsetzen, der vor diesem Vorverarbeitungsschritt vorhanden war.
Parameter:
- pattern - der reguläre Ausdruck;
- output - die Vorlage für die Ausgabeformatierung.
Eine Escape-Sequenz \N (wobei N=1…9) wird durch die N-te übereinstimmende Gruppe ersetzt.
Eine Escape-Sequenz \0 wird durch den übereinstimmenden Text ersetzt.
Kommentare:
- Diese Fehler externer Dienste werden dem Benutzer unverändert gemeldet, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen.
Auf nicht unterstützten Wert prüfen
Prüfen, ob kein Datenpunktwert abgerufen werden konnte. Geben Sie an, wie der Fehler verarbeitet werden soll, basierend auf der Prüfung der zurückgegebenen Fehlermeldung.
Parameter:
- scope - Wählen Sie den Bereich der Fehlerverarbeitung aus:
any error - jeder Fehler;
error matches - nur der Fehler, der dem unter pattern angegebenen regulären Ausdruck entspricht;
error does not match - nur der Fehler, der nicht dem unter pattern angegebenen regulären Ausdruck entspricht - pattern - der reguläre Ausdruck, mit dem der Fehler abgeglichen werden soll.
Wenn im Parameter scope any error ausgewählt ist, wird dieses Feld nicht angezeigt.
Wenn dieses Feld angezeigt wird, ist es obligatorisch.
Kommentare:
- Normalerweise würde das Fehlen eines Werts bzw. ein Fehler beim Abrufen eines Werts dazu führen, dass der Datenpunkt nicht unterstützt wird. Dieser Vorverarbeitungsschritt ermöglicht es Ihnen, dieses Verhalten zu ändern.
- Dieser Vorverarbeitungsschritt prüft nur, ob kein Datenpunktwert abgerufen werden konnte. Er prüft beispielsweise nicht, ob der Typ des abgerufenen Werts (z. B. Zeichenfolge) mit dem Informationstyp des Datenpunkts (z. B. numerisch) übereinstimmt; Einzelheiten finden Sie unter Beispiele für die Vorverarbeitung. Bei einer Typabweichung kann der Datenpunkt weiterhin nicht unterstützt werden, nachdem alle Vorverarbeitungsschritte ausgeführt wurden. Um eine Typabweichung zu prüfen, können Sie beispielsweise den Vorverarbeitungsschritt Custom multiplier verwenden; siehe Beispiele für die Vorverarbeitung.
- Das Erfassen von Gruppen regulärer Ausdrücke wird in den Feldern Set value to oder Set error to unterstützt. Verwenden Sie \N (wobei N=1…9), um die N-te übereinstimmende Gruppe abzurufen; verwenden Sie \0, um den übereinstimmenden Text abzurufen;
- Diese Schritte werden immer als erste Vorverarbeitungsschritte ausgeführt und nach dem Speichern der Änderungen am Datenpunkt oberhalb aller anderen Schritte platziert;
- Mehrere Schritte Auf nicht unterstützten Wert prüfen werden in der angegebenen Reihenfolge unterstützt. Ein Schritt für any error wird automatisch als letzter Schritt in dieser Gruppe platziert.
Unveränderte Werte verwerfen
Verwirft einen Wert, wenn er sich nicht geändert hat.
Kommentare:
- Wenn ein Wert verworfen wird, wird er nicht in der Datenbank gespeichert und der Zabbix Server hat keine Kenntnis davon, dass dieser Wert empfangen wurde.
Es werden keine Auslöser-Ausdrücke ausgewertet; infolgedessen werden für zugehörige Auslöser keine Probleme erstellt/gelöst.
Funktionen arbeiten nur auf Basis der Daten, die tatsächlich in der Datenbank gespeichert sind.
Da Trends auf Basis der Daten in der Datenbank erstellt werden, gibt es für eine Stunde auch keine Trenddaten, wenn für diese Stunde kein Wert gespeichert wurde.
- Pro Datenpunkt kann nur eine Drosselungsoption angegeben werden.
Unveränderte Werte mit Heartbeat verwerfen
Einen Wert verwerfen, wenn er innerhalb des definierten Zeitraums (in Sekunden) nicht geändert wurde.
Kommentare:
- Positive Ganzzahlen können zur Angabe der Sekunden verwendet werden (Minimum: 1 Sekunde);
- Zeitsuffixe können verwendet werden (z. B.
30s,1m,2h,1d);
- Benutzermakros und Makros der Low-Level-Discovery können verwendet werden;
- Wenn ein Wert verworfen wird, wird er nicht in der Datenbank gespeichert, und der Zabbix Server weiß nicht, dass dieser Wert empfangen wurde.
Es werden keine Ausdrücke von Auslösern ausgewertet. Daher werden für die zugehörigen Auslöser keine Probleme erstellt oder behoben.
Funktionen arbeiten nur auf Grundlage der Daten, die tatsächlich in der Datenbank gespeichert sind.
Da Trends auf Grundlage der Daten in der Datenbank erstellt werden, gibt es für eine Stunde auch keine Trenddaten, wenn für diese Stunde kein Wert gespeichert wurde.
- Pro Datenpunkt kann nur eine Drosselungsoption angegeben werden.
Prometheus-Muster
Verwenden Sie die folgende Abfrage, um die erforderlichen Daten aus Prometheus-Metriken zu extrahieren.
Weitere Details finden Sie unter Prometheus-Prüfungen.
Prometheus nach JSON
Konvertiert die erforderlichen Prometheus-Metriken in JSON.
Weitere Details finden Sie unter Prometheus-Prüfungen.
Unterstützung von Makros
Benutzermakros und Benutzermakros mit Kontext werden unterstützt in:
- Parametern von Vorverarbeitungsschritten, einschließlich JavaScript-Code;
- benutzerdefinierten Parametern für die Fehlerbehandlung (Felder Wert setzen auf und Fehler setzen auf).
Der Makrokontext wird ignoriert, wenn ein Makro durch seinen Wert ersetzt wird. Der Makrowert wird unverändert in den Code eingefügt; es ist nicht möglich, vor dem Einfügen des Werts in den JavaScript-Code zusätzliches Escaping hinzuzufügen. Bitte beachten Sie, dass dies in einigen Fällen JavaScript-Fehler verursachen kann.
Testen
Siehe Testen der Vorverarbeitung.