6 Taggen

Overzicht

Er is een optie om verschillende entiteiten in Zabbix te taggen. Tags kunnen worden gedefinieerd voor:

  • sjablonen (templates)
  • hosts
  • items
  • web scenario's
  • triggers
  • services
  • sjabloon items en triggers
  • host-, item- en triggerprototypes

Tags hebben verschillende toepassingen, vooral om gebeurtenissen (events) te markeren. Als entiteiten zijn getagd, worden de overeenkomstige nieuwe gebeurtenissen (events) dienovereenkomstig gemarkeerd:

  • met getagde sjablonen - problemen (triggers) gecreëerd door relevante entiteiten (items, triggers, enz.) van dit sjabloon zullen worden gemarkeerd
  • met getagde hosts - elk probleem van de host zal worden gemarkeerd
  • met getagde items, web scenario's - elke data-/probleemgebeurtenis (event) van dit item of web scenario zal worden gemarkeerd
  • met getagde triggers - elk probleem van deze trigger zal worden gemarkeerd

Een probleemgebeurtenis (event) erft alle tags van de volledige keten van sjablonen, hosts, items, web scenario's en triggers. Volledig identieke tag:waarde-combinaties (na opgeloste macros) worden samengevoegd in één combinatie in plaats van gedupliceerd te worden, bij het markeren van de gebeurtenis (event).

Aangepaste event tags stellen u in staat om meer flexibiliteit te hebben. Belangrijk is dat gebeurtenissen (events) kunnen worden gecorreleerd op basis van event tags. In andere toepassingen kunnen acties worden gedefinieerd op basis van getagde gebeurtenissen (events). Probleemgebeurtenissen (events) van items kunnen worden gegroepeerd op basis van tags. Probleemtags kunnen ook worden gebruikt om problemen te koppelen aan services.

Tagging wordt gerealiseerd als een combinatie van tag-naam en waarde. U kunt alleen de naam gebruiken of deze combineren met een waarde:

MySQL, Service:MySQL, Services, Services:Klant, Applicaties, Applicatie:Java, Prioriteit:Hoog 

Een entiteit (sjabloon, host, item, web scenario, trigger of event) kan worden getagd met dezelfde naam maar verschillende waarden - deze tags worden niet beschouwd als 'duplicaten'. Op dezelfde manier kunnen een tag zonder waarde en dezelfde tag met waarde tegelijkertijd worden gebruikt.

Gebruiksscenario's

Enkele gebruiksscenario's voor deze functionaliteit zijn als volgt:

  1. Markeer trigger-gebeurtenissen in de frontend:
    • Definieer een tag op het trigger-niveau, bijvoorbeeld scope:performance;
    • Alle problemen die door deze trigger zijn gecreëerd, worden gemarkeerd met deze tag.
  2. Markeer alle problemen die worden geërfd van een sjabloon (template):
    • Definieer een tag op het sjabloon-niveau, bijvoorbeeld target:MySQL;
    • Alle problemen die door triggers van dit sjabloon worden gecreëerd, worden gemarkeerd met deze tag.
  3. Markeer alle problemen van een host:
    • Definieer een tag op het host-niveau, bijvoorbeeld service:Jira;
    • Alle problemen van de host-triggers worden gemarkeerd met deze tag.
  4. Groepeer gerelateerde items:
    • Definieer een tag op het item-niveau, bijvoorbeeld component:cpu;
    • Gebruik de tagfilter in de sectie Laatste gegevens om alle items te bekijken die zijn getagd als component:cpu.
  5. Identificeer problemen in een logboekbestand en sluit ze afzonderlijk:
    • Definieer tags in de log-trigger die gebeurtenissen (events) identificeren met behulp van waarde-extractie via de {{ITEM.VALUE<N>}.regsub()}-macro;
    • In de trigger-configuratie, stel de modus voor het genereren van probleemgebeurtenissen (events) in op meerdere gebeurtenissen (events);
    • Gebruik event correlatie in de trigger-configuratie: selecteer de optie dat een OK-gebeurtenis (event) alleen overeenkomende gebeurtenissen sluit en kies de tag voor overeenkomende gebeurtenissen;
    • Zie probleemgebeurtenissen (events) die zijn gemaakt met een tag en individueel zijn gesloten.
  6. Gebruik het om meldingen te filteren:
    • Definieer tags op het trigger-niveau om gebeurtenissen (events) te markeren met verschillende tags;
    • Gebruik tagfilters in actievoorwaarden om meldingen te ontvangen alleen voor gebeurtenissen (events) die overeenkomen met taggegevens.
  7. Gebruik informatie uit de itemwaarde als tagwaarde:
    • Gebruik een {{ITEM.VALUE<N>}.regsub()}-macro in de tagwaarde;
    • Zie tagwaarden in MonitoringProblemen als geëxtraheerde gegevens uit de itemwaarde.
  8. Identificeer problemen beter in meldingen:
    • Definieer tags op het trigger-niveau;
    • Gebruik een {EVENT.TAGS}-macro in de melding van het probleem;
    • Identificeer eenvoudiger tot welke applicatie/dienst de melding behoort.
  9. Vereenvoudig configuratietaken door tags op sjabloonniveau te gebruiken:
    • Definieer tags op het niveau van sjabloontriggers;
    • Zie deze tags op alle triggers die zijn gemaakt van sjabloontriggers.
  10. Maak triggers met tags vanuit ontdekking op laag niveau (LLD):
    • Definieer tags op trigger-prototypen;
    • Gebruik LLD-macro's in de tag-naam of -waarde;
    • Zie deze tags op alle triggers die zijn gemaakt van trigger-prototypen.
  11. Koppel services met behulp van servicetags:
    • Definieer serviceacties voor services met overeenkomende tags;
    • Gebruik servicetags om een service te koppelen aan een SLA voor SLA-berekeningen.
  12. Koppel services aan problemen met behulp van probleemtags:
    • Specificeer in de serviceconfiguratie de probleemtag, bijvoorbeeld target:MySQL;
    • Problemen met de overeenkomende tag worden automatisch gecorreleerd met de service;
    • De status van de service zal veranderen in de status van het probleem met de hoogste ernst.
  13. Onderdruk problemen wanneer een host in onderhoudsmodus is:
    • Definieer tags in Onderhoudsperioden om alleen problemen met overeenkomende tags te onderdrukken.
  14. Verleen toegang aan gebruikersgroepen:
    • Specificeer tags in de gebruikersgroep-configuratie om alleen problemen met overeenkomende tags te kunnen bekijken.

Configuratie

Tags kunnen worden ingevoerd in een speciale tab, bijvoorbeeld in triggerconfiguratie:

Macro-ondersteuning

Ingebouwde en gebruikersmacro's in tags worden opgelost op het moment van het evenement. Totdat het evenement heeft plaatsgevonden, worden deze macro's onopgelost weergegeven in de Zabbix frontend. Low-level discovery-macro's worden opgelost tijdens het ontdekkingsproces.

De volgende macro's kunnen worden gebruikt in trigger tags:

  • {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} en {HOST.ID} macro's kunnen worden gebruikt om de tag-naam of tag-waarde in te vullen.
  • {INVENTORY.*} macro's kunnen worden gebruikt om hostinventariswaarden te refereren van één of meerdere hosts in een triggerexpressie.
  • Gebruikersmacro's en gebruikersmacro's met context worden ondersteund voor de tag-naam/waarde; de context kan low-level discovery-macro's bevatten.
  • Low-level discovery-macro's kunnen worden gebruikt voor de tag-naam/waarde in trigger-prototypes.

De volgende macro's kunnen worden gebruikt in meldingen op basis van triggers:

  • {EVENT.TAGS} en {EVENT.RECOVERY.TAGS} macro's zullen worden omgezet naar een komma-gescheiden lijst van evenementstags of herstel-evenementstags.
  • {EVENT.TAGSJSON} en {EVENT.RECOVERY.TAGSJSON} macro's zullen worden omgezet naar een JSON-array met evenementstag objecten of herstel-evenementstagobjecten.

De volgende macro's kunnen worden gebruikt in tags voor sjablonen, hosts, items en webscenario's:

  • {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} en {HOST.ID} macro's
  • {INVENTORY.*} macro's
  • Gebruikersmacro's
  • Low-level discovery-macro's kunnen worden gebruikt in tags van item-prototypes

De volgende macro's kunnen worden gebruikt in tags voor host-prototypes:

  • {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} en {HOST.ID} macro's
  • {INVENTORY.*} macro's
  • Gebruikersmacro's
  • Low-level discovery-macro's worden opgelost tijdens het ontdekkingsproces en worden vervolgens toegevoegd aan de ontdekte host
Substring-extractie in trigger tags

Substring-extractie wordt ondersteund om de tag-naam of tag-waarde in te vullen met behulp van een macro functie - door een reguliere expressie toe te passen op de waarde verkregen via de {ITEM.VALUE}, {ITEM.LASTVALUE} macro of een low-level discovery macro. Bijvoorbeeld:

{{ITEM.VALUE}.regsub(pattern, output)}
       {{ITEM.VALUE}.iregsub(pattern, output)}
       
       {{#LLDMACRO}.regsub(pattern, output)}
       {{#LLDMACRO}.iregsub(pattern, output)}

Tag-naam en -waarde worden afgesneden tot 255 tekens als hun lengte meer dan 255 tekens bedraagt na resolutie van de macro.

Zie ook: Gebruik van macrofuncties in macros voor low-level discovery voor event tagging.

Bekijken van event tags

Tags, indien gedefinieerd, kunnen worden bekeken bij nieuwe gebeurtenissen in:

  • MonitoringProblemen
  • MonitoringProblemenEvenementdetails
  • MonitoringDashboardProblemen widget

Alleen de eerste drie tagvermeldingen kunnen worden weergegeven. Als er meer dan drie tagvermeldingen zijn, wordt dit aangegeven door drie puntjes. Als je met je muis over deze drie puntjes rolt, worden alle tagvermeldingen weergegeven in een pop-upvenster.

Merk op dat de volgorde waarin tags worden weergegeven wordt beïnvloed door tag filtering en de optie Tag weergaveprioriteit in het filter van MonitoringProblemen of de Problemen dashboard widget.