Le gestionnaire d'événements ( event handler ) permet d'exécuter une commande ( scripts ou exécutables ... ) lorsqu'un élément ( cluster, hôte, check ) change de statut, puis à chaque vérification jusqu'à ce que le statut soit confirmé ( HARD ).
L'objectif est de pouvoir invoquer une commande pour réagir à un changement de statut.
Le mode de fonctionnement :
Exemples d'utilisations :
Il est possible de rajouter le paramètre enable_event_handlers dans le fichier de configuration /etc/shinken/shinken.cfg ( voir la page Fichier de configuration ( shinken.cfg ) ) pour activer ou de désactiver les gestionnaires d'événements de tous les éléments dans Shinken.
Ce paramètre n'existe pas par défaut dans le fichier shinken.cfg, il faudra le rajouter à la suite des autres définitions. |
# Enable or not the event handlers # default: 1 (enabled) # 0 (disabled) enable_event_handlers=1 |
Le paramètre log_event_handlers dans le fichier de configuration /etc/shinken/shinken.cfg ( voir la page Fichier de configuration ( shinken.cfg ) ) permet d'activer ou de désactiver les logs du déclenchement des commandes.
Ce paramètre n'existe pas par défaut dans le fichier shinken.cfg, il faudra le rajouter à la suite des autres définitions. |
# Enable or not the event handlers logs # default: 1 (enabled) # 0 (disabled) log_event_handlers=1 |
Le chapitre Gestionnaire d'événements, dans l'onglet expert de la page d'édition des hôtes, clusters et checks ( voir les pages Editer un Hôte, Editer un Cluster et Editer un check ), permet de configurer le gestionnaire d'événements d'un élément.
Il est possible :
Un mécanisme existe pour désactiver tous les gestionnaires d'événements de tous les éléments de Shinken ( voir le chapitre Activer/Désactiver les gestionnaires d'événements dans Shinken ). |
La commande sera exécutée par un Reactionner :
L'exécution de la commande se fera dans les cas suivants :
→ 
→ 
).En plus des cas précédemment évoqués, la commande peut être exécutée pour chaque changement de statut non-OK confirmé ( HARD ).
ex :
→ 
Dans le fichier /etc/shinken-user/configuration/daemons/arbiters/arbiter_cfg_overload.cfg ( voir la page Surcharge des paramètres du démon ( arbiter_cfg_overload.cfg ) ), le paramètre event_handler__hard_state__trigger_on_any_status_change permet d'activer ce comportement ( pour tous les éléments de Shinken ).
# Activate this option to allow Event Handler to execute command on any hard state status change, in addition to its normal behavior.
# 0 : Disabled (Default)
# 1 : Enabled
event_handler__hard_state__trigger_on_any_status_change=1 |
Il est possible d'effectuer l'exécution de la commande lors d'une période de maintenance (
).
Dans le fichier de configuration /etc/shinken-user/configuration/daemons/arbiters/arbiter_cfg_overload.cfg ( voir la page Surcharge des paramètres du démon ( arbiter_cfg_overload.cfg ) ), le paramètre no_event_handlers_during_downtimes permet d'activer ce comportement ( pour tous les éléments de Shinken ).
# By default don't launch even handlers during downtime.
# Note: the default Nagios behaviour is to allow them. If you want to keep this
# Nagios behavior, then set this parameter to 0
no_event_handlers_during_downtimes=0 |
Pour un check volatil, la commande sera exécutée par le gestionnaire d'événements pour chaque retour de statut non-OK ( voir la page Checks volatiles ).
Les logs présents dans le fichier de log du Scheduler ( /var/log/shinken/Scheduler ) lors du déclenchement de la commande par le gestionnaire d'événements :
Pour le gestionnaire d'évènements d'un hôte :
[YYYY-MM-DD HH:MM:SS] INFO: [ NOM DU SCHEDULER ] SERVICE EVENT HANDLER: NOM DE L'HÔTE; NOM DU SERVICE; STATUT DU SERVICE; CONFIRMATION DU STATUT; NOMBRE DE TENTATIVES DE CONFIRMATION DE STATUT; NOM DE LA COMMANDE |
Pour le gestionnaire d'évènements d'un check :
[YYYY-MM-DD HH:MM:SS] INFO: [ NOM DU SCHEDULER ] HOST EVENT HANDLER: NOM DE L'HÔTE; STATUT DE L'HÔTE; CONFIRMATION DU STATUT; NOMBRE DE TENTATIVES DE CONFIRMATION DE STATUT; NOM DE LA COMMANDE |