Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Haute disponibilité pour la supervision

La plateforme de supervision est souvent un élément très important d'un parc informatique. Il faut pouvoir avoir pleinement confiance dans cette plateforme, et en sa capacité à informer des erreurs et problèmes potentiels du périmètre de machines supervisées.

Il est donc intéressant d'avoir une architecture hautement disponible pour la supervision afin que celle ci soit fonctionnelle même lors d'un problème sur une partie du logiciel de supervision.

Shinken Entreprise permet de configurer les démons qui composent une installation de manière à obtenir une supervision hautement disponible.

Comment configurer Shinken Entreprise pour avoir une supervision hautement disponible

Le principe des spares

Chaque démon dans Shinken Entreprise peut être secondé par un démon de même type configuré en tant que Spare. Le principe des Spares permet d'assurer une haute disponibilité en assurant un service continu même lorsqu'un démon cesse de fonctionner.


On classe alors les démons dans 2 catégories: les démons maîtres et les démons Spare.


Le cycle de vie d'un Spare est le suivant:

  • Dans un fonctionnement nominal, le démon maître fonctionne correctement: il reçoit des données des autres démons et effectue son travail. Le démon Spare est présent pour pouvoir effectuer la travail du démon maître si celui ci ne peut plus assumer son rôle. Dans un cas de fonctionnement nominal comme celui ci, le démon Spare est inactif.
  • Le démon maître cesse de fonctionner pour une raison quelconque (erreur inconnue, arrêt volontaire, maintenance du serveur, ...). Il ne peut donc plus assumer son rôle. Ce dysfonctionnement est détecté par l'Arbiter qui va alors activer le démon Spare pour qu'il remplace le démon maître et puisse continuer d'assurer le service. Le démon spare agit donc exactement comme la démon maitre: il assure le même service. Ce remplacement de démons est invisible du point de vue de l'utilisateur.
  • Le démon maître est à nouveau fonctionnel (intervention suite à une erreur, fin de maintenance du serveur, ...). L'Arbiter remarque que le démon maître peut à nouveau effectuer son travail. Puisqu'il s'agit du démon maître, il va être préféré au démon Spare. L'Arbiter va donc désactiver le démon Spare et ordonner le démon maître de reprendre son travail.


Panel


Plusieurs remarques peuvent être effectuées sur le fonctionnement des spares.

  • L'exemple sur le schéma met en scène un seul démon maître et un seul démon Spare. Il peut en fait exister plusieurs démons maîtres et plusieurs démons Spares.
    Par exemple, on peut avoir 3 Schedulers maîtres et 2 Schedulers spares. Dans ce cas, lorsqu'un Scheduler maitre est en erreur, un Scheduler spare sera choisi au hasard pour assurer le rôle du Scheduler maître en erreur.
  • Un démon spare ne peut remplacer un démon maître que si ils sont de même type
    Par exemple, un Scheduler Spare ne peut pas remplacer un Poller maître en erreur, mais il pourra remplacer un Scheduler maître.
  • Un démon spare ne peut remplacer un démon maître que si les deux démons se trouvent dans le même royaume
    Un Poller spare d'un royaume "France" ne pourra pas remplacer un Poller maître d'un royaume "Allemagne". 

Procédure de configuration d'un démon Spare

L'ajout d'un démon Spare s'effectue en 3 étapes:

  • Déclarer le démon comme n'importe quel autre démon
  • Activer la propriété Spare dans le démon
  • S'assurer que le démon Poller est bien activé sur la machine du démon Spare.


Pour illustrer la configuration d'un démon spare, on prend l'exemple d'un Poller qu'on va configurer en tant que spare.

La configuration d'un Spare, comme pour la configuration d'un démon classique, s'effectue sur la machine hébergeant le démon Arbiter. Aucune modification au niveau des fichiers de configuration n'est à effectuer sur la machine hébergeant le Poller spare.

    • La première étape est donc de déclarer le nouveau Poller dans /etc/shinken/pollers/poller-spare.cfg. Dans ce fichier, on va donc mettre le contenu suivant (copié depuis /etc/shinken/pollers/poller-master.cfg).
Code Block
title/etc/shinken/pollers/poller-spare.cfg
define poller {
    poller_name               poller-spare
    address                   adresse-poller-spare (ip ou nom dns)
    port                      7771
    use_ssl›                  0


    keep_timeout_time         1200
    min_workers               0
    processes_by_worker       256
    polling_interval          1
    max_ram_percent           95 
                                                                                          
    timeout                   3
    data_timeout              120
    max_check_attempts        3
    check_interval            60


    modules


    realm                    All
    manage_sub_realms        0
    #poller_tags             None


    passive                  0
    spare                    0
    enabled                  1                                                                                                                                                                    
}

    • On prend soin ensuite de passer la valeur de l'option spare à 1
Code Block
title/etc/shinken/pollers/poller-spare.cfg
define poller {
    ...
    spare 1
    ...
}


    • Enfin, sur la machine hébergeant le Poller spare, il faut vérifier que le poller est bien activé. Cette vérification va se faire avec les commandes de Manipulation des démons Shinken.
      On vérifie d'abord que le démon Poller est activé (sur la machine du spare):

      Code Block
      $ shinken-daemons-list

      Si le Poller n'est pas activé sur la machine spare, on peut l'activer grâce à la commande shinken-daemons-enable:

      Code Block
      $ shinken-daemons-enable poller

      Aussi, seul les démons utilisés doivent être activés sur la machine de spare, sous peine d'avoir des comportements hasardeux en cas de mauvaise configuration. Les démons inutilisés peuvent être désactivés grâce à la commande shinken-daemons-disable

      Code Block
      $ shinken-daemons-disable demon1 demon2 ...


Cas particulier de l'Arbiter/Synchronizer

C'est mort pour le synchronizer.

Arbiter un peu plus chiant a configurer → a faire aussi sur la machine spare (mettre spare à 1 dans le fichier de conf), changer le hostname dans la conf sur la machine master