Rappels sur le principe de rétention pour les Schedulers

Le démon Scheduler récupère les informations de statut des checks et des hôtes. Ces statuts sont ensuite utilisés pour déclencher l'envoi des notifications, et pour être affichés dans l'interface de Visualisation.


Quand un démon Scheduler redémarre, il perd l'ensemble des statuts qu'il avait en mémoire. L'ensemble des checks et hôtes affectés à ce Scheduler sont alors en statut "Inconnu", ce qui déclenche potentiellement (selon les paramètres) l'envoi de notifications pour tous les checks, et insère ces statuts "Inconnu" dans les données d'historique et de SLA.

Pour éviter ce problème, un module de rétention doit être accroché sur chaque Scheduler. Ce module a pour rôle de sauvegarder les statuts des éléments dans le Scheduler lorsqu'il s'éteint, et de charger ces statuts lorsqu'il démarre. Les statuts des hôtes et checks ne sont plus perdus au redémarrage du Synchronizer et on évite les problèmes d'envoi des notifications et de pollution des SLA.

Problèmes liés au changement de rétention sur un Scheduler

Lorsqu'on a un Scheduler en cours de fonctionnement avec un module de rétention, et qu'on veut changer de module de rétention, on ne peut pas simplement changer le module dans la configuration du Scheduler et redémarrer l'Arbiter.

Lors du redémarrage de Shinken pour prendre en compte le changement de configuration, le démon Scheduler redémarre avec le nouveau module de rétention, qui n'a pas les données sauvegardées avant l'extinction. On a pour ce premier redémarrage les mêmes problèmes que si le Scheduler n'a pas de module de rétention.

Procédure de changement de rétention

Résumé

Pour ne pas perdre les données lors du changement du module de rétention, il faut donc effectuer les opérations suivantes:

  • Changer la configuration du Scheduler pour ajouter le 2e module de rétention. On a alors 2 modules de rétention en parallèle sur le Scheduler.
  • Redémarrer l'Arbiter pour prendre en compte le changement de configuration.
  • Déclencher une sauvegarde de la rétention en eteignant le démon Scheduler. Les données de rétention seront sauvegardées par les 2 modules.
  • Changer la configuration du Scheduler pour enlever le premier module de rétention.
  • Redémarrer l'Arbiter pour prendre en compte le changement de configuration.
TODO: Explication plus détaillée