3 Low-level-Discovery

Übersicht

Low-Level-Discovery (LLD) erkennt automatisch Entitäten (z. B. Dateisysteme, Netzwerkschnittstellen) auf einem Host und erstellt die entsprechenden Datenpunkte, Auslöser und Diagramme ohne manuelle Einrichtung für jede einzelne Entität.

Um LLD zu verwenden, erstellen Sie eine Erkennungsregel, die JSON-Daten mit Beschreibungen der Entitäten sammelt, sowie Prototypen (Datenpunkt, Auslöser und Diagramm) für jede Entität.

Das von der Regel zurückgegebene JSON muss ein Array von Objekten sein, wobei jedes Objekt eine erkannte Entität mithilfe von Schlüssel-Wert-Paaren darstellt. Beispielsweise könnte eine Erkennungsregel mit net.if.discovery Folgendes zurückgeben:

[
  {"{#IFNAME}": "lo"},
  {"{#IFNAME}": "eth0"}
]

Ein entsprechender Satz von Datenpunkten, Auslösern und Diagrammen wird dann aus den Prototypen erstellt - jeweils einer pro Schnittstelle (lo und eth0).

Wenn Objekte Schlüssel im Format {#MACRO} enthalten, werden diese Makros direkt in Prototypen verwendet. Wenn nicht oder wenn zusätzliche/benutzerdefinierte Makros erforderlich sind, können Makros manuell definiert und mithilfe von JSONPath JSON-Feldern zugeordnet werden.

LLD kann auch Hosts erstellen (z. B. für auf einem Hypervisor erkannte virtuelle Maschinen) und unterstützt verschachtelte Erkennungsregeln für die mehrstufige Erkennung.

Entitäten, die nicht mehr erkannt werden, können automatisch deaktiviert oder gelöscht werden.

Konfigurieren der Low-Level-Discovery

Wir veranschaulichen die Low-Level-Discovery anhand eines Beispiels für die Erkennung von Dateisystemen.

Gehen Sie zur Konfiguration der Discovery wie folgt vor:

  1. Gehen Sie zu Datenerfassung > Vorlagen oder Hosts.
  2. Klicken Sie in der Zeile der entsprechenden Vorlage/des entsprechenden Hosts auf Discovery.

  1. Klicken Sie oben rechts auf dem Bildschirm auf Discovery-Regel erstellen.
  2. Füllen Sie das Formular für die Discovery-Regel mit den erforderlichen Details aus.

Discovery rule

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

  • Discovery rule - legt vor allem den integrierten Datenpunkt oder ein benutzerdefiniertes Skript fest, um Discovery-Daten abzurufen.
  • Preprocessing - wendet eine Vorverarbeitung auf die erkannten Daten an.
  • LLD macros - ermöglicht das Extrahieren von Makrowerten zur Verwendung in erkannten Datenpunkten, Auslösern usw.
  • Filters - ermöglicht das Filtern der erkannten Werte.
  • Overrides - ermöglicht das Ändern von Datenpunkten, Auslösern, Diagrammen oder Host-Prototypen beim Anwenden auf bestimmte erkannte Objekte.

Die Registerkarte Discovery rule enthält den für die Discovery zu verwendenden Datenpunkt-Schlüssel sowie einige allgemeine Attribute der Discovery rule:

Alle obligatorischen Eingabefelder sind mit einem roten Sternchen markiert.

Parameter Beschreibung
Name Name der Discovery rule.
Type Der Typ der Prüfung, die für die Discovery ausgeführt werden soll.
In diesem Beispiel verwenden wir einen Datenpunkt-Typ vom Typ Zabbix agent.
Die Discovery rule kann auch ein abhängiger Datenpunkt sein, der von einem regulären Datenpunkt abhängt. Sie kann nicht von einer anderen Discovery rule 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 Discovery-Datenpunkts ein (bis zu 2048 Zeichen).
Sie können beispielsweise den integrierten Schlüssel vfs.fs.discovery verwenden, um eine JSON-Zeichenfolge mit der Liste der auf dem Computer vorhandenen Dateisysteme, deren Typen und Einhängeoptionen zurückzugeben.
Beachten Sie, dass eine weitere Option für die Dateisystem-Discovery die Verwendung von Discovery-Ergebnissen über den Agent-Schlüssel vfs.fs.get ist (siehe Beispiel).
Update interval Dieses Feld legt fest, wie oft Zabbix die Discovery ausführt. Zu Beginn, wenn Sie gerade die Dateisystem-Discovery einrichten, möchten Sie es möglicherweise auf ein kleines Intervall setzen. Sobald Sie wissen, dass es funktioniert, können Sie es auf 30 Minuten oder mehr setzen, da sich Dateisysteme normalerweise nicht sehr oft ändern.
Zeitsuffixe werden unterstützt, z. B. 30s, 1m, 2h, 1d.
Benutzermakros werden unterstützt.
Hinweis: Das Update-Intervall kann nur auf '0' gesetzt werden, wenn benutzerdefinierte Intervalle mit einem von null verschiedenen Wert vorhanden sind. Wenn es auf '0' gesetzt ist und ein benutzerdefiniertes Intervall (flexibel oder geplant) mit einem von null verschiedenen Wert vorhanden ist, wird der Datenpunkt während der Dauer des benutzerdefinierten Intervalls abgefragt.
Neue Discovery rules werden innerhalb von 60 Sekunden nach ihrer Erstellung geprüft, sofern sie nicht über Scheduling oder Flexible update interval verfügen und das Update interval auf 0 gesetzt ist.
Hinweis: Bei einer vorhandenen Discovery rule kann die Discovery sofort ausgeführt werden, indem die Schaltfläche Execute now button verwendet wird.
Custom intervals Sie können benutzerdefinierte Regeln für die Prüfung des Datenpunkts erstellen:
Flexible - erstellt eine Ausnahme zum Update interval (Intervall mit anderer Häufigkeit)
Scheduling - erstellt einen benutzerdefinierten Abfrageplan.
Ausführliche Informationen finden Sie unter Custom intervals.
Timeout Legen Sie das Timeout für die Discovery-Prüfung fest. Wählen Sie die Timeout-Option:
Global - Proxy-/Global-Timeout wird verwendet (im ausgegrauten Feld Timeout angezeigt);
Override - benutzerdefiniertes Timeout wird verwendet (im Feld Timeout festgelegt; zulässiger Bereich: 1 - 600s). Zeitsuffixe, z. B. 30s, 1m, und Benutzermakros werden unterstützt.
Wenn Sie auf den Link Timeouts klicken, können Sie Proxy-Timeouts oder globale-Timeouts konfigurieren (wenn kein Proxy verwendet wird). Beachten Sie, dass der Link Timeouts nur für Benutzer vom Typ Super admin mit Berechtigungen für die Frontend-Bereiche Administration > General oder Administration > Proxies sichtbar ist.
Delete lost resources Geben Sie an, wie schnell das erkannte Objekt gelöscht wird, sobald sein Discovery-Status "Not discovered anymore" wird:
Never - es wird nicht gelöscht;
Immediately - es wird sofort gelöscht;
After - es wird nach dem angegebenen Zeitraum gelöscht. Der Wert muss größer sein als der Wert von Disable lost resources.
Zeitsuffixe werden unterstützt, z. B. 2h, 1d.
Benutzermakros werden unterstützt.
Hinweis: Die Verwendung von "Immediately" wird nicht empfohlen, da bereits eine versehentliche Änderung des Filters dazu führen kann, dass das Objekt zusammen mit allen historischen Daten gelöscht wird.
Beachten Sie, dass manuell deaktivierte Ressourcen durch die Low-Level-Discovery nicht gelöscht werden.
Disable lost resources Geben Sie an, wie schnell das erkannte Objekt deaktiviert wird, sobald sein Discovery-Status "Not discovered anymore" wird:
Never - es wird nicht deaktiviert;
Immediately - es wird sofort deaktiviert;
After - es wird nach dem angegebenen Zeitraum deaktiviert. Der Wert sollte größer sein als das Update-Intervall der Discovery rule.
Beachten Sie, dass automatisch deaktivierte Ressourcen wieder aktiviert werden, wenn sie durch die Low-Level-Discovery erneut erkannt werden. Manuell deaktivierte Ressourcen werden bei einer erneuten Erkennung nicht wieder aktiviert.
Dieses Feld wird nicht angezeigt, wenn Delete lost resources auf "Immediately" gesetzt ist.
Zeitsuffixe werden unterstützt, z. B. 2h, 1d.
Benutzermakros werden unterstützt.
Description Geben Sie eine Beschreibung ein.
Enabled Wenn aktiviert, wird die rule verarbeitet.

Der Verlauf der Discovery rule wird nicht beibehalten.

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:

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.
Parameter:
pattern - regulärer Ausdruck
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.
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.
Parameter:
search string - die zu suchende und zu ersetzende Zeichenfolge, unter Berücksichtigung der Groß-/Kleinschreibung (erforderlich)
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.
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.
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.
Damit diese Option funktioniert, muss der Zabbix Server mit libxml-Unterstützung kompiliert sein.
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>
Beachten Sie, dass Namespaces nicht unterstützt werden.
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.
Weitere Informationen finden Sie unter: CSV zu JSON-Vorverarbeitung.
XML zu JSON Konvertiert Daten im XML-Format in JSON.
Weitere Informationen finden Sie unter: Serialisierungsregeln.
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:
Unchanged - gibt Hex-STRING als nicht maskierte Hex-Zeichenfolge zurück (Hinweis: Anzeigehinweise werden weiterhin angewendet);
UTF-8 from Hex-STRING - konvertiert Hex-STRING in eine UTF-8-Zeichenfolge;
MAC from Hex-STRING - konvertiert Hex-STRING in eine MAC-Adresszeichenfolge (wobei ' ' durch ':' ersetzt wird);
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.
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.
Sie können diesen Vorverarbeitungsschritt für die SNMP OID-Erkennung verwenden.
Ähnliche Formatierungsoptionen wie im Schritt SNMP walk value sind verfügbar.
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:
UTF-8 from Hex-STRING - konvertiert Hex-STRING in eine UTF-8-Zeichenfolge;
MAC from Hex-STRING - konvertiert Hex-STRING in eine MAC-Adresszeichenfolge (wobei ' ' durch ':' ersetzt wird);
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.
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.
Beachten Sie, dass die verfügbare JavaScript-Länge von der verwendeten Datenbank abhängt.
Weitere Informationen finden Sie unter: JavaScript-Vorverarbeitung
Validierung
Entspricht nicht dem regulären Ausdruck Geben Sie einen regulären Ausdruck an, dem ein Wert nicht entsprechen darf.
Z. B. Error:(.*?)\.
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.
Z. B. $.errors. Wenn ein JSON wie {"errors":"e1"} empfangen wird, wird der nächste Vorverarbeitungsschritt nicht ausgeführt.
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.
Im Falle eines Fehlers beim Parsen von ungültigem XML wird kein Fehler gemeldet.
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.
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.
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.
Für einen Erkennungseintrag kann nur eine Drosselungsoption angegeben werden.
Z. B. 1m. Wenn derselbe Text innerhalb von 60 Sekunden zweimal an diese Regel übergeben wird, wird er verworfen.
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.
Weitere Informationen finden Sie unter Prometheus-Prüfungen.

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

Benutzerdefinierte Makros

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

Benutzerdefinierte Makros sind in Fällen nützlich, in denen 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-, Auslöser-Prototypen (siehe die folgenden Abschnitte der Seite) verwendet werden; das Definieren benutzerdefinierter Makros ist nicht erforderlich;
  • Der vfs.fs.get Agent-Datenpunkt gibt ebenfalls ein JSON mit Dateisystemdaten 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:

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

Parameter Beschreibung
LLD macro 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 zu extrahieren, unter Verwendung der JSONPath-Syntax.
Die aus dem zurückgegebenen JSON extrahierten Werte werden verwendet, um die LLD-Makros in den Feldern von Datenpunkt-, Auslöser- usw. Prototypen zu ersetzen.
JSONPath kann mit der Punktnotation oder der Klammernotation angegeben werden. Die Klammernotation sollte bei Sonderzeichen und Unicode verwendet werden, z. B. $['unicode + special chars #1']['unicode + special chars #2'].

Zum Beispiel extrahiert $.foo "bar" und "baz" aus diesem JSON: [{"foo":"bar"}, {"foo":"baz"}]
Beachten Sie, dass $.foo auch "bar" und "baz" aus diesem JSON extrahiert: {"data":[{"foo":"bar"}, {"foo":"baz"}]}, da ein einzelnes "data"-Objekt automatisch verarbeitet wird (aus Abwärtskompatibilität mit der Low-Level-Discovery-Implementierung in Zabbix-Versionen vor 4.2).

Filter

Ein Filter kann verwendet werden, um echte Datenpunkte, Auslöser und Diagramme nur für Entitäten zu erzeugen, die die Kriterien erfüllen. Die Registerkarte Filter enthält Definitionen von Erkennungsregel-Filtern, mit denen sich Erkennungswerte filtern lassen:

Parameter Beschreibung
Art der Berechnung Für die Berechnung von Filtern stehen die folgenden Optionen zur Verfügung:
Und - alle Filter müssen erfüllt sein;
Oder - es reicht aus, wenn ein Filter erfüllt ist;
Und/Oder - verwendet Und mit unterschiedlichen Makronamen und Oder mit demselben Makronamen;
Benutzerdefinierter Ausdruck - bietet die Möglichkeit, eine benutzerdefinierte Berechnung der Filter zu definieren. Die Formel muss alle Filter in der Liste enthalten. Auf 255 Zeichen begrenzt.
Filter Die folgenden Operatoren für Filterbedingungen sind verfügbar: entspricht, entspricht nicht, existiert, existiert nicht.
Die Operatoren entspricht und entspricht nicht erwarten einen Perl Compatible Regular Expression (PCRE).
Sie können im Feld Regulärer Ausdruck einen regulären Ausdruck eingeben oder auf einen globalen regulären Ausdruck verweisen.

Die Operatoren existiert und existiert nicht ermöglichen das Filtern von Entitäten anhand des Vorhandenseins oder Fehlens des angegebenen LLD-Makros in der Antwort.
Beachten Sie, dass eine gefundene Entität ignoriert wird, wenn ein Makro aus dem Filter in der Antwort fehlt, sofern für dieses Makro keine Bedingung "existiert nicht" angegeben ist.

Es wird eine Warnung angezeigt, wenn das Fehlen eines Makros das Ergebnis des Ausdrucks beeinflusst. Wenn beispielsweise {#B} in folgendem Ausdruck fehlt:
{#A} entspricht 1 und {#B} entspricht 2 - es wird eine Warnung ausgegeben
{#A} entspricht 1 oder {#B} entspricht 2 - keine Warnung.

Wenn Sie beispielsweise nur an den Dateisystemen C:, D: und E: interessiert sind, können Sie {#FSNAME} in das Feld Makro und ^C|^D|^E in das Feld Regulärer Ausdruck eintragen.
Eine Filterung ist auch nach Dateisystemtypen mithilfe des Makros {#FSTYPE} möglich (z. B. ^ext|^reiserfs) sowie nach Laufwerkstypen (nur vom Windows-Agent unterstützt) mithilfe des Makros {#FSDRIVETYPE} (z. B. fixed).

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

Ein Fehler oder Tippfehler im in der LLD-Regel verwendeten regulären Ausdruck (zum Beispiel ein falscher regulärer Ausdruck für "Dateisysteme für die Erkennung") kann zum Löschen von Tausenden Konfigurationselementen, historischen Werten und Ereignissen für viele Hosts führen.

Die Zabbix-Datenbank in MySQL muss mit Groß-/Kleinschreibung erstellt werden, damit Dateisystemnamen, die sich nur durch die Groß-/Kleinschreibung unterscheiden, korrekt erkannt werden können.

Override

Die Registerkarte Overrides ermöglicht das Festlegen von Regeln, um die Liste der Vorlagen für Datenpunkte, Auslöser, Diagramme und Hosts oder deren Attribute für erkannte Objekte zu ändern, die bestimmte Kriterien erfüllen.

Overrides werden, sofern vorhanden, in einer per Drag-and-drop neu anordenbaren 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 . 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.

Alle obligatorischen Parameter sind mit roten Sternchen markiert.

Parameter Beschreibung
Name Ein eindeutiger Override-Name (pro LLD-Regel).
If filter matches Legt fest, ob nachfolgende Overrides verarbeitet werden sollen, wenn die Filterbedingungen erfüllt sind:
Continue overrides - nachfolgende Overrides werden verarbeitet.
Stop processing - Operationen aus vorherigen (falls vorhanden) und diesem Override werden ausgeführt, nachfolgende Overrides werden für übereinstimmende LLD-Zeilen ignoriert.
Filters Bestimmt, auf welche erkannten Entitäten der Override angewendet werden soll. Override-Filter werden nach den Filtern der Erkennungsregel verarbeitet und haben dieselbe Funktionalität.
Operations Override-Operationen werden mit folgenden Details angezeigt:
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%).
Action - 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 . Um eine vorhandene Operation zu bearbeiten, klicken Sie auf neben der Operation. Es wird ein Popup-Fenster geöffnet, in dem Sie die Details der Operation bearbeiten können.

Parameter Beschreibung
Object Es stehen vier Objekttypen zur Verfügung:
Item prototype
Trigger prototype
Graph prototype
Host prototype
Condition Ermöglicht das Filtern von Entitäten, auf die die Operation angewendet werden soll.
Operator Unterstützte Operatoren:
equals - auf diese Vorlage anwenden
does not equal - auf alle Vorlagen außer dieser anwenden
contains - anwenden, wenn der Vorlagenname diesen String enthält
does not contain - anwenden, wenn der Vorlagenname diesen String nicht enthält
matches - anwenden, wenn der Vorlagenname dem regulären Ausdruck entspricht
does not match - anwenden, wenn der Vorlagenname dem regulären Ausdruck nicht entspricht
Pattern Ein regulärer Ausdruck oder ein zu suchender String.
Object: Item prototype
Create enabled Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen die ursprünglichen Einstellungen der Datenpunktvorlage überschrieben werden können:
Yes - der Datenpunkt wird im aktivierten Zustand hinzugefügt.
No - der Datenpunkt wird einer erkannten 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 Datenpunktvorlage überschrieben werden können:
Yes - der Datenpunkt wird hinzugefügt.
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:
Delay - Aktualisierungsintervall des Datenpunkts. Benutzermakros, LLD-Makros und Zeitsuffixe (z. B. 30s, 1m, 2h, 1d) werden unterstützt (LLD-Makro-Unterstützung in Zabbix 7.0.27 wiederhergestellt). Sollte auf 0 gesetzt werden, wenn Custom interval verwendet wird.
Custom interval - klicken Sie auf , um flexible/geplante Intervalle anzugeben. Weitere Informationen finden Sie unter Custom intervals.
History Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen ein anderer Aufbewahrungszeitraum für die Historie des Datenpunkts festgelegt werden kann:
Do not store - wenn ausgewählt, wird die Historie nicht gespeichert.
Store up to - wenn ausgewählt, wird rechts ein Eingabefeld zur Angabe des Aufbewahrungszeitraums angezeigt. Benutzermakros und LLD-Makros werden unterstützt (LLD-Makro-Unterstützung in Zabbix 7.0.27 wiederhergestellt).
Trends Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen ein anderer Aufbewahrungszeitraum für Trends des Datenpunkts festgelegt werden kann:
Do not store - wenn ausgewählt, werden die Trends nicht gespeichert.
Store up to - wenn ausgewählt, wird rechts ein Eingabefeld zur Angabe des Aufbewahrungszeitraums angezeigt. Benutzermakros und LLD-Makros werden unterstützt (LLD-Makro-Unterstützung in Zabbix 7.0.27 wiederhergestellt).
Tags Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Tag-Wert-Paare angegeben werden können. Benutzermakros und LLD-Makros werden unterstützt.
Diese Tags werden den in der Datenpunktvorlage 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öservorlage überschrieben werden können:
Yes - der Auslöser wird im aktivierten Zustand hinzugefügt.
No - der Auslöser wird einer erkannten 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öservorlage überschrieben werden können:
Yes - der Auslöser wird hinzugefügt.
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. Benutzermakros und LLD-Makros werden unterstützt.
Diese Tags werden den in der Auslöservorlage 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 Diagrammvorlage überschrieben werden können:
Yes - das Diagramm wird hinzugefügt.
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 Hostvorlage überschrieben werden können:
Yes - der Host wird im aktivierten Zustand erstellt.
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 Hostvorlage überschrieben werden können:
Yes - der Host wird erkannt.
No - der Host wird nicht erkannt.
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 im Popup-Fenster aus.
Vorlagen aus diesem Override werden allen bereits mit der Hostvorlage 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. Benutzermakros und LLD-Makros werden unterstützt.
Diese Tags werden den in der Hostvorlage 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 Modus für das Host-Inventar der Hostvorlage ausgewählt werden kann:
Disabled - Host-Inventar nicht befüllen
Manual - Details manuell angeben
Automated - Host-Inventardaten basierend auf den erfassten Metriken automatisch ausfüllen.

Formularschaltflächen

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

Eine Discovery-Regel hinzufügen. Diese Schaltfläche ist nur für neue Discovery-Regeln verfügbar.
Die Eigenschaften einer Discovery-Regel aktualisieren. Diese Schaltfläche ist nur für vorhandene Discovery-Regeln verfügbar.
Eine weitere Discovery-Regel auf Grundlage der Eigenschaften der aktuellen Discovery-Regel erstellen.
Die Discovery sofort auf Grundlage der Discovery-Regel ausführen. Die Discovery-Regel muss bereits vorhanden sein. Siehe weitere Details.
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.
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.
Die Discovery-Regel löschen.
Die Bearbeitung der Eigenschaften der Discovery-Regel abbrechen.

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.

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.

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.

Andere Arten der Discovery

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

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.