Parfois, la disponibilité d'un hôte dépend d'un autre. Un serveur qui se trouve 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 concernant deux hôtes en panne - alors que seul le routeur était le coupable.
C'est là qu'une certaine dépendance entre les hôtes peut être utile. Avec l'ensemble de dépendances, les notifications des personnes à charge peuvent être retenues et seule la notification du problème racine peut être envoyée.
Bien que Zabbix ne prenne pas directement en charge les dépendances entre les hôtes, elles peuvent être définies avec une autre méthode plus flexible - les dépendances de déclenchement. Un déclencheur peut avoir un ou plusieurs déclencheurs dont il dépend.
Ainsi, 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 respectif 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 'PROBLÈME' - et donc aucune action dépendante ne sera prise et aucune notification envoyée.
Si le serveur et le routeur sont en panne et qu'il y a une dépendance, Zabbix n'exécutera pas d'actions pour le déclencheur dépendant.
Les actions sur les déclencheurs dépendants ne seront pas exécutées si le déclencheur dont elles dépendent :
Notez que le déclencheur "secondaire" (dépendant) dans les cas mentionnés ci-dessus ne sera pas immédiatement mis à jour. Lorsque le déclencheur parent est dans l'état PROBLÈME, ses dépendants peuvent signaler des valeurs auxquelles nous ne pouvons pas faire confiance. Ainsi, le déclencheur dépendant ne sera réévalué et ne changera d'état qu'après que le déclencheur parent est à l'état OK et que nous aurons reçu des métriques fiables.
Aussi :
Pour définir une dépendance, ouvrez l'onglet Dépendances dans un formulaire de configuration de déclencheur. Cliquez sur Ajouter dans le bloc 'Dépendances' et sélectionnez un ou plusieurs déclencheurs dont dépendra notre déclencheur.
Cliquez sur Mettre à jour. Maintenant, le déclencheur a une indication de sa dépendance dans la liste.
Par exemple, un hôte (Host) est derrière un routeur (Router2) et Router2 est derrière un autre routeur (Router1).
Si Router1 est en panne, alors évidemment Host et Router2 sont également inaccessibles, mais nous ne voulons pas recevoir trois notifications indiquant que Host, Router1 et Router2 sont tous en panne.
Donc, dans ce cas, nous définissons deux dépendances :
'Host is down' trigger depends on 'Router2 is down' trigger
'Router2 is down' trigger depends on 'Router1 is down' trigger
Avant de modifier l'état du déclencheur 'Host is down', Zabbix vérifiera les dépendances de déclencheur correspondantes. S'il est trouvé et que l'un de ces déclencheurs est à l'état 'Problème', l'état du déclencheur ne sera pas modifié et les actions ne seront donc pas exécutées et les notifications ne seront pas envoyées.
Zabbix effectue cette vérification de manière récursive. Si Router1 ou Router2 est inaccessible, le déclencheur Host ne sera pas mis à jour.