Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contents
stylenone

Introduction

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.  

L'un des usages classique est la possibilité pour Shinken Enterprise de régler des problèmes en amont.

...

Voici quelques types d'usage :

  • relancer un check défaillant,
  • créer un ticket dans un outil de

...

  • support,
  • tracer des événements dans une base de

...

  • données,
  • redémarrer un hôte,
  • informer un Shinken distant.

Quand les

...

commandes sont-

...

elles exécutées?

...

  • est dans un état de problème SOFT
  • arrive directement dans un état de problème HARD 
  • revient d'un état de problème SOFT ou HARD 

...

Elles sont exécutées :

  • lorsque le statut de l'élément est en SOFT et à chaque réception d'une vérification de statut,
  • lorsque le statut de l'élément passe en HARD non OK (WARNING, CRITICAL, UNKNOWN),
  • lorsque le statut de l'élément passe en OK.

Pour plus de détail sur les états SOFT et HARD voir la page suivant : États "HARD" et "SOFT"

Type d'événements

Il y a différents types de gestionnaire d'événements que vous pouvez définir pour gérer les changements d'état :

  • gestionnaire spécifique pour les

...

  • hôtes
  • gestionnaire spécifique pour les checks 

Le gestionnaire d'événements propose des fonctionnalités similaires aux notifications (lancement de certaines commandes) mais les événements sont appelés à chaque changement d'état, SOFT ou HARD.  

Chaque hôte et check peut individuellement avoir un gestionnaire d'événements. Vous pouvez le spécifier dans les définitions de vos Hôtes et checks en utilisant le paramètre "event_handler" 

 

Activer le gestionnaire d'événements

Par défaut, les event handlers sont activés. Ils peuvent être 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:

Code Block
title/etc/shinken/shinken.cfg
enable_event_handlers=0


Les gestionnaires d'événements spécifiques pour les hôtes et pour les checks peuvent être activés ou désactivés via le paramètre "event_handler" dans les définitions de vos hôtes et checks.  

Les gestionnaires d'événements spécifiques pour les hôtes et pour les checks ne seront pas exécutés si le paramètre global "enable_event_handlers" est à 0.

Ordre d'exécution

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.

Ecrire une commande

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:

  • $SERVICESTATE$
  • $SERVICESTATETYPE$
  • $SERVICEATTEMPT$

Pour les hôtes:

  • $HOSTSTATE$
  • $HOSTSTATETYPE$
  • $HOSTATTEMPT$

Référez vous à la page dédiée des notations de remplacement dynamique de contenu pour l'intégralité des notations.

Droits pour le gestionnaire d'événements

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.

...