Rôle | Nom |
---|---|
Rédacteur | David GUENAULT |
Une des grandes force de shinken est son support natif de la haute disponibilité. Nous allons voir dans ce tutoriel comment installer shinken en haute disponibilité sur 2 noeuds. Cette installation restera volontairement simple afin de bien appréhender le fonctionnement de shinken dans ce cas d’utilisation. Nous nous baserons sur le script d’installation livré avec shinken pour réaliser cette installation.
L’objectif est de faire en sorte que lors de la perte de tout ou partie du noeud principal, le noeud secondaire soit a même de prendre le relais. Il faut néanmoins prendre un certain nombre de choses en compte.
La haute disponibilité est donnée pour le coeur shinken, si les addons nagios tels que multisite, nagvis ou pnp4nagios ne le supporte pas, il est évident que l’on perd en haute disponibilité sur ce point. Pour autant la fonction de supervision en elle même et les notifications sont elles toujours assurée et c’est la l’essentiel.
L’architecture de supervision est constituée de deux serveurs montés à l’identique sur lesquels nous allons installer git (mais ce n’est pas obligatoire si vous récupérez l’archive shinken directement depuis le site de shinken).
Les deux serveurs sont nommés shinken1 et shinken2 et les adresses ip sont :
shinken1 sera le serveur actif et shinken 2 sera le serveur de secours.
git clone https://github.com/naparuba/shinken.git
cd shinken MANAGEPYRO=1 RETENTIONMODULE=mongo ./install -i
./install -p nagios-plugins
graphite permet de stocker et retranscrire les métriques sous forme de graphiques. Nous aurions pu utiliser pnp4nagios mais celui ci ne supporte pas la réplication et casserait donc la haute disponibilité de la solution. Graphite est composé pour l’instant de 2 éléments principaux :
Il y à un certain nombre de choses à connaitre et maîtriser avant de pouvoir utiliser graphite :
Une fois que l’on a répondu à ces questions, il devient trivial de calculer la rétention. Cela se fait en définissant des schémas de stockage (selon ou est installé graphite : /opt/graphite/conf/storage-schemas.conf). Nous allons reprendre notre exemple de Load pour illustrer la configuration des schémas de stockage. Mon intervalle de vérification de la charge moyenne est de 5 minutes, c’est ma capacité de production de métrique (300secondes). J’ai besoin de conserver cette résolution pour vérification sur une période de une semaine et ensuite je peux me contenter d’une résolution de 15 minutes mais sur une période de 1 an. Les schémas de stockage sont définit de la manière suivante :
[nom_du_schema] priority = 100 pattern = ^servers\. retentions = 300:2016,900:35040
L’installation de graphite est facilitée par l’installeur
./install -a graphite