[comment]: # translation:outdated

[comment]: # ({ee805b92-1a3ec895})
# 3 Beispiele für die Vorverarbeitung

[comment]: # ({/ee805b92-1a3ec895})

[comment]: # ({c85251c8-f4923ce3})
#### Übersicht

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

[comment]: # ({/c85251c8-f4923ce3})

[comment]: # ({22bc082b-6c9dfb09})
#### Filtern von VMware-Ereignisprotokolleinträgen

In diesem Beispiel wird der Vorverarbeitungsschritt [Entspricht regulärem Ausdruck](/manual/config/items/preprocessing#matchesregexp) 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](/manual/vm_monitoring/vmware_keys#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](/manual/config/templates_out_of_the_box/vmware)-Vorlage verknüpft wurde.

2\. Erstellen Sie auf dem VMware-Hypervisor-Host einen [abhängigen Datenpunkt](/manual/config/items/itemtypes/dependent_items) 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:

```bash
.* logged in .*
```

-   Zum Filtern von Zeilen, die Benutzernamen nach „User“ enthalten:

```bash
\bUser\s+\K\S+
```

::: noteimportant
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](/manual/config/items/preprocessing#discardunchanged) 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](/manual/config/items/preprocessing#regexp) 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:

```bash
Pattern: .*logged in.*
Output: \0
```

-   Um Benutzernamen nach „User“ zu extrahieren und auszugeben:

```bash
Pattern: User (.*?)(?=\ )
Output: \1
```

[comment]: # ({/22bc082b-6c9dfb09})

[comment]: # ({76f2bdd9-9e7a5976})
#### Überprüfen des Typs des abgerufenen Werts

Dieses Beispiel verwendet den Vorverarbeitungsschritt [Benutzerdefinierter Multiplikator](/manual/config/items/preprocessing#multiplier), 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):

```bash
1
```

::: noteimportant
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](/manual/config/items/preprocessing#discardunchanged) Werte nicht in der Datenbank gespeichert werden; infolgedessen werden Auslöser nicht ausgewertet und es werden keine Trenddaten erzeugt.
:::

[comment]: # ({/76f2bdd9-9e7a5976})

[comment]: # ({9a28bbf4-5bac90df})
#### Prüfung auf nicht unterstützten Wert

Dieses Beispiel verwendet den Vorverarbeitungsschritt [Prüfung auf nicht unterstützten Wert](/manual/config/items/preprocessing#checkunsupported), 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:

```bash
Parameter: any error
```

-   Für Fehler, die „cannot connect“ enthalten:

```bash
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](/manual/config/items/preprocessing#discardunchanged) Werte nicht in der Datenbank gespeichert werden; infolgedessen werden Auslöser nicht ausgewertet und es werden keine Trenddaten erzeugt.

[comment]: # ({/9a28bbf4-5bac90df})
