- Datenpunkt-Wert-Vorverarbeitung
- Übersicht
- Konfiguration
- Unterstützte Transformationen
- Regulärer Ausdruck
- Ersetzen
- Trim
- Rechts trimmen
- Linkes Trimmen
- XML XPath
- JSON-Pfad
- CSV in JSON
- XML in JSON
- SNMP-Walk-Wert
- SNMP walk zu JSON
- SNMP-Get-Wert
- 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 einen 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
Datenpunkt-Wert-Vorverarbeitung
Ü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 Preprocessing des Datenpunkt-Konfigurationsformulars definiert.

Klicken Sie auf Add, um eine unterstützte Transformation auszuwählen.
Das Feld Type of information wird am unteren Rand der Registerkarte angezeigt, sobald mindestens ein Vorverarbeitungsschritt definiert ist. Bei Bedarf kann der Informationstyp geändert werden, ohne die Registerkarte Preprocessing zu verlassen. Eine detaillierte Beschreibung der Parameter finden Sie unter Erstellen eines Datenpunkts.
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 einem 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 am JSONPath prüfen. | |
| Auf Fehler in XML prüfen | Auf eine auf Anwendungsebene befindliche Fehlermeldung am XPath prüfen. | |
| 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 der 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 – 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:
- Wenn für den Eingabewert keine Übereinstimmung 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
Extrahiert einen Wert oder ein Fragment aus XML-Daten mithilfe der XPath-Funktionalität.
Kommentare:
- Damit diese Option funktioniert, muss der Zabbix Server (oder Zabbix Proxy) mit Unterstützung für libxml 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>
JSON-Pfad
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
Konvertieren Sie 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 stehen ähnliche Optionen zur Werteformatierung wie im Schritt SNMP walk value zur Verfügung;
- Sie können diesen Vorverarbeitungsschritt für die SNMP-OID-Ermittlung verwenden.
SNMP-Get-Wert
Wenden Sie Formatierungsoptionen auf den SNMP-Get-Wert an:
- UTF-8 aus Hex-STRING – konvertiert eine 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 Bitzeichenfolge, die als Folge von Hexadezimalzeichen dargestellt wird (z. B. „1A 2B 3C 4D“), in eine vorzeichenlose 64-Bit-Ganzzahl. Bei Bitzeichenfolgen mit mehr als 8 Bytes werden die nachfolgenden Bytes ignoriert.
Benutzerdefinierter Multiplikator
Multipliziert den Wert mit der angegebenen Ganzzahl oder Gleitkommazahl.
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 Datentyp Numerisch (vorzeichenlos) 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 Datentyp Numerisch (vorzeichenlos) 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 abgeschnitten und der Wert als Ganzzahl gespeichert wird;
- Unterstützt werden wissenschaftliche Schreibweisen, z. B.
1e+70, Benutzermakros und LLD-Makros sowie Zeichenfolgen, die Makros enthalten, z. B.{#MACRO}e+10,{$MACRO1}e+{$MACRO2}. Die Makros müssen zu einer Ganzzahl oder 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 eine Rolle spielt.
Wenn die Gleitkommawerte groß sind und die Feldlänge von „float“ überschreiten können, wodurch der gesamte Wert verloren gehen kann, wird tatsächlich empfohlen, Numerisch (vorzeichenlos) 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 beim korrekten Umgang mit einem Überlauf von 32-Bit-SNMP-Zählern.
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. Außerdem wird jeder numerische Wert ungleich null als TRUE und null als FALSE betrachtet.
Oktal in Dezimal
Konvertiert den Wert vom Oktalformat in das Dezimalformat.
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-/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 einen 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;
- Falls ungültiges JSON nicht analysiert werden kann, 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 ist 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 XML 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 ist 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 Fehlerverarbeitungsbereich 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. das Fehlschlagen seines Abrufs 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. eine Zeichenkette) mit dem Informationstyp des Datenpunkts (z. B. numerisch) übereinstimmt. Weitere Informationen 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 vom Typ Check for not supported value 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:
- Zur Angabe der Sekunden werden positive Ganzzahlen unterstützt (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 zugehörige 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.