6 Tagging
Übersicht
Tags bestehen aus einem Tag-Namen und einem Tag-Wert.
Beim Taggen von Entitäten können Sie nur den Namen verwenden oder ihn mit einem Wert kombinieren (zum Beispiel mysql, jira, target:mysql, service:jira usw.).
Tags können für verschiedene Entitäten definiert werden:
- Vorlagen
- Hosts
- Datenpunkte
- Webszenarien
- Auslöser
- Services
- Vorlagen-Datenpunkte und -Auslöser
- Host-, Datenpunkt- und Auslöser-Prototypen
Beachten Sie die offiziellen Zabbix-Richtlinien für allgemeine Empfehlungen zur Definition von Tags sowie die spezifischen Hinweise für Vorlagen, Datenpunkte, Auslöser und Low-Level-Discovery-Regeln.
Tags haben mehrere Zwecke, insbesondere zum Markieren von Ereignissen. Wenn Entitäten mit Tags versehen sind, übernimmt jedes neue Ereignis, das sich auf eine getaggte Entität bezieht, deren Tags. Zum Beispiel:
- bei getaggten Vorlagen - jedes Host-Problem (das durch Auslöser aus der Vorlage erstellt wurde) übernimmt die Vorlagen-Tags;
- bei getaggten Hosts - jedes Host-Problem übernimmt die Host-Tags;
- bei getaggten Datenpunkten/Webszenarien - jedes Datenpunkt-/Webszenario-Problem übernimmt die Datenpunkt-/Webszenario-Tags;
- bei getaggten Auslösern - jedes durch den Auslöser erstellte Problem übernimmt die Auslöser-Tags.
Ein Problemereignis übernimmt alle Tags aus der gesamten Kette von Entitäten - Vorlagen, Hosts, Datenpunkte/Webszenarien, Auslöser.
Identische tag:value-Kombinationen (nach Auflösung von Makros) werden zu einer zusammengeführt, wodurch Duplikate vermieden werden.
Benutzerdefinierte Ereignis-Tags bieten mehr Flexibilität. Zum Beispiel:
- Ereigniskorrelation kann auf Basis von Ereignis-Tags konfiguriert werden;
- Aktionsbedingungen können auf Basis von Ereignis-Tags konfiguriert werden;
- Datenpunktprobleme können auf Basis von Ereignis-Tags gruppiert werden;
- Problem-Tags können verwendet werden, um Probleme den Services zuzuordnen.
Entitäten können mit demselben Tag-Namen, aber unterschiedlichen Tag-Werten versehen werden (zum Beispiel component:memory und component:storage).
Ebenso kann eine Entität einen Tag ohne Wert und denselben Tag mit einem Wert haben (zum Beispiel database und database:postgresql).
Solche Tags gelten nicht als Duplikate.
Anwendungsfälle
Einige häufige Anwendungsfälle für Tagging sind wie folgt:
-
Auslöserereignisse markieren:
- Definieren Sie ein Auslöser-Tag (zum Beispiel
scope:performance). - Von diesem Auslöser erzeugte Probleme haben das Auslöser-Tag.
- Definieren Sie ein Auslöser-Tag (zum Beispiel
-
Von Vorlagen geerbte Probleme markieren:
- Definieren Sie ein Vorlagen-Tag (zum Beispiel
target:mysql). - Von Auslösern dieser Vorlage erzeugte Probleme haben das Vorlagen-Tag.
- Definieren Sie ein Vorlagen-Tag (zum Beispiel
-
Host-Probleme markieren:
- Definieren Sie ein Host-Tag (zum Beispiel
service:jira). - Von Auslösern dieses Hosts erzeugte Probleme haben das Host-Tag.
- Definieren Sie ein Host-Tag (zum Beispiel
-
Zugehörige Datenpunkte filtern:
- Definieren Sie ein Datenpunkt-Tag (zum Beispiel
component:cpu). - In Monitoring → Neueste Daten können Datenpunkte nach dem Tag
component:cpugefiltert werden.
- Definieren Sie ein Datenpunkt-Tag (zum Beispiel
-
Aus dem Datenpunktwert extrahierte Informationen als Tag-Wert verwenden:
- Definieren Sie ein Tag mit einem Makro als Tag-Wert (zum Beispiel
tag-name:{{ITEM.VALUE<N>}.regsub()}). - In Monitoring → Probleme haben Probleme den Tag-Wert, der auf die aus dem Datenpunktwert extrahierten Daten aufgelöst wird.
- Definieren Sie ein Tag mit einem Makro als Tag-Wert (zum Beispiel
-
Probleme in einer Protokolldatei identifizieren und separat schließen:
- Definieren Sie ein Auslöser-Tag für den Log-Monitoring-Datenpunkt-Auslöser, das mithilfe eines Makros Werte aus dem Datenpunktwert extrahiert (zum Beispiel
service:{{ITEM.VALUE<N>}.regsub()}). - In der Auslöserkonfiguration richten Sie Ereigniskorrelation ein:
- setzen Sie den Modus zur Generierung von PROBLEM-Ereignissen auf "Multiple";
- setzen Sie OK event closes auf "All problems if tag values match";
- legen Sie das Tag für die Übereinstimmung fest.
- Von dem Log-Datenpunkt-Auslöser erzeugte Probleme haben das Auslöser-Tag und werden einzeln geschlossen.
- Definieren Sie ein Auslöser-Tag für den Log-Monitoring-Datenpunkt-Auslöser, das mithilfe eines Makros Werte aus dem Datenpunktwert extrahiert (zum Beispiel
-
Benachrichtigungen filtern:
- Definieren Sie Auslöser-Tags (zum Beispiel
scope:securityfür trigger1 undscope:availabilityfür trigger2). - Verwenden Sie die Tag-Filterung in Aktionsbedingungen, um Benachrichtigungen nur für Ereignisse zu erhalten, die mit den Tag-Daten übereinstimmen.
- Definieren Sie Auslöser-Tags (zum Beispiel
-
Probleme in Benachrichtigungen identifizieren:
- Definieren Sie Auslöser-Tags.
- Verwenden Sie das Makro {EVENT.TAGS} in der Problembenachrichtigung.
- Die Problembenachrichtigung enthält die Auslöser-Tags, wodurch leichter erkennbar ist, zu welcher Anwendung bzw. welchem Dienst die Benachrichtigung gehört.
-
Konfigurationsaufgaben durch Verwendung von Vorlagen-Tags vereinfachen:
- Definieren Sie ein Vorlagen-Auslöser-Tag.
- Aus diesem Vorlagen-Auslöser erstellte Auslöser haben dessen Tag.
-
Auslöser mit Tags aus Low-Level-Discovery (LLD) erstellen:
- Definieren Sie ein Auslöserprototyp-Tag mit einem LLD-Makro im Tag-Namen oder -Wert (zum Beispiel
scope:{#FSNAME}). - Aus dem Auslöserprototyp erstellte Auslöser haben dessen Tag.
- Definieren Sie ein Auslöserprototyp-Tag mit einem LLD-Makro im Tag-Namen oder -Wert (zum Beispiel
-
Services mithilfe von Service-Tags zuordnen:
- Definieren Sie Service-Tags.
- Konfigurieren Sie Service-Aktionen für Services mit übereinstimmenden Tags.
- Verwenden Sie außerdem Service-Tags, um einen Service für SLA-Berechnungen mit einer SLA zu verknüpfen.
-
Services mithilfe von Service-Problem-Tags mit Problemen verknüpfen:
- Definieren Sie ein Problem-Tag in der Servicekonfiguration (zum Beispiel
target:mysql). - Probleme mit einem übereinstimmenden Tag werden automatisch dem Service zugeordnet, und der Servicestatus ändert sich basierend auf den konfigurierten Regeln zur Berechnung des Servicestatus.
- Definieren Sie ein Problem-Tag in der Servicekonfiguration (zum Beispiel
-
Probleme unterdrücken, wenn sich ein Host im Wartungsmodus befindet:
- Definieren Sie Tags in der Konfiguration des Wartungszeitraums.
- Probleme mit den definierten Tags werden unterdrückt.
-
Zugriff für Benutzergruppen gewähren:
- Definieren Sie Tags in der Konfiguration der Benutzergruppe.
- Benutzer in der Benutzergruppe können nur Probleme mit den definierten Tags anzeigen.
Konfiguration
Tags können in einem eigenen Reiter definiert werden, zum Beispiel in der Auslöser-Konfiguration:

Makrounterstützung
Built-in und Benutzermakros in Tags werden zum Zeitpunkt des Ereignisses aufgelöst.
Bis das Ereignis eingetreten ist, werden diese Makros in Zabbix Frontend als nicht aufgelöst angezeigt.
Makros der Low-Level-Discovery werden während des Discovery-Prozesses aufgelöst.
Die folgenden Makros können in Trigger-Tag-Namen und -Werten verwendet werden:
- {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} und {HOST.ID} Built-in-Makros
- {INVENTORY.*} Built-in-Makros (zum Referenzieren von Host-Inventarwerten von einem oder mehreren Hosts in einem Trigger-Ausdruck)
- Benutzermakros und Benutzermakros mit Kontext (der Kontext kann Makros der Low-Level-Discovery enthalten)
- Makros der Low-Level-Discovery (nur in Trigger-Prototyp-Tags)
Die folgenden Makros können in Tag-Namen und -Werten von Vorlage, Host und item/web-Szenarien verwendet werden:
- {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} und {HOST.ID} Built-in-Makros
- {INVENTORY.*} Built-in-Makros
- Benutzermakros
- Makros der Low-Level-Discovery (nur in Host- und item-Prototyp-Tags)
Die folgenden Makros können in triggerbasierten Benachrichtigungen verwendet werden:
- {EVENT.TAGS} und {EVENT.RECOVERY.TAGS} Built-in-Makros (diese Makros werden in eine durch Kommas getrennte Liste von Ereignis-Tags oder Wiederherstellungs-Ereignis-Tags aufgelöst)
- {EVENT.TAGSJSON} und {EVENT.RECOVERY.TAGSJSON} Built-in-Makros (diese Makros werden in ein JSON-Array aufgelöst, das Ereignis-Tag-Objekte oder Wiederherstellungs-Ereignis-Tag-Objekte enthält)
Teilzeichenfolgenextraktion in Auslöser-Tags
Die Extraktion von Teilzeichenfolgen wird unterstützt, um den Tag-Namen oder den Tag-Wert mithilfe einer Makro-Funktion zu befüllen. Die Funktion wendet einen regulären Ausdruck auf den Wert an, der vom unterstützten Makro zurückgegeben wird. Zum Beispiel:
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
Wenn der Tag-Name oder -Wert nach der Makroauflösung mehr als 255 Zeichen umfasst, wird er auf 255 Zeichen gekürzt.
Siehe auch: Verwendung von Makro-Funktionen in Low-Level-Discovery-Makros für das Tagging von Ereignissen.
Anzeigen von Ereignis-Tags
Tags, sofern definiert, können bei neuen Ereignissen angezeigt werden in:
- Monitoring → Probleme
- Monitoring → Probleme → Ereignisdetails
- Dashboards → Probleme-Widget
Die Reihenfolge und Anzahl der angezeigten Tags wird durch die Filteroptionen Tag-Anzeigepriorität und Tags anzeigen in Monitoring → Probleme oder im Probleme-Dashboard-Widget bestimmt. Beachten Sie, dass maximal drei Tags angezeigt werden können; wenn es mehr Tags gibt, werden beim Überfahren der drei Punkte alle Tags in einem Popup-Fenster angezeigt.
