Dépendances de déclencheurs
Les dépendances de déclencheurs peuvent être utilisées pour éviter les alertes qui ne sont pas liées à la cause racine.
Voir toutes les bonnes pratiques.
Aperçu
Il arrive parfois que la disponibilité d’un hôte dépende d’un autre. Un serveur situé derrière un routeur deviendra injoignable si le routeur tombe en panne. Avec des déclencheurs configurés pour les deux, vous pourriez recevoir des notifications concernant deux hôtes indisponibles, alors qu’en réalité seul le routeur est à l’origine du problème.
C’est dans ce cas qu’une dépendance entre hôtes peut être utile. Lorsqu’une dépendance est définie, les notifications des éléments dépendants peuvent être retenues et seule la notification du problème racine est envoyée.
Bien que Zabbix ne prenne pas directement en charge les dépendances entre hôtes, elles peuvent être définies par une autre méthode, plus flexible : les dépendances de déclencheurs. Un déclencheur peut dépendre d’un ou de plusieurs autres déclencheurs.
Dans notre exemple simple, nous ouvrons donc le formulaire de configuration du déclencheur du serveur et définissons qu’il dépend du déclencheur correspondant du routeur. Avec une telle dépendance, le déclencheur du serveur ne changera pas d’état tant que le déclencheur dont il dépend est dans l’état « PROBLEM » ; ainsi, aucune action dépendante ne sera exécutée et aucune notification ne sera envoyée.
Si à la fois le serveur et le routeur sont indisponibles et qu’une dépendance est définie, Zabbix n’exécutera pas d’actions pour le déclencheur dépendant.
Tant que le déclencheur parent est dans l’état PROBLEM, ses dépendants peuvent signaler des valeurs non fiables. Par conséquent, les déclencheurs dépendants ne seront pas réévalués tant que le déclencheur parent (le routeur dans l’exemple ci-dessus) :
- ne repasse pas de l’état « PROBLEM » à l’état « OK » ;
- ne change pas d’état de « PROBLEM » à « UNKNOWN » ;
- n’est pas fermé manuellement, par corrélation ou à l’aide des fonctions date and time et/ou nodata() ;
- n’est pas résolu par une valeur d’un élément non impliqué dans le déclencheur dépendant ;
- n’est pas désactivé, n’a pas un élément désactivé ou un hôte d’élément désactivé
Dans tous les cas mentionnés ci-dessus, le déclencheur dépendant (serveur) ne sera réévalué que lorsqu’une nouvelle métrique le concernant sera reçue. Cela signifie que le déclencheur dépendant peut ne pas être mis à jour immédiatement.
Également :
- Une dépendance de déclencheur peut être ajoutée depuis le déclencheur de n’importe quel hôte vers le déclencheur de n’importe quel autre hôte, tant que cela ne crée pas de dépendance circulaire.
- Une dépendance de déclencheur peut être ajoutée d’un modèle à un autre. Si un déclencheur du modèle A dépend d’un déclencheur du modèle B, le modèle A ne peut être lié à un hôte (ou à un autre modèle) qu’avec le modèle B, mais le modèle B peut être lié seul à un hôte (ou à un autre modèle).
- Une dépendance de déclencheur peut être ajoutée d’un déclencheur de modèle à un déclencheur d’hôte. Dans ce cas, l’association d’un tel modèle à un hôte créera un déclencheur d’hôte qui dépend du même modèle de déclencheur que celui dont le déclencheur dépendait. Cela permet, par exemple, d’avoir un modèle dans lequel certains déclencheurs dépendent des déclencheurs du routeur (hôte). Tous les hôtes liés à ce modèle dépendront de ce routeur spécifique.
- Une dépendance de déclencheur ne peut pas être ajoutée d’un déclencheur d’hôte à un déclencheur de modèle.
- Une dépendance de déclencheur peut être ajoutée d’un prototype de déclencheur à un autre prototype de déclencheur (au sein de la même règle de découverte de bas niveau) ou à un déclencheur réel. Un prototype de déclencheur ne peut pas dépendre d’un prototype de déclencheur provenant d’une règle LLD différente ni d’un déclencheur créé à partir d’un prototype de déclencheur. Un prototype de déclencheur d’hôte ne peut pas dépendre d’un déclencheur provenant d’un modèle.
Configuration
Pour définir une dépendance, ouvrez l’onglet Dépendances dans le formulaire de configuration du déclencheur. Cliquez sur Ajouter dans le bloc « Dépendances » et sélectionnez un ou plusieurs déclencheurs dont le déclencheur dépendra.

Cliquez sur Mettre à jour. Le déclencheur affiche désormais l’indication de sa dépendance dans la liste.

Exemple de plusieurs dépendances
Par exemple, l’hôte se trouve derrière le Routeur2 et le Routeur2 se trouve derrière le Routeur1.
Zabbix - Routeur1 - Routeur2 - Hôte
Si le Routeur1 est indisponible, alors il est évident que l’hôte et le Routeur2 sont également injoignables, mais recevoir trois notifications indiquant que l’hôte, le Routeur1 et le Routeur2 sont tous indisponibles est excessif.
Dans ce cas, nous définissons donc deux dépendances :
le déclencheur « l’hôte est indisponible » dépend du déclencheur « le Routeur2 est indisponible »
le déclencheur « le Routeur2 est indisponible » dépend du déclencheur « le Routeur1 est indisponible »
Avant de modifier l’état du déclencheur « l’hôte est indisponible », Zabbix va
vérifier les dépendances de déclencheur correspondantes. Si de telles dépendances
sont trouvées et que l’un de ces déclencheurs est à l’état Problem, alors l’état du déclencheur ne sera pas
modifié, les actions ne seront pas exécutées et aucune notification ne sera
envoyée.
Zabbix effectue cette vérification de manière récursive. Si le Routeur1 ou le Routeur2 est injoignable, le déclencheur de l’hôte ne sera pas mis à jour.