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

In den Listen Vorlagen, Hosts, Datenpunkte, Auslöser, Webszenarien und deren Prototypen zeigt die Spalte Tags sowohl reguläre als auch geerbte Tags an. Wenn Sie mit der Maus über ein geerbtes Tag fahren oder darauf klicken, erscheint ein JavaScript-Tooltip mit dem Text „Inherited tag“. Wenn ein geerbtes Tag auch als reguläres Tag vorhanden ist, wird je nach Liste, in der es erscheint, ein anderer Tooltip-Text angezeigt (zum Beispiel „Inherited and template tag“ in der Liste Vorlagen oder „Inherited and host tag“ in der Liste Hosts). An anderen Stellen im Frontend werden reguläre und geerbte Tags zusammen angezeigt (Duplikate werden entfernt), ohne Symbole und ohne zusätzlichen Tooltip-Text.

Beachten Sie die offiziellen Zabbix-Richtlinien mit allgemeinen Empfehlungen zur Definition von Tags sowie spezifischen Hinweisen für Vorlagen, Datenpunkte, Auslöser und Low-Level-Discovery-Regeln.

Tags haben mehrere Zwecke, insbesondere die Kennzeichnung von Ereignissen. Wenn Entitäten mit Tags versehen sind, erbt jedes neue Ereignis, das mit einer getaggten Entität zusammenhängt, deren Tags. Zum Beispiel:

  • bei getaggten Vorlagen erbt jedes Host-Problem (erstellt durch Auslöser aus der Vorlage) die Tags der Vorlage.
  • bei getaggten Hosts erbt jedes Host-Problem die Tags des Hosts.
  • bei getaggten Datenpunkten/Webszenarien erbt jedes Datenpunkt-/Webszenario-Problem die Tags des Datenpunkts/Webszenarios.
  • bei getaggten Auslösern erbt jedes durch den Auslöser erzeugte Problem die Tags des Auslösers.

Ein Problemereignis erbt 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 einzigen zusammengeführt, wodurch Duplikate vermieden werden.

Wiederherstellungsereignisse, die durch ein manuelles Schließen erzeugt werden, enthalten ebenfalls die aufgelösten Ereignis-Tags, die von Vorlagen, Hosts, Datenpunkten/Webszenarien und Auslösern geerbt wurden. Diese Tags sind in Benachrichtigungen und über Makros wie {EVENT.RECOVERY.TAGS} und {EVENT.RECOVERY.TAGSJSON} verfügbar.

Benutzerdefinierte Ereignis-Tags bieten mehr Flexibilität. Zum Beispiel:

  • die Ereigniskorrelation kann auf Basis von Ereignis-Tags konfiguriert werden.
  • Aktionsbedingungen können auf Basis von Ereignis-Tags konfiguriert werden.
  • Datenpunkt-Probleme können auf Basis von Ereignis-Tags gruppiert werden.
  • Problem-Tags können verwendet werden, um Probleme 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 ein Tag ohne Wert und dasselbe Tag mit einem Wert haben (zum Beispiel database und database:postgresql). Solche Tags gelten nicht als Duplikate.

Anwendungsfälle

Einige gängige Anwendungsfälle für das Tagging sind wie folgt:

  1. Auslöser-Ereignisse kennzeichnen:

    • Definieren Sie ein Auslöser-Tag (zum Beispiel scope:performance).
    • Durch diesen Auslöser erzeugte Probleme erhalten das Auslöser-Tag.
  2. Von Vorlagen geerbte Probleme kennzeichnen:

    • Definieren Sie ein Vorlagen-Tag (zum Beispiel target:mysql).
    • Durch Auslöser aus dieser Vorlage erzeugte Probleme erhalten das Vorlagen-Tag.
  3. Host-Probleme kennzeichnen:

    • Definieren Sie ein Host-Tag (zum Beispiel service:jira).
    • Durch Auslöser von diesem Host erzeugte Probleme erhalten das Host-Tag.
  4. Zugehörige Datenpunkte filtern:

    • Definieren Sie ein Datenpunkt-Tag (zum Beispiel component:cpu).
    • Unter Monitoring > Letzte Daten können Datenpunkte nach dem Tag component:cpu gefiltert werden.
  5. 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()} ).
    • Unter Monitoring > Probleme wird bei Problemen der Tag-Wert in die aus dem Datenpunktwert extrahierten Daten aufgelöst.
  6. Probleme in einer Protokolldatei identifizieren und separat schließen:

    • Definieren Sie ein Auslöser-Tag für den Auslöser des Log-Monitoring-Datenpunkts, das Werte mithilfe eines Makros aus dem Datenpunktwert extrahiert (zum Beispiel service:{{ITEM.VALUE<N>}.regsub()} ).
    • Richten Sie in der Auslöser-Konfiguration die Ereigniskorrelation ein:
      • setzen Sie Modus für die Generierung von PROBLEM-Ereignissen auf „Mehrere“;
      • setzen Sie OK-Ereignis schließt auf „Alle Probleme, wenn Tag-Werte übereinstimmen“;
      • legen Sie das Tag für den Abgleich fest.
    • Durch den Auslöser des Log-Datenpunkts erzeugte Probleme erhalten das Auslöser-Tag und werden einzeln geschlossen.
  7. Benachrichtigungen filtern:

    • Definieren Sie Auslöser-Tags (zum Beispiel scope:security für Auslöser1 und scope:availability für Auslöser2).
    • Verwenden Sie die Tag-Filterung in Aktionsbedingungen, um Benachrichtigungen nur für Ereignisse zu erhalten, die den Tag-Daten entsprechen.
  8. 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 sich leichter erkennen lässt, zu welcher Anwendung/welchem Dienst die Benachrichtigung gehört.
  9. Konfigurationsaufgaben durch die Verwendung von Vorlagen-Tags vereinfachen:

    • Definieren Sie ein Vorlagen-Auslöser-Tag.
    • Auslöser, die aus diesem Vorlagen-Auslöser erstellt werden, erhalten dessen Tag.
  10. Auslöser mit Tags aus der Low-Level-Discovery (LLD) erstellen:

    • Definieren Sie ein Tag für einen Auslöser-Prototyp mit einem LLD-Makro im Tag-Namen oder -Wert (zum Beispiel scope:{#FSNAME}).
    • Auslöser, die aus dem Auslöser-Prototyp erstellt werden, erhalten dessen Tag.
  11. Services mithilfe von Service-Tags abgleichen:

    • Definieren Sie Service-Tags.
    • Konfigurieren Sie Service-Aktionen für Services mit übereinstimmenden Tags.
    • Verwenden Sie Service-Tags außerdem, um einen Service mit einem SLA für SLA-Berechnungen zu verknüpfen.
  12. Services über Service-Problem-Tags mit Problemen verknüpfen:

    • Definieren Sie ein Problem-Tag in der Service-Konfiguration (zum Beispiel target:mysql).
    • Probleme mit einem übereinstimmenden Tag werden automatisch mit dem Service korreliert, und der Service-Status ändert sich entsprechend den konfigurierten Regeln zur Berechnung des Service-Status.
  13. Probleme unterdrücken, wenn sich ein Host im Wartungsmodus befindet:

  14. Zugriff für Benutzergruppen gewähren:

    • Definieren Sie Tags in der Benutzergruppen-Konfiguration.
    • 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:

Unterstützung von Makros

Integrierte und Benutzermakros in Tags werden zum Zeitpunkt des Ereignisses aufgelöst. Bis das Ereignis eingetreten ist, werden diese Makros im Zabbix Frontend nicht aufgelöst angezeigt.

Low-level discovery-Makros werden während des Discovery-Prozesses aufgelöst.

Die folgenden Makros können in Namen und Werten von Auslöser-Tags verwendet werden:

  • integrierte Makros {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} und {HOST.ID}
  • integrierte Makros {INVENTORY.*} (zum Referenzieren von Host-Inventarwerten von einem oder mehreren Hosts in einem Auslöser-Ausdruck)
  • Benutzermakros und Benutzermakros mit Kontext (der Kontext kann Low-level discovery-Makros enthalten)
  • Low-level discovery-Makros (nur in Tags von Auslöser-Prototypen)

Die folgenden Makros können in Namen und Werten von Tags von Vorlagen, Hosts und Datenpunkten/Webszenarien verwendet werden:

  • integrierte Makros {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} und {HOST.ID}
  • integrierte Makros {INVENTORY.*}
  • Benutzermakros
  • Low-level discovery-Makros (nur in Tags von Host- und Datenpunkt-Prototypen)

Die folgenden Makros können in Auslöser-basierten Benachrichtigungen verwendet werden:

  • integrierte Makros {EVENT.TAGS} und {EVENT.RECOVERY.TAGS} (diese Makros werden zu einer durch Kommas getrennten Liste von Ereignis-Tags bzw. Tags von Wiederherstellungsereignissen aufgelöst)
  • integrierte Makros {EVENT.TAGSJSON} und {EVENT.RECOVERY.TAGSJSON} (diese Makros werden zu einem JSON-Array aufgelöst, das Ereignis-Tag-Objekte oder Objekte von Wiederherstellungsereignis-Tags enthält)
Teilzeichenfolgenextraktion in Auslöser-Tags

Die Teilzeichenfolgenextraktion wird zum Befüllen des Tag-Namens oder Tag-Werts mithilfe einer Makro-Funktion unterstützt. Die Funktion wendet einen regulären Ausdruck auf den Wert an, der durch das unterstützte Makro erhalten 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 255 Zeichen überschreitet, wird er auf 255 Zeichen gekürzt.

Siehe auch: Verwendung von Makrofunktionen in Low-Level-Discovery-Makros für Event-Tagging.

Anzeigen von Ereignis-Tags

Tags können, sofern definiert, bei neuen Ereignissen angezeigt werden in:

Die Reihenfolge und Anzahl der angezeigten Tags wird durch die Filteroptionen Tag-Anzeigepriorität und Tags anzeigen in Monitoring > Probleme oder im Dashboard-Widget Probleme bestimmt. Beachten Sie, dass maximal drei Tags angezeigt werden können; wenn mehr Tags vorhanden sind, werden beim Überfahren der drei Punkte alle Tags in einem Pop-up-Fenster angezeigt.