Le gestionnaire d'événements est un système de commandes optionnelles ( scripts ou exécutables ) qui sont lancées dès qu'un hôte ou un check changent d'état.
Comme pour les notifications, l'objectif de pouvoir invoquer une de vos commandes que vous aurez défini pour réagir suite au changement d'état.
Voici des exemples d'utilisations :
Par défaut, les event handlers sont activés.
Ce comportement peut être surchargé ( activés ou désactivés ) globalement en utilisant le paramètre "enable_event_handlers" dans le fichier de configuration /etc/shinken/shinken.cfg ( .
Si ce paramètre n'est pas présent dans le fichier, il faudra l'ajouter.
Par exemple, pour désactiver globalement l'exécution des event handlers, on ajoute le paramètre comme suivant dans /etc/shinken/shinken.cfg:
enable_event_handlers=0 |
Les gestionnaires d'événements spécifiques pour les hôtes et pour les checks
Ils sont exécutés quand un élément ( hôte, cluster, check ) :
Les états SOFT et HARD sont décrits en détail dans la page Etats "HARD" et "SOFT".
Vous pouvez associer un gestionnaire d’événement spécifique pour gérer les changements d'état de chaque :
Le gestionnaire d'événements propose des fonctionnalités similaires aux notifications mais les événements sont appelés à chaque changement d'état, SOFT ou HARD.
Comme vu précédemment, les gestionnaires d'événements globaux sont exécutés immédiatement avant ceux spécifiques à un hôte ou à un check.
Ils sont exécutés pour un problème ou rétablissement HARD, immédiatement après l'envoi des notifications.
Les commandes de gestionnaires d’événements sont par exemple des scripts shell ou perl, mais peuvent aussi être tout type d’exécutables qui peuvent être lancés en ligne de commande.
Les exemples de notation de Variables suivants permettent de régler le comportement de la commande en fonction de l'événement géré :
Pour les checks:
Pour les hôtes:
Référez vous à la page dédiée des notations de remplacement dynamique de contenu pour l'intégralité des notations.
Par défaut, la commande est exécutée avec les mêmes droits que ceux de l'utilisateur sous lequel Shinken est démarré sur la machine. Cela peut présenter un problème si vous voulez utiliser un gestionnaire d'événements qui doit redémarrer des services systèmes, qui nécessitent généralement des accès privilégiés pour faire ce genres de tâches.
Dans l'idéal, vous devez évaluer les types de gestionnaires d'événements que vous serez en train de mettre en place et rajouter juste assez de permissions sur le user Shinken afin qu'il puisse exécuter les commandes systèmes nécessaires. Vous devrez peut être utiliser "sudo" pour accomplir cela.