3 Beispiele für die Vorverarbeitung

Übersicht

Dieser Abschnitt enthält Beispiele für die Verwendung von Vorverarbeitungsschritten, um einige praktische Aufgaben zu erfüllen.

Filtern von VMware-Ereignisprotokolleinträgen

In diesem Beispiel wird der Vorverarbeitungsschritt Entspricht regulärem Ausdruck verwendet, um unnötige Ereignisse aus dem VMware-Ereignisprotokoll zu filtern.

1. Prüfen Sie auf einem funktionierenden VMware-Hypervisor-Host, dass der Datenpunkt vmware.eventlog vorhanden ist und ordnungsgemäß funktioniert. Beachten Sie, dass der Datenpunkt für das Ereignisprotokoll auf dem Hypervisor bereits vorhanden sein kann, wenn während der Host-Erstellung eine VMware-Vorlage verknüpft wurde.

2. Erstellen Sie auf dem VMware-Hypervisor-Host einen abhängigen Datenpunkt vom Typ Log und legen Sie den Datenpunkt des Ereignisprotokolls als Master-Datenpunkt fest.

3. Klicken Sie auf der Registerkarte Vorverarbeitung des abhängigen Datenpunkts auf Hinzufügen, um einen Vorverarbeitungsschritt zu erstellen, und wählen Sie Entspricht regulärem Ausdruck aus der Dropdown-Liste aus. Geben Sie dann eines der folgenden Muster an:

  • Zum Filtern aller Protokollereignisse:
.* logged in .*
  • Zum Filtern von Zeilen, die Benutzernamen nach „User“ enthalten:
\bUser\s+\K\S+

Wenn der reguläre Ausdruck nicht übereinstimmt, wird der abhängige Datenpunkt mit einer entsprechenden Fehlermeldung nicht unterstützt. Um dies zu vermeiden, aktivieren Sie das Kontrollkästchen Benutzerdefiniert bei Fehler und wählen Sie eine Option wie das Verwerfen des Werts oder das Setzen eines benutzerdefinierten Werts aus. Bitte beachten Sie, dass verworfene Werte nicht in der Datenbank gespeichert werden; daher werden Auslöser nicht ausgewertet und es werden keine Trenddaten erzeugt.

Alternativ können Sie den Vorverarbeitungsschritt Regulärer Ausdruck verwenden, um übereinstimmende Gruppen zu extrahieren und die Ausgabe zu steuern:

  • Um das gesamte Protokollereignis, das „logged in“ enthält, zu extrahieren und auszugeben, geben Sie die folgenden Parameter an:
Pattern: .*logged in.*
Output: \0
  • Um Benutzernamen nach „User“ zu extrahieren und auszugeben:
Pattern: User (.*?)(?=\ )
Output: \1

Überprüfen des Typs des abgerufenen Werts

Dieses Beispiel verwendet den Vorverarbeitungsschritt Benutzerdefinierter Multiplikator, um zu prüfen, ob der Typ des abgerufenen Datenpunkt-Werts numerisch ist.

Wählen Sie auf der Registerkarte Vorverarbeitung eines Datenpunkts den Vorverarbeitungsschritt Benutzerdefinierter Multiplikator aus und geben Sie den folgenden Parameter an (multipliziert den abgerufenen Wert mit 1):

1

Wenn die Vorverarbeitung fehlschlägt (z. B. wenn die Eingabe nicht numerisch ist), wird der Datenpunkt mit einer entsprechenden Fehlermeldung nicht unterstützt. Um dies zu vermeiden, aktivieren Sie das Kontrollkästchen Benutzerdefiniert bei Fehler und wählen Sie eine Option wie das Verwerfen des Werts oder das Setzen eines benutzerdefinierten Werts aus. Bitte beachten Sie, dass verworfene Werte nicht in der Datenbank gespeichert werden; infolgedessen werden Auslöser nicht ausgewertet und es werden keine Trenddaten erzeugt.

Prüfung auf nicht unterstützten Wert

Dieses Beispiel verwendet den Vorverarbeitungsschritt Prüfung auf nicht unterstützten Wert, um zu prüfen, ob der Datenpunkt-Wert nicht abgerufen werden konnte.

Wenn ein Poller-Prozess von Zabbix Server/Proxy versucht, einen Datenpunkt-Wert zu erfassen, kann er:

  • Ein gültiges Ergebnis zurückgeben.
  • Ein Ergebnis zurückgeben, das zunächst gültig erscheint, aber später nicht unterstützt werden kann (z. B. aufgrund eines Nichtübereinstimmens des Wertetyps nach der Vorverarbeitung).
  • Einen Fehler bei der Erfassung des Werts zurückgeben, wodurch der Datenpunkt nicht unterstützt wird. Häufige Ursachen sind:
    • Unbekannter Datenpunkt-Schlüssel (für Zabbix Agent, einfache Prüfung oder interne Zabbix-Datenpunkte)
    • Unbekannte OID (SNMP-Agent), unbekannter Sensor (IPMI-Agent) oder keine JMX-Metrik (JMX-Agent)
    • Trap-Datei kann nicht gelesen werden (SNMP-Trap)
    • Skript nicht gefunden (externe Prüfung)
    • Keine solche URL (HTTP-Agent, Browser)
    • Anmeldung fehlgeschlagen (SSH-Agent, TELNET-Agent)
    • Ungültige Formelsyntax (berechnet), JavaScript-Syntaxfehler (Skript) oder ungültiges SQL (Datenbankmonitor)

Um Fehler bei der Erfassung von Datenpunkt-Werten zu erkennen und zu behandeln, können Sie den Vorverarbeitungsschritt Prüfung auf nicht unterstützten Wert verwenden. Beachten Sie, dass dieser Schritt immer zuerst ausgeführt wird und nur Fehler erkennt, die auftreten, bevor die Vorverarbeitung beginnt.

Wählen Sie auf der Registerkarte Vorverarbeitung eines Datenpunkts den Vorverarbeitungsschritt Prüfung auf nicht unterstützten Wert aus und geben Sie einen der folgenden Parameter an:

  • Für beliebige Fehler:
Parameter: any error
  • Für Fehler, die „cannot connect“ enthalten:
Parameter: error matches
Pattern: (?i)cannot connect

Verwenden Sie dann die Option Benutzerdefiniert bei Fehler, um den Wert (in diesem Fall den Fehler) zu verwerfen, einen benutzerdefinierten Wert festzulegen oder eine benutzerdefinierte Fehlermeldung zurückzugeben. Bitte beachten Sie, dass verworfene Werte nicht in der Datenbank gespeichert werden; infolgedessen werden Auslöser nicht ausgewertet und es werden keine Trenddaten erzeugt.