6 Balisage
Aperçu
Les tags se composent d’un nom de tag et d’une valeur de tag.
Lors du marquage des entités, vous pouvez utiliser uniquement le nom ou l’associer à une valeur (par exemple, mysql, jira, target:mysql, service:jira, etc.).
Les tags peuvent être définis pour diverses entités :
- Modèles
- Hôtes
- Éléments
- Scénarios web
- Déclencheurs
- Services
- Éléments et déclencheurs de modèle
- Prototypes d’hôte, d’élément et de déclencheur
Dans les listes Modèles, Hôtes, Éléments, Déclencheurs, Scénarios web et leurs prototypes, la colonne Tags affiche à la fois les tags normaux et les tags hérités. Lorsque vous survolez ou cliquez sur un tag hérité, une infobulle JavaScript apparaît avec le texte « Inherited tag ». Si un tag hérité existe également comme tag normal, un texte d’infobulle différent est affiché selon la liste où il apparaît (par exemple, « Inherited and template tag » dans la liste des modèles ou « Inherited and host tag » dans la liste des hôtes). Dans les autres parties de l’interface, les tags normaux et hérités sont affichés ensemble (les doublons sont supprimés), sans icônes et sans texte d’infobulle supplémentaire.
Consultez les directives officielles de Zabbix pour les recommandations générales sur la définition des tags, ainsi que les recommandations spécifiques pour les modèles, les éléments, les déclencheurs et les règles de découverte de bas niveau.
Les tags ont plusieurs usages, notamment celui de marquer les événements. Lorsque des entités sont taguées, tout nouvel événement lié à une entité taguée héritera de ses tags. Par exemple :
- avec des modèles tagués, tout problème d’hôte (créé par des déclencheurs du modèle) héritera des tags du modèle.
- avec des hôtes tagués, tout problème d’hôte héritera des tags de l’hôte.
- avec des éléments/scénarios web tagués, tout problème d’élément/scénario web héritera des tags de l’élément/scénario web.
- avec des déclencheurs tagués, tout problème créé par le déclencheur héritera des tags du déclencheur.
Un événement de problème hérite de tous les tags de l’ensemble de la chaîne d’entités : modèles, hôtes, éléments/scénarios web, déclencheurs.
Les combinaisons tag:value identiques (après résolution des macros) sont fusionnées en une seule, évitant ainsi les doublons.
Les événements de rétablissement générés par une fermeture manuelle incluent également les tags d’événement résolus hérités des modèles, hôtes, éléments/scénarios web et déclencheurs.
Ces tags sont disponibles dans les notifications et via des macros telles que {EVENT.RECOVERY.TAGS} et {EVENT.RECOVERY.TAGSJSON}.
Les tags d’événement personnalisés offrent davantage de flexibilité. Par exemple :
- la corrélation d’événements peut être configurée sur la base des tags d’événement.
- les conditions d’action peuvent être configurées sur la base des tags d’événement.
- les problèmes d’élément peuvent être regroupés sur la base des tags d’événement.
- les tags de problème peuvent être utilisés pour associer des problèmes à des services.
Les entités peuvent être taguées avec le même nom de tag mais des valeurs de tag différentes (par exemple, component:memory et component:storage).
De même, une entité peut avoir un tag sans valeur et le même tag avec une valeur (par exemple, database et database:postgresql).
Ces tags ne sont pas considérés comme des doublons.
Cas d'utilisation
Voici quelques cas d'utilisation courants du marquage :
-
Marquer les événements de déclencheur :
- Définissez une balise de déclencheur (par exemple,
scope:performance). - Les problèmes créés par ce déclencheur auront la balise de déclencheur.
- Définissez une balise de déclencheur (par exemple,
-
Marquer les problèmes hérités du modèle :
- Définissez une balise de modèle (par exemple,
target:mysql). - Les problèmes créés par des déclencheurs issus de ce modèle auront la balise de modèle.
- Définissez une balise de modèle (par exemple,
-
Marquer les problèmes de l'hôte :
- Définissez une balise d'hôte (par exemple,
service:jira). - Les problèmes créés par des déclencheurs de cet hôte auront la balise d'hôte.
- Définissez une balise d'hôte (par exemple,
-
Filtrer les éléments associés :
- Définissez une balise d'élément (par exemple,
component:cpu). - Dans Monitoring > Latest data, les éléments peuvent être filtrés par la balise
component:cpu.
- Définissez une balise d'élément (par exemple,
-
Utiliser comme valeur de balise les informations extraites de la valeur de l'élément :
- Définissez une balise avec une macro comme valeur de balise (par exemple,
tag-name:{{ITEM.VALUE<N>}.regsub()}). - Dans Monitoring > Problems, les problèmes auront une valeur de balise résolue à partir des données extraites de la valeur de l'élément.
- Définissez une balise avec une macro comme valeur de balise (par exemple,
-
Identifier les problèmes dans un fichier journal et les fermer séparément :
- Définissez une balise de déclencheur pour le déclencheur de l'élément de surveillance des journaux qui extraira des valeurs de la valeur de l'élément à l'aide d'une macro (par exemple,
service:{{ITEM.VALUE<N>}.regsub()}). - Dans la configuration du déclencheur, configurez la corrélation d'événements :
- définissez le mode de génération des événements PROBLEM sur "Multiple" ;
- définissez OK event closes sur "All problems if tag values match" ;
- définissez la balise pour la correspondance.
- Les problèmes créés par le déclencheur de l'élément journal auront la balise de déclencheur et seront fermés individuellement.
- Définissez une balise de déclencheur pour le déclencheur de l'élément de surveillance des journaux qui extraira des valeurs de la valeur de l'élément à l'aide d'une macro (par exemple,
-
Filtrer les notifications :
- Définissez des balises de déclencheur (par exemple,
scope:securitypour trigger1 etscope:availabilitypour trigger2). - Utilisez le filtrage par balises dans les conditions d'action pour recevoir des notifications uniquement sur les événements correspondant aux données de balise.
- Définissez des balises de déclencheur (par exemple,
-
Identifier les problèmes dans les notifications :
- Définissez des balises de déclencheur.
- Utilisez la macro {EVENT.TAGS} dans la notification de problème.
- La notification de problème contiendra les balises de déclencheur, ce qui facilitera l'identification de l'application ou du service auquel la notification appartient.
-
Simplifier les tâches de configuration en utilisant des balises de modèle :
- Définissez une balise de déclencheur de modèle.
- Les déclencheurs créés à partir de ce déclencheur de modèle auront sa balise.
-
Créer des déclencheurs avec des balises issues de la découverte à bas niveau (LLD) :
- Définissez une balise de prototype de déclencheur avec une macro LLD dans le nom ou la valeur de la balise (par exemple,
scope:{#FSNAME}). - Les déclencheurs créés à partir du prototype de déclencheur auront sa balise.
- Définissez une balise de prototype de déclencheur avec une macro LLD dans le nom ou la valeur de la balise (par exemple,
-
Faire correspondre des services à l'aide de balises de service :
- Définissez des balises de service.
- Configurez des actions de service pour les services ayant des balises correspondantes.
- En outre, utilisez les balises de service pour lier un service à un SLA pour les calculs de SLA.
-
Lier des services aux problèmes à l'aide de balises de problème de service :
- Définissez une balise de problème dans la configuration du service (par exemple,
target:mysql). - Les problèmes ayant une balise correspondante seront automatiquement corrélés au service, et l'état du service changera en fonction des règles de calcul de l'état du service configurées.
- Définissez une balise de problème dans la configuration du service (par exemple,
-
Supprimer les problèmes lorsqu'un hôte est en mode maintenance :
- Définissez des balises dans la configuration de la période de maintenance.
- Les problèmes ayant les balises définies seront supprimés.
-
Accorder l'accès à des groupes d'utilisateurs :
- Définissez des balises dans la configuration du groupe d'utilisateurs.
- Les utilisateurs du groupe d'utilisateurs pourront voir uniquement les problèmes ayant les balises définies.
Configuration
Les tags peuvent être définis dans un onglet dédié, par exemple, dans la configuration de déclencheur :

Prise en charge des macros
Les macros intégrées et les macros utilisateur dans les tags sont résolues au moment de l'événement. Jusqu'à ce que l'événement se produise, ces macros seront affichées non résolues dans l'interface Zabbix.
Les macros de découverte de bas niveau sont résolues pendant le processus de découverte.
Les macros suivantes peuvent être utilisées dans les noms et les valeurs des tags de déclencheur :
- macros intégrées {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} et {HOST.ID}
- macros intégrées {INVENTORY.*} (pour référencer les valeurs d'inventaire d'hôte d'un ou de plusieurs hôtes dans une expression de déclencheur)
- macros utilisateur et macros utilisateur avec contexte (le contexte peut inclure des macros de découverte de bas niveau)
- macros de découverte de bas niveau (uniquement dans les tags de prototypes de déclencheur)
Les macros suivantes peuvent être utilisées dans les noms et les valeurs des tags de modèle, d'hôte et d'élément/scénario web :
- macros intégrées {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} et {HOST.ID}
- macros intégrées {INVENTORY.*}
- macros utilisateur
- macros de découverte de bas niveau (uniquement dans les tags de prototypes d'hôte et d'élément)
Les macros suivantes peuvent être utilisées dans les notifications basées sur des déclencheurs :
- macros intégrées {EVENT.TAGS} et {EVENT.RECOVERY.TAGS} (ces macros seront résolues en une liste de tags d'événement ou de tags d'événement de récupération séparés par des virgules)
- macros intégrées {EVENT.TAGSJSON} et {EVENT.RECOVERY.TAGSJSON} (ces macros seront résolues en un tableau JSON contenant des objets de tag d'événement ou des objets de tag d'événement de récupération)
Extraction de sous-chaîne dans les tags de déclencheur
L'extraction de sous-chaîne est prise en charge pour renseigner le nom ou la valeur du tag, à l'aide d'une fonction de macro. La fonction applique une expression régulière à la valeur obtenue par la macro prise en charge. Par exemple :
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
Si le nom ou la valeur du tag dépasse 255 caractères après la résolution de la macro, il sera tronqué à 255 caractères.
Voir aussi : Utilisation des fonctions de macro dans les macros de découverte de bas niveau pour le marquage des événements.
Affichage des tags d'événement
Les tags, s'ils sont définis, peuvent être consultés avec les nouveaux événements dans :
- Monitoring > Problems
- Monitoring > Problems > Event details
- Dashboards > Problems widget
L'ordre et le nombre de tags affichés sont déterminés par les options de filtrage Tag display priority et Show tags dans Monitoring > Problems ou dans le widget de tableau de bord Problems. Notez qu'un maximum de trois tags peut être affiché ; s'il y a davantage de tags, le survol des trois points permet d'afficher tous les tags dans une fenêtre contextuelle.
