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 Discovery-Regel, die JSON-Daten mit einer Beschreibung der Entitäten sammelt, sowie Vorlagen (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. Eine Discovery-Regel mit net.if.discovery könnte beispielsweise Folgendes zurückgeben:

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

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

Wenn Objekte Schlüssel im Format {#MACRO} enthalten, werden diese Makros direkt in Vorlagen verwendet. Falls 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).

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

Auf der Registerkarte Vorverarbeitung können Transformationsregeln definiert werden, die auf das Ergebnis der Erkennung angewendet werden. In diesem Schritt sind eine oder mehrere Transformationen möglich. Transformationen werden in der Reihenfolge ausgeführt, in der sie definiert wurden. Die gesamte Vorverarbeitung wird vom Zabbix Server durchgeführt.

Siehe auch:

Typ
Transformation Beschreibung
Text
Regulärer Ausdruck Den empfangenen Wert mit dem regulären Ausdruck <pattern> abgleichen und den Wert durch die extrahierte Ausgabe <output> ersetzen. Der reguläre Ausdruck unterstützt die Extraktion von maximal 10 erfassten Gruppen mit der Sequenz \N.
Parameter:
pattern - regulärer 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.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Ersetzen Die Suchzeichenfolge suchen und durch eine andere Zeichenfolge (oder nichts) ersetzen. Alle Vorkommen der Suchzeichenfolge werden ersetzt.
Parameter:
search string - die zu suchende und zu ersetzende Zeichenfolge, unter Beachtung der Groß-/Kleinschreibung (erforderlich)
replacement - die Zeichenfolge, durch die die Suchzeichenfolge ersetzt wird. Die Ersetzungszeichenfolge kann auch leer sein, wodurch die Suchzeichenfolge bei ihrem Auftreten gelöscht werden kann.
Es können Escape-Sequenzen verwendet werden, um nach Zeilenumbrüchen, Wagenrückläufen, Tabulatoren und Leerzeichen zu suchen oder diese zu ersetzen: "\n \r \t \s"; der umgekehrte Schrägstrich kann als "\\" maskiert werden und Escape-Sequenzen können als "\\n" maskiert werden. Das Maskieren von Zeilenumbrüchen, Wagenrückläufen und Tabulatoren erfolgt während der Low-Level-Erkennung automatisch.
Strukturierte Daten
JSONPath Einen Wert oder ein Fragment aus JSON-Daten mithilfe der JSONPath-Funktionalität extrahieren.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
XML XPath Einen Wert oder ein Fragment aus XML-Daten mithilfe der XPath-Funktionalität extrahieren.
Damit diese Option funktioniert, muss der Zabbix Server mit libxml-Unterstützung kompiliert worden 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 Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
CSV in JSON Dateidaten im CSV-Format in das JSON-Format konvertieren.
Weitere Informationen finden Sie unter: CSV-in-JSON-Vorverarbeitung.
XML in JSON Daten im XML-Format in JSON konvertieren.
Weitere Informationen finden Sie unter: Serialisierungsregeln.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
SNMP
SNMP-Walk-Wert Den Wert anhand des angegebenen OID-/MIB-Namens extrahieren und Formatierungsoptionen anwenden:
Unverändert - Hex-STRING als nicht maskierte Hexadezimalzeichenfolge zurückgeben (Hinweis: Anzeigehinweise werden weiterhin angewendet);
UTF-8 aus Hex-STRING - Hex-STRING in eine UTF-8-Zeichenfolge konvertieren;
MAC aus Hex-STRING - Hex-STRING in eine MAC-Adresszeichenfolge konvertieren (dabei wird ' ' durch ':' ersetzt);
Integer aus BITS - 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 konvertieren. Bei Bitzeichenfolgen mit mehr als 8 Bytes werden die nachfolgenden Bytes ignoriert.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
SNMP-Walk in JSON SNMP-Werte in JSON konvertieren. Geben Sie einen Feldnamen im JSON und den entsprechenden SNMP-OID-Pfad an. Feldwerte werden mit den Werten aus dem angegebenen SNMP-OID-Pfad gefüllt.
Sie können diesen Vorverarbeitungsschritt für die SNMP-OID-Erkennung verwenden.
Ähnliche Wertformatierungsoptionen wie im Schritt SNMP-Walk-Wert sind verfügbar.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
SNMP-Get-Wert Formatierungsoptionen auf den SNMP-Get-Wert anwenden:
UTF-8 aus Hex-STRING - Hex-STRING in eine UTF-8-Zeichenfolge konvertieren;
MAC aus Hex-STRING - Hex-STRING in eine MAC-Adresszeichenfolge konvertieren (dabei wird ' ' durch ':' ersetzt);
Integer aus BITS - 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 konvertieren. Bei Bitzeichenfolgen mit mehr als 8 Bytes werden die nachfolgenden Bytes ignoriert.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Benutzerdefinierte Skripte
JavaScript Geben Sie JavaScript-Code im modalen Editor ein, der geöffnet wird, 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.
Beispiel: Error:(.*?)\.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Auf Fehler in JSON prüfen Auf eine Meldung auf Anwendungsebene prüfen, die sich am JSONPath befindet. 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. Beachten Sie, dass diese Fehler externer Dienste dem Benutzer unverändert gemeldet werden, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen.
Beispiel: $.errors. Wenn ein JSON wie {"errors":"e1"} empfangen wird, wird der nächste Vorverarbeitungsschritt nicht ausgeführt.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Auf Fehler in XML prüfen Auf eine Meldung auf Anwendungsebene prüfen, die sich am XPath befindet. 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. Beachten Sie, dass diese Fehler externer Dienste dem Benutzer unverändert gemeldet werden, ohne Informationen zum Vorverarbeitungsschritt hinzuzufügen.
Bei einem Fehler beim Parsen ungültiger XML-Daten wird kein Fehler gemeldet.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Entspricht dem regulären Ausdruck Geben Sie einen regulären Ausdruck an, dem ein Wert entsprechen muss.
Wenn Sie das Kontrollkästchen Benutzerdefiniert bei Fehler aktivieren, können benutzerdefinierte Optionen zur Fehlerbehandlung angegeben werden: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Drosselung
Unveränderte Werte mit Heartbeat verwerfen Einen Wert verwerfen, wenn er sich innerhalb des definierten Zeitraums (in Sekunden) nicht geändert hat.
Positive Ganzzahlen können zur Angabe der Sekunden verwendet werden (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-Erkennungsmakros verwendet werden.
Für einen Erkennungs-Datenpunkt kann nur eine Drosselungsoption angegeben werden.
Beispiel: 1m. Wenn innerhalb von 60 Sekunden zweimal identischer Text an diese Regel übergeben wird, wird er verworfen.
Hinweis: Das Ändern von Datenpunkt-Prototypen setzt die Drosselung nicht zurück. Die Drosselung wird nur zurückgesetzt, wenn Vorverarbeitungsschritte geändert werden.
Prometheus
Prometheus in JSON Erforderliche Prometheus-Metriken in JSON konvertieren.
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.