[comment]: # ({a14b62f1-a14b62f1})
# 3 Low-level-Discovery

[comment]: # ({/a14b62f1-a14b62f1})

[comment]: # ({d9e6fe1c-4fc0f22c})
### Übersicht

Low-Level-Discovery (LLD) bietet eine Möglichkeit, Datenpunkte, Auslöser und Diagramme für verschiedene Entitäten auf einem Host automatisch zu erstellen.
Beispielsweise kann Zabbix automatisch mit der Überwachung von Dateisystemen oder Netzwerkschnittstellen auf Ihrem Rechner beginnen, ohne dass Datenpunkte für jedes Dateisystem oder jede Netzwerkschnittstelle manuell erstellt werden müssen.
LLD kann auch Hosts erstellen, zum Beispiel um auf einem Hypervisor entdeckte [virtuelle Maschinen einzutragen](/manual/vm_monitoring), sowie [verschachtelte Discovery-Regeln](/manual/discovery/low_level_discovery/discovery_prototypes) ermöglichen, wodurch eine mehrstufige Discovery möglich wird.
Zusätzlich kann Zabbix so konfiguriert werden, dass nicht mehr benötigte Entitäten automatisch auf Grundlage der tatsächlichen Ergebnisse einer regelmäßig durchgeführten Discovery entfernt werden.

Ein Benutzer kann eigene Discovery-Typen definieren, sofern sie einem bestimmten JSON-Protokoll folgen.

Die allgemeine Architektur des Discovery-Prozesses ist wie folgt.

Zunächst erstellt ein Benutzer eine Discovery-Regel unter *Datensammlung > Vorlagen* in der Spalte *Discovery*.
Eine Discovery-Regel besteht aus (1) einem Datenpunkt, der die erforderlichen Entitäten entdeckt, beispielsweise Dateisysteme oder Netzwerkschnittstellen, und (2) Prototypen von Datenpunkten, Auslösern und Diagrammen, die auf Grundlage des Werts dieses Datenpunkts erstellt werden sollen.

Ein Datenpunkt, der die erforderlichen Entitäten entdeckt, ist wie ein gewöhnlicher Datenpunkt an anderer Stelle: Der Server fragt einen Zabbix Agenten (oder was auch immer als Typ des Datenpunkts festgelegt ist) nach einem Wert dieses Datenpunkts, der Agent antwortet mit einem Textwert.
Der Unterschied besteht darin, dass der vom Agenten zurückgegebene Wert eine Liste entdeckter Entitäten im JSON-Format enthalten muss.
Während die Details dieses Formats nur für Implementierer benutzerdefinierter Discovery-Prüfungen wichtig sind, ist es notwendig zu wissen, dass der zurückgegebene Wert eine Liste von Makro→Wert-Paaren enthält.
Beispielsweise könnte der Datenpunkt "net.if.discovery" zwei Paare zurückgeben: "{\#IFNAME}" → "lo" und "{\#IFNAME}" → "eth0".

Diese Makros werden in Namen, Schlüsseln und anderen Prototypfeldern verwendet, wo sie dann durch die empfangenen Werte ersetzt werden, um für jede entdeckte Entität reale Datenpunkte, Auslöser, Diagramme oder sogar Hosts zu erstellen.
Siehe die vollständige Liste der [Optionen](/manual/config/macros/lld_macros) zur Verwendung von LLD-Makros.

Wenn der Server einen Wert für einen Discovery-Datenpunkt empfängt, betrachtet er die Makro→Wert-Paare und erzeugt für jedes Paar auf Grundlage der Prototypen reale Datenpunkte, Auslöser und Diagramme.
Im obigen Beispiel mit "net.if.discovery" würde der Server einen Satz von Datenpunkten, Auslösern und Diagrammen für die Loopback-Schnittstelle "lo" und einen weiteren Satz für die Schnittstelle "eth0" erzeugen.

Beachten Sie, dass sich seit **Zabbix 4.2** das Format des von Low-Level-Discovery-Regeln zurückgegebenen JSON geändert hat.
Es wird nicht mehr erwartet, dass das JSON das Objekt "data" enthält.
Low-Level-Discovery akzeptiert nun ein normales JSON, das ein Array enthält, um neue Funktionen wie die Vorverarbeitung von Datenpunktwerten und benutzerdefinierte Pfade zu Low-Level-Discovery-Makrowerten in einem JSON-Dokument zu unterstützen.

Integrierte Discovery-Schlüssel wurden aktualisiert, sodass sie ein Array von LLD-Zeilen an der Wurzel des JSON-Dokuments zurückgeben.
Zabbix extrahiert automatisch ein Makro und einen Wert, wenn ein Array-Feld die Syntax {\#MACRO} als Schlüssel verwendet.
Alle neuen nativen Discovery-Prüfungen verwenden die neue Syntax ohne die Elemente "data".
Bei der Verarbeitung eines Low-Level-Discovery-Werts wird zuerst die Wurzel ermittelt (Array bei `$.` oder `$.data`).

Während das Element "data" aus allen nativen, mit Discovery verbundenen Datenpunkten entfernt wurde, akzeptiert Zabbix aus Gründen der Abwärtskompatibilität weiterhin die JSON-Notation mit einem "data"-Element, auch wenn von ihrer Verwendung abgeraten wird.
Wenn das JSON ein Objekt mit nur einem Array-Element "data" enthält, wird der Inhalt des Elements automatisch mit JSONPath `$.data` extrahiert.
Low-Level-Discovery akzeptiert jetzt optionale benutzerdefinierte LLD-Makros mit einem benutzerdefinierten Pfad, der in JSONPath-Syntax angegeben ist.

::: notewarning
Infolge der oben genannten Änderungen können neuere Agenten nicht mehr mit einem älteren Zabbix-Server zusammenarbeiten.
:::

Siehe auch: [Entdeckte Entitäten](#discovered-entities)

[comment]: # ({/d9e6fe1c-4fc0f22c})

[comment]: # ({4fe6a092-61b5f21c})
### Konfiguration der Low-Level-Discovery

Wir veranschaulichen die Low-Level-Discovery anhand eines Beispiels zur Dateisystemerkennung.

Gehen Sie wie folgt vor, um die Discovery zu konfigurieren:

-   Gehen Sie zu: *Datenerfassung* > *Vorlagen* oder *Hosts*.
-   Klicken Sie in der Zeile einer geeigneten Vorlage/eines geeigneten Hosts auf *Discovery*.

![](../../../assets/en/manual/discovery/low_level_discovery/fs_templates.png){width="600"}

-   Klicken Sie oben rechts auf dem Bildschirm auf *Discovery-Regel erstellen*.
-   Füllen Sie das Formular der Discovery-Regel mit den erforderlichen Angaben aus.

[comment]: # ({/4fe6a092-61b5f21c})

[comment]: # ({6bb5f59f-ae1c521e})
#### Suchregel

Das Formular für die Suchregel enthält fünf Registerkarten, die von links nach rechts den Datenfluss während der Suche darstellen:

-   *Suchregel* - gibt vor allem den integrierten Datenpunkt oder ein benutzerdefiniertes Skript an, um Suchdaten abzurufen.
-   *Vorverarbeitung* - wendet eine Vorverarbeitung auf die gefundenen Daten an.
-   *LLD-Makros* - ermöglicht das Extrahieren einiger Makrowerte zur Verwendung in gefundenen Datenpunkten, Auslösern usw.
-   *Filter* - ermöglicht das Filtern der gefundenen Werte.
-   *Überschreibungen* - ermöglicht das Ändern von Datenpunkten, Auslösern, Diagrammen oder Host-Prototypen bei der Anwendung auf bestimmte gefundene Objekte.

Die Registerkarte **Suchregel** enthält den für die Suche zu verwendenden Datenpunktschlüssel (sowie einige allgemeine Attribute der Suchregel):

![](../../../assets/en/manual/discovery/low_level_discovery/lld_rule_fs.png){width="600"}

Alle erforderlichen Eingabefelder sind mit einem roten Sternchen markiert.

|Parameter|Beschreibung|
|--|--------|
|*Name*|Name der Suchregel.|
|*Type*|Der Typ der Prüfung, mit der die Suche durchgeführt wird.<br>In diesem Beispiel verwenden wir den Datenpunkttyp *Zabbix Agent*.<br>Die Suchregel kann auch ein [abhängiger Datenpunkt](/manual/config/items/itemtypes/dependent_items) sein, der von einem regulären Datenpunkt abhängt. Sie kann nicht von einer anderen Suchregel abhängen. Wählen Sie für einen abhängigen Datenpunkt den entsprechenden Typ (*Dependent item*) aus und geben Sie den Master-Datenpunkt im Feld 'Master item' an. Der Master-Datenpunkt muss vorhanden sein.|
|*Key*|Geben Sie den Schlüssel des Such-Datenpunkts ein (bis zu 2048 Zeichen).<br>Sie können zum Beispiel den integrierten Datenpunktschlüssel "vfs.fs.discovery" verwenden, um eine JSON-Zeichenfolge mit der Liste der auf dem Computer vorhandenen Dateisysteme, ihren Typen und Einhängeoptionen zurückzugeben.<br>Beachten Sie, dass eine weitere Möglichkeit zur Dateisystemsuche darin besteht, Suchergebnisse über den Agent-Schlüssel "vfs.fs.get" zu verwenden (siehe [Beispiel](/manual/discovery/low_level_discovery/examples/mounted_filesystems)).|
|*Update interval*|Dieses Feld gibt an, wie oft Zabbix die Suche durchführt. Zu Beginn, wenn Sie die Dateisystemsuche gerade einrichten, möchten Sie möglicherweise ein kurzes Intervall festlegen. Sobald Sie jedoch wissen, dass sie funktioniert, können Sie es auf 30 Minuten oder mehr setzen, da sich Dateisysteme normalerweise nicht sehr oft ändern.<br>[Zeitsuffixe](/manual/appendix/suffixes) werden unterstützt, z. B. 30s, 1m, 2h, 1d.<br>[Benutzermakros](/manual/config/macros/user_macros) werden unterstützt.<br>*Hinweis*: Das Aktualisierungsintervall kann nur dann auf '0' gesetzt werden, wenn benutzerdefinierte Intervalle mit einem Wert ungleich null vorhanden sind. Wenn es auf '0' gesetzt ist und ein benutzerdefiniertes Intervall (flexibel oder geplant) mit einem Wert ungleich null vorhanden ist, wird der Datenpunkt während der Dauer des benutzerdefinierten Intervalls abgefragt.<br>Neue Suchregeln werden innerhalb von 60 Sekunden nach ihrer Erstellung geprüft, es sei denn, sie haben Scheduling oder Flexible update interval und das *Update interval* ist auf 0 gesetzt.<br>*Beachten Sie*, dass bei einer vorhandenen Suchregel die Suche sofort durchgeführt werden kann, indem Sie die Schaltfläche *Execute now* [button](#form-buttons) drücken.|
|*Custom intervals*|Sie können benutzerdefinierte Regeln für die Prüfung des Datenpunkts erstellen:<br>**Flexible** - erstellt eine Ausnahme zum *Update interval* (Intervall mit anderer Häufigkeit)<br>**Scheduling** - erstellt einen benutzerdefinierten Abfragezeitplan.<br>Detaillierte Informationen finden Sie unter [Custom intervals](/manual/config/items/item/custom_intervals).|
|*Timeout*|Legen Sie das Timeout für die Suchprüfung fest. Wählen Sie die Timeout-Option:<br>**Global** - es wird das Proxy-/globale Timeout verwendet (angezeigt im ausgegrauten Feld *Timeout*);<br>**Override** - es wird ein benutzerdefiniertes Timeout verwendet (im Feld *Timeout* festgelegt; zulässiger Bereich: 1 - 600s). [Zeitsuffixe](/manual/appendix/suffixes#time-suffixes), z. B. 30s, 1m, und [Benutzermakros](/manual/config/macros/user_macros) werden unterstützt.<br>Durch Klicken auf den Link *Timeouts* können Sie [Proxy](/manual/distributed_monitoring/proxies#configuration)-Timeouts oder [globale](/manual/web_interface/frontend_sections/administration/general#timeouts) Timeouts konfigurieren (wenn kein Proxy verwendet wird). Beachten Sie, dass der Link *Timeouts* nur für Benutzer vom Typ *Super admin* sichtbar ist, die Berechtigungen für die Frontend-Bereiche *Administration* > [*General*](/manual/web_interface/frontend_sections/administration/general) oder *Administration* > [*Proxies*](/manual/web_interface/frontend_sections/administration/proxies) haben.|
|*Delete lost resources*|Geben Sie an, wie schnell die gefundene Entität gelöscht wird, sobald ihr Suchstatus zu "Not discovered anymore" wird:<br>*Never* - sie wird nicht gelöscht;<br>*Immediately* - sie wird sofort gelöscht;<br>*After* - sie wird nach dem angegebenen Zeitraum gelöscht. Der Wert muss größer sein als der Wert von *Disable lost resources*.<br>[Zeitsuffixe](/manual/appendix/suffixes) werden unterstützt, z. B. 2h, 1d.<br>[Benutzermakros](/manual/config/macros/user_macros) werden unterstützt.<br>*Hinweis*: Die Verwendung von "Immediately" wird nicht empfohlen, da bereits eine fehlerhafte Bearbeitung des Filters dazu führen kann, dass die Entität zusammen mit allen Verlaufsdaten gelöscht wird.<br>Beachten Sie, dass manuell deaktivierte Ressourcen nicht durch Low-Level-Discovery gelöscht werden.|
|*Disable lost resources*|Geben Sie an, wie schnell die gefundene Entität deaktiviert wird, sobald ihr Suchstatus zu "Not discovered anymore" wird:<br>*Never* - sie wird nicht deaktiviert;<br>*Immediately* - sie wird sofort deaktiviert;<br>*After* - sie wird nach dem angegebenen Zeitraum deaktiviert. Der Wert sollte größer sein als das Aktualisierungsintervall der Suchregel.<br>Beachten Sie, dass automatisch deaktivierte Ressourcen wieder aktiviert werden, wenn sie durch Low-Level-Discovery erneut gefunden werden. Manuell deaktivierte Ressourcen werden bei erneuter Suche nicht wieder aktiviert.<br>Dieses Feld wird nicht angezeigt, wenn *Delete lost resources* auf "Immediately" gesetzt ist.<br>[Zeitsuffixe](/manual/appendix/suffixes) werden unterstützt, z. B. 2h, 1d.<br>[Benutzermakros](/manual/config/macros/user_macros) werden unterstützt.|
|*Description*|Geben Sie eine Beschreibung ein.|
|*Enabled*|Wenn diese Option aktiviert ist, wird die Regel verarbeitet.|

::: noteclassic
Der Verlauf der Suchregel wird nicht beibehalten.
:::

[comment]: # ({/6bb5f59f-ae1c521e})

[comment]: # ({2e8e1698-0e438e85})
#### Vorverarbeitung

Die Registerkarte **Vorverarbeitung** ermöglicht es, Transformationsregeln zu definieren, die auf das Ergebnis der Erkennung angewendet werden.
In diesem Schritt sind eine oder mehrere Transformationen möglich.
Die Transformationen werden in der Reihenfolge ausgeführt, in der sie definiert sind.
Die gesamte Vorverarbeitung wird vom Zabbix Server durchgeführt.

Siehe auch:

-   [Details zur Vorverarbeitung](/manual/config/items/preprocessing/preprocessing_details)
-   [Vorverarbeitung testen](/manual/config/items/preprocessing#testing)

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_b.png)


|Type|<|<|
|-|----------|----------------------------------------|
| |*Transformation*|Beschreibung|
|Text|<|<|
|<|*Regulärer Ausdruck*|Vergleicht den empfangenen Wert mit dem regulären Ausdruck <pattern> und ersetzt den Wert durch den extrahierten <output>. Der reguläre Ausdruck unterstützt die Extraktion von maximal 10 erfassten Gruppen mit der Sequenz \\N.<br>Parameter:<br>**pattern** - regulärer Ausdruck<br>**output** - Ausgabeformatvorlage. 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.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|^|*Ersetzen*|Sucht nach der Suchzeichenfolge und ersetzt sie durch eine andere Zeichenfolge (oder durch nichts). Alle Vorkommen der Suchzeichenfolge werden ersetzt.<br>Parameter:<br>**search string** - die zu suchende und zu ersetzende Zeichenfolge, unter Berücksichtigung der Groß-/Kleinschreibung (erforderlich)<br>**replacement** - die Zeichenfolge, durch die die Suchzeichenfolge ersetzt werden soll. Die Ersetzungszeichenfolge kann auch leer sein, wodurch die Suchzeichenfolge bei Fund effektiv gelöscht wird.<br>Es ist möglich, Escape-Sequenzen zu verwenden, um Zeilenumbrüche, Wagenrücklauf, Tabulatoren und Leerzeichen zu suchen oder zu ersetzen: "\\n \\r \\t \\s"; der Backslash kann als "\\\\" und Escape-Sequenzen können als "\\\\n" maskiert werden. Das Maskieren von Zeilenumbrüchen, Wagenrücklauf und Tabulatoren erfolgt während der Low-Level-Erkennung automatisch.|
|Strukturierte Daten|<|<|
|<|*JSONPath*|Extrahiert einen Wert oder ein Fragment aus JSON-Daten mithilfe der [JSONPath-Funktionalität](/manual/config/items/preprocessing/jsonpath_functionality).<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|<|*XML XPath*|Extrahiert einen Wert oder ein Fragment aus XML-Daten mithilfe der XPath-Funktionalität.<br>Damit diese Option funktioniert, muss der Zabbix Server mit libxml-Unterstützung kompiliert sein.<br>Beispiele:<br>`number(/document/item/value)` extrahiert `10` aus `<document><item><value>10</value></item></document>`<br>`number(/document/item/@attribute)` extrahiert `10` aus `<document><item attribute="10"></item></document>`<br>`/document/item` extrahiert `<item><value>10</value></item>` aus `<document><item><value>10</value></item></document>`<br>Beachten Sie, dass Namespaces nicht unterstützt werden.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|<|*CSV zu JSON*|Konvertiert CSV-Dateidaten in das JSON-Format.<br>Weitere Informationen finden Sie unter: [CSV zu JSON-Vorverarbeitung](/manual/config/items/preprocessing/csv_to_json#csv-header-processing).|
|^|*XML zu JSON*|Konvertiert Daten im XML-Format in JSON.<br>Weitere Informationen finden Sie unter: [Serialisierungsregeln](/manual/config/items/preprocessing/javascript/javascript_objects#serialization-rules).<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|SNMP|<|<|
| |*SNMP walk value*|Extrahiert einen Wert anhand der angegebenen OID/MIB-Bezeichnung und wendet Formatierungsoptionen an:<br>**Unchanged** - gibt Hex-STRING als nicht maskierte Hex-Zeichenfolge zurück (*Hinweis*: Anzeigehinweise werden weiterhin angewendet);<br>**UTF-8 from Hex-STRING** - konvertiert Hex-STRING in eine UTF-8-Zeichenfolge;<br>**MAC from Hex-STRING** - konvertiert Hex-STRING in eine MAC-Adresszeichenfolge (wobei `' '` durch `':'` ersetzt wird);<br>**Integer from BITS** - konvertiert die ersten 8 Bytes einer Bitzeichenfolge, die als Folge von Hex-Zeichen ausgedrückt ist (z. B. "1A 2B 3C 4D"), in eine vorzeichenlose 64-Bit-Ganzzahl. Bei Bitzeichenfolgen, die länger als 8 Bytes sind, werden die folgenden Bytes ignoriert.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
| |*SNMP walk to JSON*|Konvertiert SNMP-Werte in JSON. Geben Sie einen Feldnamen im JSON und den entsprechenden SNMP-OID-Pfad an. Feldwerte werden mit Werten aus dem angegebenen SNMP-OID-Pfad gefüllt.<br>Sie können diesen Vorverarbeitungsschritt für die [SNMP OID-Erkennung](/manual/discovery/low_level_discovery/examples/snmp_oids_walk) verwenden.<br>Ähnliche Formatierungsoptionen wie im Schritt *SNMP walk value* sind verfügbar.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
| |*SNMP get value*|Wendet Formatierungsoptionen auf den SNMP-get-Wert an:<br>**UTF-8 from Hex-STRING** - konvertiert Hex-STRING in eine UTF-8-Zeichenfolge;<br>**MAC from Hex-STRING** - konvertiert Hex-STRING in eine MAC-Adresszeichenfolge (wobei `' '` durch `':'` ersetzt wird);<br>**Integer from BITS** - konvertiert die ersten 8 Bytes einer Bitzeichenfolge, die als Folge von Hex-Zeichen ausgedrückt ist (z. B. "1A 2B 3C 4D"), in eine vorzeichenlose 64-Bit-Ganzzahl. Bei Bitzeichenfolgen, die länger als 8 Bytes sind, werden die folgenden Bytes ignoriert.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|Benutzerdefinierte Skripte|<|<|
|<|*JavaScript*|Geben Sie JavaScript-Code im modalen Editor ein, der sich öffnet, wenn Sie in das Parameterfeld oder auf das Stiftsymbol daneben klicken.<br>Beachten Sie, dass die verfügbare JavaScript-Länge von der verwendeten [Datenbank](/manual/config/items/item#custom-script-limit) abhängt.<br>Weitere Informationen finden Sie unter: [JavaScript-Vorverarbeitung](/manual/config/items/preprocessing/javascript)|
|Validierung|<|<|
|<|*Entspricht nicht dem regulären Ausdruck*|Geben Sie einen regulären Ausdruck an, dem ein Wert nicht entsprechen darf.<br>Z. B. `Error:(.*?)\.`<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|^|*Auf Fehler in JSON prüfen*|Prüft auf eine Fehlermeldung auf Anwendungsebene, die sich an der JSONPath befindet. Die Verarbeitung wird beendet, wenn der Vorgang erfolgreich war und die Meldung nicht leer ist; andernfalls wird die Verarbeitung mit dem Wert fortgesetzt, der vor diesem Vorverarbeitungsschritt vorhanden war. Beachten Sie, dass diese Fehler externer Dienste dem Benutzer unverändert gemeldet werden, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen.<br>Z. B. `$.errors`. Wenn ein JSON wie `{"errors":"e1"}` empfangen wird, wird der nächste Vorverarbeitungsschritt nicht ausgeführt.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|^|*Auf Fehler in XML prüfen*|Prüft auf eine Fehlermeldung auf Anwendungsebene, die sich an der Xpath befindet. Die Verarbeitung wird beendet, wenn der Vorgang erfolgreich war und die Meldung nicht leer ist; andernfalls wird die Verarbeitung mit dem Wert fortgesetzt, der vor diesem Vorverarbeitungsschritt vorhanden war. Beachten Sie, dass diese Fehler externer Dienste dem Benutzer unverändert gemeldet werden, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen.<br>Im Falle eines Fehlers beim Parsen von ungültigem XML wird kein Fehler gemeldet.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|<|*Entspricht dem regulären Ausdruck*|Geben Sie einen regulären Ausdruck an, dem ein Wert entsprechen muss.<br>Wenn Sie das Kontrollkästchen *Custom on fail* aktivieren, können benutzerdefinierte Fehlerbehandlungsoptionen angegeben werden: entweder den Wert verwerfen, einen angegebenen Wert setzen oder eine angegebene Fehlermeldung setzen.|
|Drosselung|<|<|
|<|*Unveränderte Werte mit Heartbeat verwerfen*|Verwirft einen Wert, wenn er sich innerhalb des definierten Zeitraums (in Sekunden) nicht geändert hat.<br>Es werden positive Ganzzahlwerte unterstützt, um die Sekunden anzugeben (Minimum - 1 Sekunde). In diesem Feld können Zeitsuffixe verwendet werden (z. B. 30s, 1m, 2h, 1d). In diesem Feld können Benutzermakros und Low-Level-Discovery-Makros verwendet werden.<br>Für einen Erkennungseintrag kann nur eine Drosselungsoption angegeben werden.<br>Z. B. `1m`. Wenn derselbe Text innerhalb von 60 Sekunden zweimal an diese Regel übergeben wird, wird er verworfen.<br>*Hinweis*: Das Ändern von Item-Prototypen setzt die Drosselung nicht zurück. Die Drosselung wird nur zurückgesetzt, wenn Vorverarbeitungsschritte geändert werden.|
|Prometheus|<|<|
|<|*Prometheus zu JSON*|Konvertiert die erforderlichen Prometheus-Metriken in JSON.<br>Weitere Informationen finden Sie unter [Prometheus-Prüfungen](/manual/config/items/itemtypes/http/prometheus).|

Beachten Sie, dass der Inhalt dieser Registerkarte schreibgeschützt ist, wenn die Erkennungsregel über eine Vorlage auf den Host angewendet wurde.

[comment]: # ({/2e8e1698-0e438e85})

[comment]: # ({e23af783-c5db0ca2})
#### Benutzerdefinierte Makros

Die Registerkarte **LLD-Makros** ermöglicht es, benutzerdefinierte Low-Level-Discovery-Makros anzugeben.

Benutzerdefinierte Makros sind nützlich, wenn das zurückgegebene JSON die erforderlichen Makros noch nicht definiert enthält.
Zum Beispiel:

-   Der native Schlüssel `vfs.fs.discovery` für die Dateisystemerkennung gibt ein JSON mit einigen vordefinierten LLD-Makros wie {\#FSNAME}, {\#FSTYPE} zurück.
Diese Makros können direkt in Datenpunkt- und Auslöser-Prototypen (siehe die folgenden Abschnitte auf dieser Seite) verwendet werden; das Definieren benutzerdefinierter Makros ist nicht erforderlich;
-   Der Agent-Datenpunkt `vfs.fs.get` gibt ebenfalls ein JSON mit [Dateisystemdaten](/manual/discovery/low_level_discovery/examples/mounted_filesystems) zurück, jedoch ohne vordefinierte LLD-Makros.
In diesem Fall können Sie die Makros selbst definieren und sie mithilfe von JSONPath den Werten im JSON zuordnen:

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_c.png)

Die extrahierten Werte können in erkannten Datenpunkten, Auslösern usw. verwendet werden.
Beachten Sie, dass die Werte aus dem Erkennungsergebnis und allen bisherigen Vorverarbeitungsschritten extrahiert werden.

|Parameter|Beschreibung|
|--|--------|
|*LLD-Makro*|Name des Low-Level-Discovery-Makros unter Verwendung der folgenden Syntax: {\#MACRO}.|
|*JSONPath*|Pfad, der verwendet wird, um den Wert des LLD-Makros aus einer LLD-Zeile mithilfe der JSONPath-Syntax zu extrahieren.<br>Die aus dem zurückgegebenen JSON extrahierten Werte werden verwendet, um die LLD-Makros in den Prototypfeldern von Datenpunkten, Auslösern usw. zu ersetzen.<br>JSONPath kann entweder in Punktnotation oder in Klammernotation angegeben werden. Die Klammernotation sollte bei Sonderzeichen und Unicode verwendet werden, z. B. `$['unicode + special chars #1']['unicode + special chars #2']`.<br><br>Zum Beispiel extrahiert `$.foo` „bar“ und „baz“ aus diesem JSON: `[{"foo":"bar"}, {"foo":"baz"}]`<br>Beachten Sie, dass `$.foo` „bar“ und „baz“ auch aus diesem JSON extrahiert: `{"data":[{"foo":"bar"}, {"foo":"baz"}]}`, da ein einzelnes „data“-Objekt automatisch verarbeitet wird (zur [Abwärtskompatibilität](#overview) mit der Low-Level-Discovery-Implementierung in Zabbix-Versionen vor 4.2).|

[comment]: # ({/e23af783-c5db0ca2})

[comment]: # ({db7ca1d0-db0f5889})
#### Filter

Ein Filter kann verwendet werden, um echte Datenpunkte, Auslöser und Diagramme nur für Entitäten zu erzeugen, die den Kriterien entsprechen.
Die Registerkarte **Filter** enthält Filterdefinitionen für Discovery-Regeln, mit denen Discovery-Werte gefiltert werden können:

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_d.png){width="600"}

|Parameter|Beschreibung|
|--|--------|
|*Berechnungstyp*|Die folgenden Optionen zur Berechnung von Filtern sind verfügbar:<br>**Und** - alle Filter müssen erfüllt sein;<br>**Oder** - es genügt, wenn ein Filter erfüllt ist;<br>**Und/Oder** - verwendet *Und* bei unterschiedlichen Makronamen und *Oder* bei demselben Makronamen;<br>**Benutzerdefinierter Ausdruck** - bietet die Möglichkeit, eine benutzerdefinierte Berechnung der Filter zu definieren. Die Formel muss alle Filter in der Liste enthalten. Begrenzt auf 255 Zeichen.|
|*Filter*|Die folgenden Operatoren für Filterbedingungen sind verfügbar: *entspricht*, *entspricht nicht*, *existiert*, *existiert nicht*.<br>Die Operatoren *entspricht* und *entspricht nicht* erwarten einen [Perl-kompatiblen regulären Ausdruck](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE). Wenn Sie beispielsweise nur an den Dateisystemen C:, D: und E: interessiert sind, können Sie {\#FSNAME} in das Feld „Makro“ und den regulären Ausdruck "\^C\|\^D\|\^E" in das Textfeld „Regulärer Ausdruck“ eintragen. Das Filtern ist auch nach Dateisystemtypen mit dem Makro {\#FSTYPE} (z. B. "\^ext\|\^reiserfs") und nach Laufwerkstypen mit dem Makro {\#FSDRIVETYPE} (z. B. "fixed") möglich (nur vom Windows-Agent unterstützt).<br>Sie können im Feld „Regulärer Ausdruck“ einen regulären Ausdruck eingeben oder auf einen globalen [regulären Ausdruck](/manual/regular_expressions) verweisen.<br>Um einen regulären Ausdruck zu testen, können Sie „grep -E“ verwenden, zum Beispiel: ````for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; done```` <br><br>Die Operatoren *existiert* und *existiert nicht* ermöglichen es, Entitäten anhand des Vorhandenseins oder Fehlens des angegebenen LLD-Makros in der Antwort zu filtern.<br>Beachten Sie, dass eine gefundene Entität ignoriert wird, wenn ein Makro aus dem Filter in der Antwort fehlt, es sei denn, für dieses Makro ist eine Bedingung „existiert nicht“ angegeben.<br><br>Es wird eine Warnung angezeigt, wenn das Fehlen eines Makros das Ergebnis des Ausdrucks beeinflusst. Zum Beispiel, wenn {#B} fehlt in:<br>{#A} entspricht 1 und {#B} entspricht 2 - ergibt eine Warnung<br>{#A} entspricht 1 oder {#B} entspricht 2 - keine Warnung|

::: notewarning
Ein Fehler oder Tippfehler im regulären Ausdruck, der in der LLD-Regel verwendet wird (zum Beispiel ein falscher regulärer Ausdruck „Dateisysteme für Discovery“), kann zur Löschung von Tausenden von Konfigurationselementen, historischen Werten und Ereignissen für viele Hosts führen.
:::

::: noteimportant
Die Zabbix-Datenbank in MySQL muss mit Groß-/Kleinschreibungssensitivität erstellt werden, damit Dateisystemnamen, die sich nur durch Groß-/Kleinschreibung unterscheiden, korrekt erkannt werden.
:::

[comment]: # ({/db7ca1d0-db0f5889})

[comment]: # ({59797b5c-8d616544})
#### Override

Der Tab **Overrides** ermöglicht das Festlegen von Regeln, um die Liste der Vorlagen für Datenpunkte, Auslöser, Diagramme, Hosts und Discovery-Vorlagen oder deren Attribute für entdeckte Objekte zu ändern, die die angegebenen Kriterien erfüllen.

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_e.png)

Overrides werden, sofern vorhanden, in einer per Drag-and-drop neu anordbaren Liste angezeigt und in der Reihenfolge ausgeführt, in der sie definiert sind. Um Details eines neuen Overrides zu konfigurieren, klicken Sie im Block *Overrides* auf ![](../../../assets/en/manual/config/add_link.png).
Um einen vorhandenen Override zu bearbeiten, klicken Sie auf den Namen des Overrides.
Es wird ein Popup-Fenster geöffnet, in dem Sie die Details der Override-Regel bearbeiten können.

![](../../../assets/en/manual/discovery/low_level_discovery/lld_override.png)

Alle Pflichtparameter sind mit roten Sternchen markiert.

|Parameter|Description|
|--|--------|
|*Name*|Ein eindeutiger Override-Name (pro LLD-Regel).|
|*If filter matches*|Legt fest, ob die nächsten Overrides verarbeitet werden sollen, wenn die Filterbedingungen erfüllt sind:<br>**Continue overrides** - nachfolgende Overrides werden verarbeitet.<br>**Stop processing** - Operationen aus vorherigen (falls vorhanden) und diesem Override werden ausgeführt, nachfolgende Overrides werden für passende LLD-Zeilen ignoriert.|
|*Filters*|Bestimmt, auf welche entdeckten Entitäten der Override angewendet werden soll. Override-Filter werden nach den [Filtern](/manual/discovery/low_level_discovery#filter) der Discovery-Regel verarbeitet und haben dieselbe Funktionalität.|
|*Operations*|Override-Operationen werden mit folgenden Details angezeigt:<br>**Condition** - ein Objekttyp und eine Bedingung, die für den Objektnamen erfüllt sein muss; zum Beispiel: Trigger prototype ist nicht gleich *Disk space is low (used > 50%)*.<br>**Actions** - Links zum Bearbeiten und Entfernen einer Operation werden angezeigt.|

**Konfigurieren einer Operation**

Um Details einer neuen Operation zu konfigurieren, klicken Sie im Block Operations auf ![](../../../assets/en/manual/config/add_link.png).
Um eine vorhandene Operation zu bearbeiten, klicken Sie neben der Operation auf ![](../../../assets/en/manual/config/edit_link.png).
Es wird ein Popup-Fenster geöffnet, in dem Sie die Details der Operation bearbeiten können.

![](../../../assets/en/manual/discovery/low_level_discovery/lld_override_op.png)

|Parameter|<|<|Description|
|-|-|----------|----------------------------------------|
|*Object*|<|<|Es stehen fünf Objekttypen zur Verfügung:<br>Item prototype<br>Trigger prototype<br>Graph prototype<br>Host prototype<br>Discovery prototype|
|*Condition*|<|<|Ermöglicht das Filtern von Entitäten, auf die die Operation angewendet werden soll.|
| |Operator|<|Unterstützte Operatoren:<br>**equals** - auf diese Vorlage anwenden<br>**does not equal** - auf alle Vorlagen außer dieser anwenden<br>**contains** - anwenden, wenn der Vorlagenname diese Zeichenfolge enthält<br>**does not contain** - anwenden, wenn der Vorlagenname diese Zeichenfolge nicht enthält<br>**matches** - anwenden, wenn der Vorlagenname dem regulären Ausdruck entspricht<br>**does not match** - anwenden, wenn der Vorlagenname dem regulären Ausdruck nicht entspricht<br>|
|^|Pattern|<|Ein [regulärer Ausdruck](/manual/regular_expressions) oder eine zu suchende Zeichenfolge.|
|^|Object: *Item prototype*|<|<|
|^| |*Create enabled*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Datenpunkt-Vorlage überschrieben werden können:<br>*Yes* - der Datenpunkt wird im aktivierten Zustand hinzugefügt.<br>*No* - der Datenpunkt wird einer entdeckten Entität hinzugefügt, jedoch im deaktivierten Zustand.|
|^|^|*Discover*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Datenpunkt-Vorlage überschrieben werden können:<br>*Yes* - der Datenpunkt wird hinzugefügt.<br>*No* - der Datenpunkt wird nicht hinzugefügt.|
|^|^|*Update interval*|Wenn das Kontrollkästchen aktiviert ist, werden zwei Optionen angezeigt, mit denen ein anderes Intervall für den Datenpunkt festgelegt werden kann:<br>*Delay* - Aktualisierungsintervall des Datenpunkts. [Benutzermakros](/manual/config/macros/user_macros) und [Zeitsuffixe](/manual/appendix/suffixes) (z. B. 30s, 1m, 2h, 1d) werden unterstützt. Sollte auf 0 gesetzt werden, wenn *Custom interval* verwendet wird.<br>*Custom interval* - klicken Sie auf ![](../../../assets/en/manual/config/add_link.png), um flexible/zeitplanbasierte Intervalle anzugeben. Weitere Informationen finden Sie unter [Custom intervals](/manual/config/items/item/custom_intervals).|
|^|^|*History*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen ein anderer Zeitraum für die Speicherung der Historie für den Datenpunkt festgelegt werden kann:<br>*Do not store* - wenn ausgewählt, wird die Historie nicht gespeichert.<br>*Store up to* - wenn ausgewählt, wird rechts ein Eingabefeld zur Angabe des Speicherzeitraums angezeigt. [Benutzermakros](/manual/config/macros/user_macros) und [LLD-Makros](/manual/config/macros/lld_macros) werden unterstützt.|
|^|^|*Trends*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen ein anderer Zeitraum für die Speicherung von Trends für den Datenpunkt festgelegt werden kann:<br>*Do not store* - wenn ausgewählt, werden die Trends nicht gespeichert.<br>*Store up to* - wenn ausgewählt, wird rechts ein Eingabefeld zur Angabe des Speicherzeitraums angezeigt. [Benutzermakros](/manual/config/macros/user_macros) und [LLD-Makros](/manual/config/macros/lld_macros) werden unterstützt.|
|^|^|*Tags*|Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Tag-Wert-Paare angegeben werden können.<br>Diese Tags werden den im Datenpunkt-Prototyp angegebenen Tags angehängt, auch wenn die Tag-Namen übereinstimmen.|
|^|Object: *Trigger prototype*|<|<|
|^| |*Create enabled*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Auslöser-Vorlage überschrieben werden können:<br>*Yes* - der Auslöser wird im aktivierten Zustand hinzugefügt.<br>*No* - der Auslöser wird einer entdeckten Entität hinzugefügt, jedoch im deaktivierten Zustand.|
|^|^|*Discover*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Auslöser-Vorlage überschrieben werden können:<br>*Yes* - der Auslöser wird hinzugefügt.<br>*No* - der Auslöser wird nicht hinzugefügt.|
|^|^|*Severity*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen für die Auslöser-Schweregrade angezeigt, mit denen der Schweregrad des Auslösers geändert werden kann.|
|^|^|*Tags*|Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Tag-Wert-Paare angegeben werden können.<br>Diese Tags werden den im Trigger-Prototyp angegebenen Tags angehängt, auch wenn die Tag-Namen übereinstimmen.|
|^|Object: *Graph prototype*|<|<|
|^| |*Discover*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Diagramm-Vorlage überschrieben werden können:<br>*Yes* - das Diagramm wird hinzugefügt.<br>*No* - das Diagramm wird nicht hinzugefügt.|
|^|Object: *Host prototype*|<|<|
|^| |*Create enabled*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Host-Vorlage überschrieben werden können:<br>*Yes* - der Host wird im aktivierten Zustand erstellt.<br>*No* - der Host wird im deaktivierten Zustand erstellt.|
|^|^|*Discover*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Host-Vorlage überschrieben werden können:<br>*Yes* - der Host wird entdeckt.<br>*No* - der Host wird nicht entdeckt.|
|^|^|*Link templates*|Wenn das Kontrollkästchen aktiviert ist, wird ein Eingabefeld zur Angabe von Vorlagen angezeigt. Beginnen Sie mit der Eingabe des Vorlagennamens oder klicken Sie auf *Select* neben dem Feld und wählen Sie Vorlagen aus der Liste in einem Popup-Fenster aus.<br>Vorlagen aus diesem Override werden allen bereits mit der Host-Vorlage verknüpften Vorlagen hinzugefügt.|
|^|^|*Tags*|Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Tag-Wert-Paare angegeben werden können.<br>Diese Tags werden den im Host-Prototyp angegebenen Tags angehängt, auch wenn die Tag-Namen übereinstimmen.|
|^|^|*Host inventory*|Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen ein anderer Inventar-[Modus](/manual/config/hosts/inventory) für die Host-Vorlage ausgewählt werden kann:<br>*Disabled* - Host-Inventar nicht befüllen<br>*Manual* - Details manuell angeben<br>*Automated* - Host-Inventardaten automatisch auf Basis der erfassten Metriken ausfüllen.|

[comment]: # ({/59797b5c-8d616544})

[comment]: # ({3688758a-50cefaf6})
#### Formularschaltflächen

Mit den Schaltflächen am unteren Rand des Formulars können mehrere Operationen ausgeführt werden.

|   |   |
|--|--------|
|![](../../../assets/en/manual/config/button_add.png)|Eine Discovery-Regel hinzufügen. Diese Schaltfläche ist nur für neue Discovery-Regeln verfügbar.|
|![](../../../assets/en/manual/config/button_update.png)|Die Eigenschaften einer Discovery-Regel aktualisieren. Diese Schaltfläche ist nur für vorhandene Discovery-Regeln verfügbar.|
|![](../../../assets/en/manual/config/button_clone.png)|Eine weitere Discovery-Regel auf Grundlage der Eigenschaften der aktuellen Discovery-Regel erstellen.|
|![](../../../assets/en/manual/config/button_execute.png)|Die Discovery sofort auf Grundlage der Discovery-Regel ausführen. Die Discovery-Regel muss bereits vorhanden sein. Siehe [weitere Details](/manual/config/items/check_now).<br>*Hinweis:* Wenn die Discovery sofort ausgeführt wird, wird der Konfigurations-Cache nicht aktualisiert; daher spiegelt das Ergebnis keine sehr aktuellen Änderungen an der Konfiguration der Discovery-Regel wider.|
|![](../../../assets/en/manual/config/button_test.png)|Die Konfiguration der Discovery-Regel testen. Verwenden Sie diese Schaltfläche, um die Konfigurationseinstellungen (z. B. Konnektivität und Korrektheit der Parameter) zu überprüfen, ohne Änderungen dauerhaft anzuwenden.|
|![](../../../assets/en/manual/config/button_delete.png)|Die Discovery-Regel löschen.|
|![](../../../assets/en/manual/config/button_cancel.png)|Die Bearbeitung der Eigenschaften der Discovery-Regel abbrechen.|

[comment]: # ({/3688758a-50cefaf6})

[comment]: # ({5721dd55-0dea10fa})
### Erkannte Entitäten

Die folgenden Screenshots veranschaulichen, wie erkannte Datenpunkte, Auslöser und Diagramme in der Konfiguration des Hosts aussehen.
Erkannte Entitäten sind mit einem orangefarbenen Link zu der Discovery-Regel versehen, aus der sie stammen.

![](../../../assets/en/manual/discovery/low_level_discovery/discovered_items1.png){width="600"}

Beachten Sie, dass erkannte Entitäten nicht erstellt werden, wenn bereits vorhandene Entitäten mit denselben Eindeutigkeitskriterien existieren, zum Beispiel ein Datenpunkt mit demselben Schlüssel oder ein Diagramm mit demselben Namen.
In diesem Fall wird im Frontend eine Fehlermeldung angezeigt, dass die Low-Level-Discovery-Regel bestimmte Entitäten nicht erstellen konnte.
Die Discovery-Regel selbst wird jedoch nicht auf „nicht unterstützt“ gesetzt, nur weil eine Entität nicht erstellt werden konnte und übersprungen werden musste.
Die Discovery-Regel fährt mit dem Erstellen/Aktualisieren anderer Entitäten fort.

Wenn eine erkannte Entität (Host, Dateisystem, Schnittstelle usw.) nicht mehr erkannt wird (oder den Filter nicht mehr erfüllt), können die auf ihrer Grundlage erstellten Entitäten automatisch deaktiviert und schließlich gelöscht werden.

Verlorene Ressourcen können basierend auf dem Wert des Parameters *Disable lost resources* automatisch deaktiviert werden.
Dies betrifft verlorene Hosts, Datenpunkte und Auslöser.

Verlorene Ressourcen können basierend auf dem Wert des Parameters *Delete lost resources* automatisch gelöscht werden.
Dies betrifft verlorene Hosts, Hostgruppen, Datenpunkte, Auslöser und Diagramme.

Wenn erkannte Entitäten den Status „Nicht mehr erkannt“ erhalten, wird in der Entitätenliste ein Lebensdauerindikator angezeigt.
Bewegen Sie den Mauszeiger darüber, und es wird eine Meldung mit Details zu ihrem Status angezeigt.

![](../../../assets/en/manual/discovery/low_level_discovery/not_discovered_message.png)

Wenn Entitäten zum Löschen markiert wurden, aber nicht zum erwarteten Zeitpunkt gelöscht wurden (deaktivierte Discovery-Regel oder Datenpunkt-Host), werden sie beim nächsten Verarbeiten der Discovery-Regel gelöscht.

Entitäten, die andere Entitäten enthalten und zum Löschen markiert sind, werden nicht aktualisiert, wenn sie auf Ebene der Discovery-Regel geändert werden.
Zum Beispiel werden LLD-basierte Auslöser nicht aktualisiert, wenn sie Datenpunkte enthalten, die zum Löschen markiert sind.

![](../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers1.png)

![](../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs1.png){width="600"}

[comment]: # ({/5721dd55-0dea10fa})

[comment]: # ({ea9a0925-ab744aed})
### Andere Arten der Discovery

Weitere Details und Anleitungen zu anderen Arten der sofort einsatzbereiten Discovery finden Sie in den folgenden Abschnitten:

-   Discovery von [Netzwerkschnittstellen](/manual/discovery/low_level_discovery/examples/network_interfaces)
-   Discovery von [CPUs und CPU-Kernen](/manual/discovery/low_level_discovery/examples/cpu)
-   Discovery von [SNMP-OIDs](/manual/discovery/low_level_discovery/examples/snmp_oids)
-   Discovery von [JMX-Objekten](/manual/discovery/low_level_discovery/examples/jmx);
-   Discovery mit [ODBC-SQL-Abfragen](/manual/discovery/low_level_discovery/examples/sql_queries)
-   Discovery von [Windows-Diensten](/manual/discovery/low_level_discovery/examples/windows_services)
-   Discovery von [Host-Schnittstellen](/manual/discovery/low_level_discovery/examples/host_interfaces) in Zabbix

Weitere Details zum JSON-Format für Discovery-Datenpunkte sowie ein Beispiel dafür, wie Sie Ihren eigenen Dateisystem-Discoverer als Perl-Skript implementieren, finden Sie unter [Erstellen benutzerdefinierter LLD-Regeln](/manual/discovery/low_level_discovery/custom_rules).

[comment]: # ({/ea9a0925-ab744aed})

