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
Parfois, la disponibilité d'un hôte dépend d'un autre. Un serveur situé derrière un routeur deviendra inaccessible si le routeur tombe en panne. Avec des déclencheurs configurés pour les deux, vous pourriez recevoir des notifications indiquant que deux hôtes sont en panne, alors qu'un seul coupable était le routeur.
C'est là qu'une certaine dépendance entre hôtes peut s'avérer utile. Avec une dépendance définie, les notifications des dépendants pourraient être retenues et seule la notification du problème racine serait envoyée.
Bien que Zabbix ne prenne pas directement en charge les dépendances entre hôtes, elles peuvent être définies à l'aide d'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 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' - et aucune action dépendante ne sera donc exécutée et aucune notification ne sera envoyée.
Si le serveur et le routeur sont tous deux en panne, et qu'une dépendance est définie entre le déclencheur "server down" et le déclencheur "router down", 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 qui ne sont pas 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 sera reçue pour lui. Cela signifie que le déclencheur dépendant peut ne pas être mis à jour immédiatement.
Aussi:
- Une dépendance de déclencheur peut être ajoutée de n'importe quel déclencheur d'hôte à n'importe quel autre déclencheur d'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é à un hôte (ou à un autre modèle) seul.
- 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, le fait de lier un tel modèle à un hôte créera un déclencheur d'hôte qui dépend du même déclencheur de modèle que celui dont dépendait le déclencheur. 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 à 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 d'un modèle.
Configuration
Pour définir une dépendance :
-
Ouvrez l'onglet Dependencies dans le formulaire de configuration du déclencheur.
-
Cliquez sur Add dans la section Dependencies et sélectionnez un ou plusieurs déclencheurs dont dépendra le déclencheur.

-
Cliquez sur Update.
Le déclencheur affiche alors l'indication de sa dépendance dans la liste.

Exemple de plusieurs dépendances
Par exemple, l'hôte se trouve derrière Router2 et Router2 se trouve derrière Router1.
Zabbix - Router1 - Router2 - hôte
Si Router1 est en panne, alors, évidemment, l'hôte et Router2 sont également injoignables, mais recevoir trois notifications indiquant que l'hôte, Router1 et Router2 sont tous en panne est excessif.
Dans ce cas, nous définissons donc deux dépendances :
le déclencheur 'hôte en panne' dépend du déclencheur 'Router2 en panne'
le déclencheur 'Router2 en panne' dépend du déclencheur 'Router1 en panne'
Avant de modifier l'état du déclencheur 'hôte en panne', Zabbix vérifiera les dépendances de déclencheur correspondantes.
Si de telles dépendances sont trouvées et que l'un de ces déclencheurs est dans 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 Router1 ou Router2 est injoignable, le déclencheur de l'hôte ne sera pas mis à jour.