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.
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.
Pour ne pas perdre les données lors du changement du module de rétention, il faut donc effectuer les opérations suivantes: