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 4 é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.
- Redémarrer Shinken afin que la nouvelle configuration soit prise en compte par les démons.
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 | ||
|---|---|---|
| ||
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
#exec_stat_range 50, 100, 200, 300, 400
max_ram_percent 95
#max_cpu_queue_per_cpu 4
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 | ||
|---|---|---|
| ||
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
Nous avons vu que dans Shinken Entreprise, l'ajout d'un démon spare n'était pas plus difficile que l'ajout de n'importe quel autre démon:
- Déclaration du démon
- Activation du paramètre spare
- Activation du démon sur la machine concernée
Deux démons échappent à cette règle de configuration pour le cas des spares: l'Arbiter et le Synchronizer
En effet, ces deux démons sont spéciaux dans le sens ou ils ne peuvent pas être répliqués facilement:
- Le Synchronizer est unique dans une installation Shinken Entreprise. Il permet de définir la configuration et contient les informations sur les éléments supervisés dans une base de données locales. Le dupliquer ou l'utiliser en tant que spare est bien plus complexe que les autres démons car il faut également répliquer la base de données de configuration.
- L'Arbiter est le démon central de Shinken Entreprise. Il distribue la configuration à tous les autres démons et nécessite des étapes de configuration supplémentaires pour être utilisé en tant que spare.
Compte tenu de son rôle central, la configuration d'un Arbiter spare nécessite donc des étapes supplémentaires:
- Déclaration d'un nouvel Arbiter dans la configuration
- Activation du paramètre spare
- Activation du démon sur la machine concernée
- Activation du paramètre spare sur la machine hébergeant l'Arbiter spare
TODO
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
