6 Etichettatura
Panoramica
I tag sono composti da un nome del tag e da un valore del tag.
Quando si assegnano tag alle entità, è possibile usare solo il nome oppure associarlo a un valore (ad esempio, mysql, jira, target:mysql, service:jira, ecc.).
I tag possono essere definiti per varie entità:
- Template
- host
- item
- scenari web
- trigger
- servizi
- item e trigger dei template
- prototipi di host, item e trigger
Fare riferimento alle linee guida ufficiali di Zabbix per raccomandazioni generali sulla definizione dei tag, insieme alle indicazioni specifiche per template, item, trigger e regole di discovery a basso livello.
I tag hanno molteplici scopi, in particolare per contrassegnare gli eventi. Quando alle entità vengono assegnati tag, qualsiasi nuovo evento relativo a un'entità taggata erediterà i relativi tag. Ad esempio:
- con template taggati - qualsiasi problema dell'host (creato dai trigger del template) erediterà i tag del template;
- con host taggati - qualsiasi problema dell'host erediterà i tag dell'host;
- con item/scenari web taggati - qualsiasi problema dell'item/scenario web erediterà i tag dell'item/scenario web;
- con trigger taggati - qualsiasi problema creato dal trigger erediterà i tag del trigger.
Un evento di problema eredita tutti i tag dall'intera catena di entità - template, host, item/scenari web, trigger.
Le combinazioni identiche tag:value (dopo la risoluzione delle macro) vengono unite in una sola, evitando così duplicazioni.
I tag personalizzati degli eventi offrono maggiore flessibilità. Ad esempio:
- la correlazione degli eventi può essere configurata in base ai tag degli eventi;
- le condizioni delle azioni possono essere configurate in base ai tag degli eventi;
- i problemi degli item possono essere raggruppati in base ai tag degli eventi;
- i tag dei problemi possono essere usati per associare i problemi ai servizi.
Le entità possono essere taggate con lo stesso nome di tag ma con valori di tag diversi (ad esempio, component:memory e component:storage).
Allo stesso modo, un'entità può avere un tag senza valore e lo stesso tag con un valore (ad esempio, database e database:postgresql).
Tali tag non sono considerati duplicati.
Casi d'uso
Alcuni casi d'uso comuni per il tagging sono i seguenti:
-
Contrassegnare gli eventi di trigger:
- Definire un tag del trigger (ad esempio,
scope:performance). - I problemi creati da questo trigger avranno il tag del trigger.
- Definire un tag del trigger (ad esempio,
-
Contrassegnare i problemi ereditati dal template:
- Definire un tag del template (ad esempio,
target:mysql). - I problemi creati dai trigger di questo template avranno il tag del template.
- Definire un tag del template (ad esempio,
-
Contrassegnare i problemi dell'host:
- Definire un tag dell'host (ad esempio,
service:jira). - I problemi creati dai trigger di questo host avranno il tag dell'host.
- Definire un tag dell'host (ad esempio,
-
Filtrare gli item correlati:
- Definire un tag dell'item (ad esempio,
component:cpu). - In Monitoring → Latest data, gli item possono essere filtrati in base al tag
component:cpu.
- Definire un tag dell'item (ad esempio,
-
Usare come valore del tag le informazioni estratte dal valore dell'item:
- Definire un tag con una macro come valore del tag (ad esempio,
tag-name:{{ITEM.VALUE<N>}.regsub()}). - In Monitoring → Problems, i problemi avranno il valore del tag risolto nei dati estratti dal valore dell'item.
- Definire un tag con una macro come valore del tag (ad esempio,
-
Identificare i problemi in un file di log e chiuderli separatamente:
- Definire un tag del trigger per il trigger dell'item di monitoraggio dei log che estrarrà i valori dal valore dell'item usando una macro (ad esempio,
service:{{ITEM.VALUE<N>}.regsub()}). - Nella configurazione del trigger, configurare la correlazione degli eventi:
- impostare PROBLEM event generation mode su "Multiple";
- impostare OK event closes su "All problems if tag values match";
- impostare il tag per la corrispondenza.
- I problemi creati dal trigger dell'item di log avranno il tag del trigger e verranno chiusi singolarmente.
- Definire un tag del trigger per il trigger dell'item di monitoraggio dei log che estrarrà i valori dal valore dell'item usando una macro (ad esempio,
-
Filtrare le notifiche:
- Definire tag del trigger (ad esempio,
scope:securityper trigger1 escope:availabilityper trigger2). - Usare il filtro dei tag nelle action conditions per ricevere notifiche solo sugli eventi che corrispondono ai dati del tag.
- Definire tag del trigger (ad esempio,
-
Identificare i problemi nelle notifiche:
- Definire tag del trigger.
- Usare la macro {EVENT.TAGS} nella notifica del problema.
- La notifica del problema conterrà i tag del trigger, rendendo più facile identificare a quale applicazione/servizio appartiene la notifica.
-
Semplificare le attività di configurazione usando i tag del template:
- Definire un tag del trigger del template.
- I trigger creati da questo trigger del template avranno il suo tag.
-
Creare trigger con tag da low-level discovery (LLD):
- Definire un tag del prototipo di trigger con una macro LLD nel nome o nel valore del tag (ad esempio,
scope:{#FSNAME}). - I trigger creati dal prototipo di trigger avranno il suo tag.
- Definire un tag del prototipo di trigger con una macro LLD nel nome o nel valore del tag (ad esempio,
-
Corrispondere i servizi usando i tag del servizio:
- Definire service tags.
- Configurare service actions per i servizi con tag corrispondenti.
- Inoltre, usare i tag del servizio per collegare un servizio a un SLA per i calcoli SLA.
-
Collegare i servizi ai problemi usando i tag di problema del servizio:
- Definire un problem tag nella configurazione del servizio (ad esempio,
target:mysql). - I problemi con un tag corrispondente verranno automaticamente correlati al servizio e lo stato del servizio cambierà in base alle regole di calcolo dello stato del servizio configurate.
- Definire un problem tag nella configurazione del servizio (ad esempio,
-
Sopprimere i problemi quando un host è in modalità manutenzione:
- Definire i tag nella configurazione del periodo di manutenzione.
- I problemi con i tag definiti verranno soppressi.
-
Concedere l'accesso ai gruppi di utenti:
- Definire i tag nella configurazione del gruppo di utenti.
- Gli utenti del gruppo di utenti potranno visualizzare solo i problemi con i tag definiti.
Configurazione
I tag possono essere definiti in una scheda dedicata, ad esempio nella configurazione del trigger:

Supporto macro
Le macro integrate e le macro utente nei tag vengono risolte al momento dell'evento. Fino a quando l'evento non si è verificato, queste macro saranno mostrate nel frontend di Zabbix come non risolte.
Le macro di low-level discovery vengono risolte durante il processo di discovery.
Le seguenti macro possono essere utilizzate nei nomi e nei valori dei tag dei trigger:
- macro integrate {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} e {HOST.ID}
- macro integrate {INVENTORY.*} (per fare riferimento ai valori dell'inventario host da uno o più host in un'espressione trigger)
- macro utente e macro utente con contesto (il contesto può includere macro di low-level discovery)
- macro di low-level discovery (solo nei tag dei prototipi di trigger)
Le seguenti macro possono essere utilizzate nei nomi e nei valori dei tag di template, host e item/scenari web:
- macro integrate {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} e {HOST.ID}
- macro integrate {INVENTORY.*}
- macro utente
- macro di low-level discovery (solo nei tag dei prototipi di host e item)
Le seguenti macro possono essere utilizzate nelle notifiche basate su trigger:
- macro integrate {EVENT.TAGS} e {EVENT.RECOVERY.TAGS} (queste macro verranno risolte in un elenco di tag evento o tag evento di ripristino separati da virgole)
- macro integrate {EVENT.TAGSJSON} e {EVENT.RECOVERY.TAGSJSON} (queste macro verranno risolte in un array JSON contenente oggetti tag evento o oggetti tag evento di ripristino)
Estrazione di sottostringa nei tag del trigger
L'estrazione di sottostringa è supportata per compilare il nome del tag o il valore del tag, usando una funzione macro. La funzione applica un'espressione regolare al valore ottenuto dalla macro supportata. Ad esempio:
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
Se il nome o il valore del tag supera i 255 caratteri dopo la risoluzione della macro, verrà troncato a 255 caratteri.
Vedi anche: Uso delle funzioni macro nelle macro di discovery a basso livello per il tagging degli eventi.
Visualizzazione dei tag degli eventi
I tag, se definiti, possono essere visualizzati con i nuovi eventi in:
- Monitoring → Problems
- Monitoring → Problems → Event details
- Dashboards → Problems widget
L'ordine e il numero dei tag visualizzati sono determinati dalle opzioni di filtro Tag display priority e Show tags in Monitoring → Problems o nel widget della dashboard Problems. Nota che è possibile visualizzare al massimo tre tag; se i tag sono più di tre, passando il mouse sui tre puntini vengono mostrati tutti i tag in una finestra popup.
