Low-level-Erkennung

Ü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 einer Beschreibung 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 kann 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 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 wie folgt vor, um die Discovery zu konfigurieren:

  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-Regel

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

  • Discovery-Regel – Geben Sie hier vor allem den integrierten Datenpunkt oder das benutzerdefinierte Skript an, mit dem die Discovery-Daten abgerufen werden.
  • Vorverarbeitung – Wenden Sie eine Vorverarbeitung auf die ermittelten Daten an.
  • LLD-Makros – Ermöglichen Sie das Extrahieren von Makrowerten zur Verwendung in ermittelten Datenpunkten, Auslösern usw.
  • Filter – Ermöglichen Sie das Filtern ermittelter Werte.
  • Überschreibungen – Ermöglichen Sie die Änderung von Datenpunkten, Auslösern, Graphen oder Host-Prototypen bei der Anwendung auf bestimmte ermittelte Objekte.

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

Alle Pflichtfelder sind mit einem roten Sternchen gekennzeichnet.

Parameter Beschreibung
Name Name der Discovery-Regel.
Typ Der Typ der Prüfung, mit der die Discovery durchgeführt wird.
In diesem Beispiel verwenden wir einen Datenpunkt vom Typ Zabbix agent.
Die Discovery-Regel kann auch ein abhängiger Datenpunkt sein, der von einem regulären Datenpunkt abhängt. Sie kann nicht von einer anderen Discovery-Regel 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 Datenpunktschlü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 Möglichkeit zur Dateisystem-Discovery darin besteht, Discovery-Ergebnisse über den Agent-Schlüssel „vfs.fs.get“ zu verwenden (siehe Beispiel).
Update interval Dieses Feld gibt an, wie häufig Zabbix die Discovery durchführt. Zu Beginn, wenn Sie die Dateisystem-Discovery gerade einrichten, möchten Sie möglicherweise ein kurzes Intervall festlegen. Sobald Sie wissen, dass sie funktioniert, können Sie 30 Minuten oder mehr einstellen, da sich Dateisysteme normalerweise nicht sehr häufig ändern.
Zeit-Suffixe werden unterstützt, z. B. 30s, 1m, 2h, 1d.
Benutzermakros werden unterstützt.
Hinweis: Das Aktualisierungsintervall kann nur auf „0“ gesetzt werden, wenn benutzerdefinierte Intervalle mit einem Wert ungleich null vorhanden sind. Wenn es auf „0“ gesetzt wird 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.
Neue Discovery-Regeln werden innerhalb von 60 Sekunden nach ihrer Erstellung geprüft, sofern sie nicht über ein geplantes oder flexibles Aktualisierungsintervall verfügen und Update interval auf 0 gesetzt ist.
Hinweis: Bei einer vorhandenen Discovery-Regel kann die Discovery sofort durchgeführt werden, indem Sie auf die Schaltfläche Execute now Schaltfläche klicken.
Custom intervals Sie können benutzerdefinierte Regeln für die Prüfung des Datenpunkts erstellen:
Flexible – Erstellt eine Ausnahme für Update interval (ein Intervall mit einer anderen Häufigkeit).
Scheduling – Erstellt einen benutzerdefinierten Abfragezeitplan.
Detaillierte Informationen finden Sie unter Benutzerdefinierte Intervalle.
Timeout Legen Sie das Timeout für die Discovery-Prüfung fest. Wählen Sie die Timeout-Option aus:
Global – Das Proxy-/globale Timeout wird verwendet (im ausgegrauten Feld Timeout angezeigt).
Override – Ein benutzerdefiniertes Timeout wird verwendet (im Feld Timeout festgelegt; zulässiger Bereich: 1–600 s). Zeit-Suffixe, z. B. 30s und 1m, sowie Benutzermakros werden unterstützt.
Über den Link Timeouts können Sie Proxy-Timeouts oder globale Timeouts konfigurieren (wenn kein Proxy verwendet wird). Beachten Sie, dass der Link Timeouts nur Benutzern vom Typ Super admin angezeigt wird, die über Berechtigungen für die Frontend-Bereiche Administration > General oder Administration > Proxies verfügen.
Delete lost resources Geben Sie an, wie schnell die ermittelte Entität gelöscht wird, nachdem ihr Discovery-Status zu „Nicht mehr ermittelt“ geworden ist:
Never – Sie wird nicht gelöscht.
Immediately – Sie wird sofort gelöscht.
After – Sie wird nach dem angegebenen Zeitraum gelöscht. Der Wert muss größer sein als der Wert von Disable lost resources.
Zeit-Suffixe werden unterstützt, z. B. 2h und 1d.
Benutzermakros werden unterstützt.
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 historischen Daten gelöscht wird.
Beachten Sie, dass manuell deaktivierte Ressourcen nicht durch Low-Level-Discovery gelöscht werden.
Disable lost resources Geben Sie an, wie schnell die ermittelte Entität deaktiviert wird, nachdem ihr Discovery-Status zu „Nicht mehr ermittelt“ geworden ist:
Never – Sie wird nicht deaktiviert.
Immediately – Sie wird sofort deaktiviert.
After – Sie wird nach dem angegebenen Zeitraum deaktiviert. Der Wert sollte größer sein als das Aktualisierungsintervall der Discovery-Regel.
Beachten Sie, dass automatisch deaktivierte Ressourcen wieder aktiviert werden, wenn sie durch die Low-Level-Discovery erneut ermittelt werden. Manuell deaktivierte Ressourcen werden bei einer erneuten Ermittlung nicht wieder aktiviert.
Dieses Feld wird nicht angezeigt, wenn Delete lost resources auf „Immediately“ gesetzt ist.
Zeit-Suffixe werden unterstützt, z. B. 2h und 1d.
Benutzermakros werden unterstützt.
Description Geben Sie eine Beschreibung ein.
Enabled Wenn diese Option aktiviert ist, wird die Regel verarbeitet.

Der Verlauf der Discovery-Regel wird nicht gespeichert.

Vorverarbeitung

Auf der Registerkarte Vorverarbeitung können Sie Transformationsregeln definieren, die auf das Ergebnis der Erkennung angewendet werden sollen. 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 werden soll. Die Ersetzungszeichenfolge kann auch leer sein, wodurch die Suchzeichenfolge bei ihrem Auffinden gelöscht werden kann.
Es ist möglich, Escape-Sequenzen zu verwenden, um Zeilenumbrüche, Wagenrückläufe, Tabulatoren und Leerzeichen zu suchen oder 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
CSV in JSON Daten einer CSV-Datei in das JSON-Format konvertieren.
Weitere Informationen finden Sie unter: CSV-zu-JSON-Vorverarbeitung.
XML in JSON Daten im XML-Format in JSON konvertieren.
Weitere Informationen finden Sie unter: Serialisierungsregeln.
Wenn Sie das Kontrollkästchen Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
SNMP
SNMP-Walk-Wert Wert anhand des angegebenen OID-/MIB-Namens extrahieren und Formatierungsoptionen anwenden:
Unverändert - Hex-STRING als nicht maskierte Hex-Zeichenfolge 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 (wobei ' ' durch ':' ersetzt wird);
Integer aus BITS - die ersten 8 Bytes einer Bitzeichenfolge, die als Folge von Hexadezimalzeichen ausgedrückt 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 befüllt.
Sie können diesen Vorverarbeitungsschritt für die SNMP-OID-Erkennung verwenden.
Ähnliche Optionen zur Wertformatierung wie im Schritt SNMP-Walk-Wert sind verfügbar.
Wenn Sie das Kontrollkästchen Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 (wobei ' ' durch ':' ersetzt wird);
Integer aus BITS - die ersten 8 Bytes einer Bitzeichenfolge, die als Folge von Hexadezimalzeichen ausgedrückt 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: 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 Bei Fehler benutzerdefiniert aktivieren, können Sie benutzerdefinierte Optionen zur Fehlerbehandlung festlegen: den Wert verwerfen, einen bestimmten Wert festlegen oder eine bestimmte Fehlermeldung festlegen.
Drosselung
Unveränderte Werte mit Heartbeat verwerfen Einen Wert verwerfen, wenn er innerhalb des definierten Zeitraums (in Sekunden) nicht geändert wurde.
Zur Angabe der Sekunden werden positive Ganzzahlen unterstützt (Minimum - 1 Sekunde). In diesem Feld können Zeitsuffixe verwendet werden (z. B. 30s, 1m, 2h, 1d). Benutzer-Makros und Low-Level-Erkennungs-Makros können in diesem Feld 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

Auf der Registerkarte LLD-Makros können Sie benutzerdefinierte LLD-Makros angeben, wenn das zurückgegebene JSON noch keine Schlüssel im Format {#MACRO} enthält.

Beispielsweise gibt der Agent-Datenpunkt-Schlüssel vfs.fs.get JSON-Dateisystemdaten ohne vordefinierte LLD-Makros zurück.
Hier definieren Sie die Makros manuell und ordnen sie mithilfe von JSONPath-Ausdrücken Werten im JSON zu:

Parameter Beschreibung
LLD macro Name des LLD-Makros im Format {#MACRO}.
JSONPath Ausdruck, der festlegt, welcher Wert aus jeder erkannten Entität im JSON-Array extrahiert werden soll.
Beispielsweise extrahiert $.foo "bar" und "baz" aus
[{"foo":"bar"}, {"foo":"baz"}].

JSONPath unterstützt sowohl Punkt- als auch Klammernotation. Die Klammernotation muss für Schlüssel mit Sonderzeichen oder Unicode verwendet werden, z. B.
$['unicode + special chars #1']['unicode + special chars #2'].

Die Erkennungsregel muss ein JSON-Array auf der Wurzelebene ($.) zurückgeben.
Aus Gründen der Abwärtskompatibilität wird auch ein JSON-Objekt akzeptiert, das ein einzelnes "data"-Array enthält. In diesem Fall wird das "data"-Array automatisch entpackt:

{"data":[{"foo":"bar"}, {"foo":"baz"}]}

Filter

Ein Filter kann verwendet werden, um reale Datenpunkte, Auslöser und Graphen nur für Entitäten zu generieren, die den Kriterien entsprechen. Die Registerkarte Filter enthält Filterdefinitionen für Discovery-Regeln, mit denen Sie Discovery-Werte filtern können:

Parameter Beschreibung
Berechnungstyp Für die Berechnung von Filtern stehen folgende 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 – ermöglicht die Definition einer benutzerdefinierten Filterberechnung. Die Formel muss alle Filter in der Liste enthalten. Begrenzt auf 255 Zeichen.
Filter Für Filterbedingungen stehen folgende Operatoren zur Verfügung: stimmt überein, stimmt nicht überein, ist vorhanden, ist nicht vorhanden.
Die Operatoren stimmt überein und stimmt nicht überein erwarten einen Perl-kompatiblen regulären Ausdruck (PCRE).
Sie können im Feld Regulärer Ausdruck einen regulären Ausdruck eingeben oder auf einen globalen regulären Ausdruck verweisen.

Mit den Operatoren ist vorhanden und ist nicht vorhanden können Entitäten anhand des Vorhandenseins oder Fehlens des angegebenen LLD-Makros in der Antwort gefiltert werden.
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 die Bedingung „ist nicht vorhanden“ angegeben.

Eine Warnung wird angezeigt, wenn das Fehlen eines Makros das Ergebnis des Ausdrucks beeinflusst. Wenn beispielsweise {#B} in folgendem Ausdruck fehlt:
{#A} stimmt mit 1 überein und {#B} stimmt mit 2 überein – es wird eine Warnung angezeigt
{#A} stimmt mit 1 überein oder {#B} stimmt mit 2 überein – 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 eingeben.
Eine Filterung nach Dateisystemtypen ist ebenfalls 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 beispielsweise grep -E verwenden:

for f in ext2 nfs reiserfs smbfs; 
do echo $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; 
done

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

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

Überschreibungen

Auf der Registerkarte Überschreibungen können Regeln festgelegt werden, um die Liste der Datenpunkt-, Auslöser-, Graph-, Host- und Discovery-Prototypen oder deren Attribute für erkannte Objekte zu ändern, die bestimmte Kriterien erfüllen.

Überschreibungen (falls vorhanden) werden in einer per Drag-and-drop neu sortierbaren Liste angezeigt und in der Reihenfolge ausgeführt, in der sie definiert sind. Um die Details einer neuen Überschreibung zu konfigurieren, klicken Sie im Block Überschreibungen auf . Um eine vorhandene Überschreibung zu bearbeiten, klicken Sie auf den Namen der Überschreibung. Daraufhin wird ein Popup-Fenster geöffnet, in dem Sie die Details der Überschreibungsregel bearbeiten können.

Alle Pflichtparameter sind mit roten Sternchen gekennzeichnet.

Parameter Beschreibung
Name Ein eindeutiger Name der Überschreibung (pro LLD-Regel).
Wenn Filter übereinstimmt Legt fest, ob nachfolgende Überschreibungen verarbeitet werden sollen, wenn die Filterbedingungen erfüllt sind:
Überschreibungen fortsetzen – nachfolgende Überschreibungen werden verarbeitet.
Verarbeitung beenden – die Operationen der vorherigen Überschreibungen (falls vorhanden) und dieser Überschreibung werden ausgeführt; nachfolgende Überschreibungen werden für übereinstimmende LLD-Zeilen ignoriert.
Filter Bestimmt, auf welche erkannten Entitäten die Überschreibung angewendet werden soll. Überschreibungsfilter werden nach den Filtern der Discovery-Regel verarbeitet und haben dieselbe Funktionalität.
Operationen Überschreibungsoperationen werden mit folgenden Details angezeigt:
Bedingung – ein Objekttyp und eine Bedingung, die für den Objektnamen erfüllt sein muss; zum Beispiel: Der Auslöser-Prototyp ist nicht gleich Disk space is low (used > 50%).
Aktionen – Links zum Bearbeiten und Entfernen einer Operation werden angezeigt.

Konfigurieren einer Operation

Um die Details einer neuen Operation zu konfigurieren, klicken Sie im Block „Operationen“ auf . Um eine vorhandene Operation zu bearbeiten, klicken Sie neben der Operation auf . Daraufhin wird ein Popup-Fenster geöffnet, in dem Sie die Details der Operation bearbeiten können.

Parameter Beschreibung
Objekt Fünf Objekttypen sind verfügbar:
Datenpunkt-Prototyp
Auslöser-Prototyp
Graph-Prototyp
Host-Prototyp
Discovery-Prototyp
Bedingung Ermöglicht das Filtern der Entitäten, auf die die Operation angewendet werden soll.
Operator Unterstützte Operatoren:
ist gleich – auf diesen Prototyp anwenden
ist nicht gleich – auf alle Prototypen außer diesen anwenden
enthält – anwenden, wenn der Prototypname diese Zeichenfolge enthält
enthält nicht – anwenden, wenn der Prototypname diese Zeichenfolge nicht enthält
entspricht – anwenden, wenn der Prototypname dem regulären Ausdruck entspricht
entspricht nicht – anwenden, wenn der Prototypname nicht dem regulären Ausdruck entspricht
Muster Ein regulärer Ausdruck oder eine zu suchende Zeichenfolge.
Objekt: Datenpunkt-Prototyp
Aktiviert erstellen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Datenpunkt-Prototyps überschreiben können:
Ja – der Datenpunkt wird in aktiviertem Zustand hinzugefügt.
Nein – der Datenpunkt wird einer erkannten Entität hinzugefügt, jedoch in deaktiviertem Zustand.
Erkennen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Datenpunkt-Prototyps überschreiben können:
Ja – der Datenpunkt wird hinzugefügt.
Nein – der Datenpunkt wird nicht hinzugefügt.
Aktualisierungsintervall Wenn das Kontrollkästchen aktiviert ist, werden zwei Optionen angezeigt, mit denen Sie ein anderes Intervall für den Datenpunkt festlegen können:
Verzögerung – Aktualisierungsintervall des Datenpunkts. Benutzermakros, LLD-Makros und Zeitsuffixe (z. B. 30s, 1m, 2h, 1d) werden unterstützt. Muss auf 0 gesetzt werden, wenn Benutzerdefiniertes Intervall verwendet wird.
Benutzerdefiniertes Intervall – klicken Sie auf , um flexible/geplante Intervalle festzulegen. Weitere Informationen finden Sie unter Benutzerdefinierte Intervalle.
Historie Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie unterschiedliche Speicherzeiträume für die Historie des Datenpunkts festlegen können:
Nicht speichern – wenn ausgewählt, wird die Historie nicht gespeichert.
Speichern bis – wenn ausgewählt, wird rechts ein Eingabefeld zur Angabe des Speicherzeitraums angezeigt. Benutzermakros und LLD-Makros werden unterstützt.
Trends Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie unterschiedliche Speicherzeiträume für die Trends des Datenpunkts festlegen können:
Nicht speichern – wenn ausgewählt, werden die Trends nicht gespeichert.
Speichern bis – wenn ausgewählt, wird rechts ein Eingabefeld zur Angabe des Speicherzeitraums angezeigt. Benutzermakros und LLD-Makros werden unterstützt.
Tags Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Sie Tag-Wert-Paare angeben können. Benutzermakros und LLD-Makros werden unterstützt.
Diese Tags werden an die im Datenpunkt-Prototyp angegebenen Tags angehängt, auch wenn die Tagnamen übereinstimmen.
Objekt: Auslöser-Prototyp
Aktiviert erstellen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Auslöser-Prototyps überschreiben können:
Ja – der Auslöser wird in aktiviertem Zustand hinzugefügt.
Nein – der Auslöser wird einer erkannten Entität hinzugefügt, jedoch in deaktiviertem Zustand.
Erkennen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Auslöser-Prototyps überschreiben können:
Ja – der Auslöser wird hinzugefügt.
Nein – der Auslöser wird nicht hinzugefügt.
Schweregrad Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen für den Schweregrad des Auslösers angezeigt, mit denen Sie den Schweregrad des Auslösers ändern können.
Tags Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Sie Tag-Wert-Paare angeben können. Benutzermakros und LLD-Makros werden unterstützt.
Diese Tags werden an die im Auslöser-Prototyp angegebenen Tags angehängt, auch wenn die Tagnamen übereinstimmen.
Objekt: Graph-Prototyp
Erkennen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Graph-Prototyps überschreiben können:
Ja – der Graph wird hinzugefügt.
Nein – der Graph wird nicht hinzugefügt.
Objekt: Host-Prototyp
Aktiviert erstellen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Host-Prototyps überschreiben können:
Ja – der Host wird in aktiviertem Zustand erstellt.
Nein – der Host wird in deaktiviertem Zustand erstellt.
Erkennen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Host-Prototyps überschreiben können:
Ja – der Host wird erkannt.
Nein – der Host wird nicht erkannt.
Vorlagen verknüpfen Wenn das Kontrollkästchen aktiviert ist, wird ein Eingabefeld zur Angabe von Vorlagen angezeigt. Beginnen Sie mit der Eingabe des Vorlagennamens oder klicken Sie neben dem Feld auf Auswählen und wählen Sie Vorlagen aus der Liste in einem Popup-Fenster aus.
Vorlagen aus dieser Überschreibung werden zu allen bereits mit dem Host-Prototyp verknüpften Vorlagen hinzugefügt.
Tags Wenn das Kontrollkästchen aktiviert ist, wird ein neuer Block angezeigt, in dem Sie Tag-Wert-Paare angeben können. Benutzermakros und LLD-Makros werden unterstützt.
Diese Tags werden an die im Host-Prototyp angegebenen Tags angehängt, auch wenn die Tagnamen übereinstimmen.
Hostinventar Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie einen anderen Modus für das Hostinventar des Host-Prototyps auswählen können:
Deaktiviert – Hostinventar nicht ausfüllen
Manuell – Details manuell angeben
Automatisiert – Hostinventardaten automatisch anhand der erfassten Metriken ausfüllen.
Objekt: Discovery-Prototyp
Aktiviert erstellen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Discovery-Prototyps überschreiben können:
Ja – die Discovery-Regel wird in aktiviertem Zustand hinzugefügt.
Nein – die Discovery-Regel wird in deaktiviertem Zustand hinzugefügt.
Erkennen Wenn das Kontrollkästchen aktiviert ist, werden Schaltflächen angezeigt, mit denen Sie die ursprünglichen Einstellungen des Discovery-Prototyps überschreiben können:
Ja – die Discovery-Regel wird hinzugefügt.
Nein – die Discovery-Regel wird nicht hinzugefügt.
Aktualisierungsintervall Wenn das Kontrollkästchen aktiviert ist, werden zwei Optionen angezeigt, mit denen Sie ein anderes Intervall für die Discovery-Regel festlegen können:
Verzögerung – Aktualisierungsintervall der Regel. Benutzermakros, LLD-Makros und Zeitsuffixe (z. B. 30s, 1m, 2h, 1d) werden unterstützt. Muss auf 0 gesetzt werden, wenn Benutzerdefiniertes Intervall verwendet wird.
Benutzerdefiniertes Intervall – klicken Sie auf , um flexible/geplante Intervalle festzulegen. Weitere Informationen finden Sie unter Benutzerdefinierte Intervalle.

Formularschaltflächen

Mit den Schaltflächen am unteren Rand des Formulars können Sie mehrere Vorgänge ausführen.

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 basierend auf den Eigenschaften der aktuellen Discovery-Regel erstellen.
Die Discovery basierend auf der Discovery-Regel sofort durchführen. Die Discovery-Regel muss bereits vorhanden sein. Weitere Informationen finden Sie hier.
Hinweis: Bei einer sofortigen Discovery wird der Konfigurations-Cache nicht aktualisiert. Daher spiegelt das Ergebnis sehr aktuelle Änderungen an der Konfiguration der Discovery-Regel möglicherweise nicht 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.