Table des matières

Shinken en haute disponiblité sur 2 noeuds

Rôle Nom
Rédacteur David GUENAULT
En cours de rédaction

Introduction

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.

Ce tutoriel est réalisé pour la version 1.2 de shinken sous debian 6

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.

architecture

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.

Installation du serveur principal

Shinken

Vous devez avoir une connexion directe à internet car le script va devoir télécharger les dépendances d’installation (paquets debian et modules python par exemple). Si vous êtes derrière un proxy, n’oubliez pas de le confiugrer pour vos serveurs (au niveau apt et également les variables d’environnement).
git clone https://github.com/naparuba/shinken.git
cd shinken
MANAGEPYRO=1 RETENTIONMODULE=mongo ./install -i
MANAGEPYRO=1 permet de contourner un bug pyro sous debian6 RETENTIONMODULE=1 permet d’utiliser la retention en base mongo.

Plugins Nagios

./install -p nagios-plugins

Graphite

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 :

Quelques explications

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

Installer graphite

L’installation de graphite est facilitée par l’installeur

./install -a graphite