This is a translation of the original English documentation page. Help us make it better.

3 Dépendance des déclencheurs

Aperçu

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 :

  • change son état de 'PROBLÈME' à 'INCONNU'
  • est fermé manuellement, par corrélation ou à l'aide de fonctions temporelles
  • est résolu par une valeur d'un élément non impliqué dans le déclencheur dépendant
  • est désactivé, a un élément désactivé ou un hôte d'élément désactivé

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 :

  • La dépendance de déclencheur peut être ajoutée à partir de n'importe quel déclencheur d'hôte vers n'importe quel autre déclencheur d'hôte, tant qu'il n'en résulte pas une dépendance circulaire.
  • La dépendance de déclencheur peut être ajoutée d'un modèle à un modèle. 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, la liaison d'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 de déclencheur dont dépendait le déclencheur. Cela permet, par exemple, d'avoir un modèle où 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.
  • La dépendance de déclencheur d'un déclencheur hôte à un déclencheur modèle ne peut pas être ajoutée.
  • La 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 véritable déclencheur. Un prototype de déclencheur ne peut pas dépendre d'un prototype de déclencheur d'une règle LLD différente ou d'un déclencheur créé à partir d'un prototype de déclencheur. Le 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 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.

Exemple de plusieurs dépendances

Par exemple, un hôte (Host) est derrière un routeur (Router2) et Router2 est derrière un autre routeur (Router1).

Zabbix - Router1 - Router2 - Host

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.