Mission 6

Objectif : Installer et configurer un service de supervision

adapté a l’infrastructure GSB

Contexte

 

Le choix de la supervision

Pour la supervision nous avons choisi Shinken, car il est extrêmement modulable, son installation est facile et il est basé sur Nagios, donc tous les plug-ins et ressources de celle-ci sont aussi compatibles.

Installation

Dépendances
apt update && apt upgrade
apt-get install python-pip <span class="crayon-e">mongodb </span><span class="crayon-v">python</span><span class="crayon-o">-</span><span class="crayon-v">pymongo</span> <span class="crayon-e">install </span><span class="crayon-e">sudo </span><span class="crayon-v">build</span><span class="crayon-o">-</span><span class="crayon-e">essential </span><span class="crayon-e">snmpd </span><span class="crayon-e">pyro </span><span class="crayon-v">lsb</span><span class="crayon-o">-</span><span class="crayon-e">release </span><span class="crayon-e">python </span><span class="crayon-v">python</span><span class="crayon-o">-</span><span class="crayon-e">pycurl </span><span class="crayon-v">python</span><span class="crayon-o">-</span><span class="crayon-e">pip </span><span class="crayon-v">python</span><span class="crayon-o">-</span><span class="crayon-e">crypto </span><span class="crayon-v">python</span><span class="crayon-o">-</span><span class="crayon-v">paramiko</span>
adduser shinken
pip install shinken
Attention ! Shinken est basé sur python et utilise MongoDB qui sont reconnus pour utilisé beaucoup de RAM, prévoyez 1GB de RAM pour les 2.

ensuite on initialise shinken et on installe les plug-ins UI (l’interface web n’est pas installée par défauts, il utilise le port 7767)

shinken --init && shinken install webui2 && shinken install auth-cfg-password

 

Configuration de l’interface web et installations des modules de supervision

 

Les modules complémentaires sont installés, il faut maintenant les configurer.
Vous devez éditer le fichier « /etc/shinken/modules/webui2.cfg » pour ajouter les modules dans le composant –  vers le milieu du fichier de configuration, il faut ajouter « modules auth-cfg-password,mongodb » . C’est grâce à ces modules que vous pourrez lancer l’interface web, l’exploiter et corréler vos informations.

Il faut aussi modifier le fichier « /etc/shinken/brokers/broker-master.cfg » pour que le « Broker » puisse activer le module « webui » dans la configuration du serveur de supervision.
Tout comme l’autre fichier, vous devez ajouter « modules webui2 » dans la configuration de ce fichier précédemment cité.

Attention ! par défaut aucun module de supervision n’es installer il faut les installer : shinken install linux-ssh && shinken install linux-snmp 
Le service Shinken
Shinken est un ensemble de service différent il est possible de rédémarer celle-ci indépendament mais il faut faire attention au démararage de les amorcé dans le bonne ordre, le service shinken s’occupe de cela
systemctl start shinken
Quand les fichiers « nagios.cfg » et « shinken-specific.cfg » sont modifiés, il n’est pas nécessaire de redémarrer tout le serveur Shinken en entier. En effet, le processus qui lit les fichiers de configuration est « shinken-arbiter » : le redémarrer permet de recharger les fichiers de configuration et ainsi, de mettre à jour les ordres pour les autres processus du système Shinken. (/etc/init.d/shinken-arbiter restart)
Interface WEB

Nous pouvons maintenant utiliser l’interface web de Shinken, il utilise le port 7767 et son propre serveur web, pour le login shiken utilise le fichier de configuration dans : /etc/shinken/contacts/ par exemple fichier admin ressemble a cela :

# This is a default admin
# CHANGE ITS PASSWORD!

define contact{
    use             generic-contact
    contact_name    admin
    email           shinken@localhost
    pager           0600000000   ; contact phone number
    password        admin
    is_admin        1
    expert	    1
}
il est facilement modifiable, point négatif par défaut les mots de passe sont enregistrés en texte dans se fichier.
Ajout de service à superviser

Comme un nagios pour qu’un service ce fasse supervision il faut lui créer un service lui-même basé sur une commande voici un exemple pour tester les ventilateurs d’un commutateur HP 2626.

define host{
        use                     generic-host
	contact_groups		admins
        host_name               mutlab
        address                 172.16.0.1
        }

 define command{ 

  command_name check_hpfan 

  command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.1 -w $ARG2$ -c $ARG3$ -l 'Fan status' 

 } 
<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1">​</span>
# Service definition FAN

define service{

	use				generic-service		; Name of service template to use
	host_name			mutlab
	service_description		FAN-STATUS
	check_command			check_hpfan!public!4!3:5

	}<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1">​</span>

Voilà notre service est maintenant supervisé il ne manque plus qu’a redémarré le service arbitrer pour qu’il le prenne en compte.

/etc/init.d/shinken-arbiter restart

et normalement sur notre interface web nous devrions avoir un service en plus « FAN-STATUS » sur l’hôte mutlab :