Superviser avec Nagios

Transcription

Superviser avec Nagios
DI MARCANTONIO
Joris
Superviser avec Nagios
Introduction
Présentation du programme
Etude demandé lors de mon stage
Impact de la mise en place de la solution
Mise en place du serveur de supervision
Opérations préalables
Installation de Nagios
Configuration du serveur de supervision
Création d’un groupe d’utilisateurs
Création d’un utilisateur
Création de groupe de machines
Ajout des machines
Ajout des services
Aller plus loin avec Nagios
Plugin NSClient ++
Plugin NRPE
Critique Personnelle
1
DI MARCANTONIO
Joris
Présentation du programme
Nagios est un programme open source sous Linux permettant de surveiller un parc informatique plus
ou moins grand. L’outil de supervision effectue des contrôles intermittents sur les hôtes et services
que vous spécifiez en utilisant des plugins externes qui retournent un status d’état à Nagios.
Quand des problèmes surviennent, il peut envoyer des notifications à des contacts administratifs de
façons différentes (email, SMS, messagerie instantanée, etc…). Les informations d’états courants, les
historiques et les rapports peuvent être consultés à partir d’un simple navigateur.
Etude demandée lors de mon stage
Lors de mon stage au sein du bataillon des marins pompiers de Marseille, j’ai eu la chance de
découvrir la supervision. En effet, ce terme est étudié lors de la deuxième année du bts SIO.
J’ai donc pu bénéficier de l’infrastructure réseau existante du bataillon pour pouvoir m’initier à
Nagios. Mon maitre de stage m’a alors présenté ses attentes : il souhaitait que je puisse superviser
une partie du réseau de la caserne de Plombière où j’étais affecté.
Etant novice dans la matière, il m’a d’abord expliqué en quoi consistait la supervision, m’a présenté
les principales caractéristiques de Nagios, puis il m’a demandé de rédiger une note personnelle afin
de pouvoir ensuite administrer mes propres équipements. J’ai donc disposé d’éléments
d’infrastructures tels que des switchs et des routeurs pour me perfectionner.
Impacts de la mise en place de la solution
Avec la mise en place de mon projet, les techniciens informatiques ont pu découvrir de nouveaux
problèmes et ainsi anticiper sur d’éventuelles pannes futures. Par exemple des disques durs de
serveurs qui étaient pleins à 95% ou des processeurs bloqués à 100%.
Nous avons aussi par la même occasion tenter de réparer un maximum de problèmes pour avoir une
carte avec le moins d’alertes possibles, et ainsi trouver quelques équipements qui n’existaient plus
ou encore qui avaient changés d’IP.
2
DI MARCANTONIO
Joris
Mise en place du serveur de supervision
Opérations préalables
Avant de commencer l’installation, bien vérifier que nous avons une distribution compatible avec
Nagios. J’ai personnellement utilisé la distribution Debian de Linux qui est un environnement familier
car souvent utilisé en cours.
Nous devons également utiliser la dernière version de Nagios afin d’avoir la dernière mise à jour du
logiciel
Remarque : Opter prioritairement pour une installation en ligne de commande avec un gestionnaire
de paquets (ici Aptitude) plutôt qu’avec un téléchargement vers un site distant en utilisant la
commande wget pour différentes raisons : premièrement la sécurité puis souvent car les fichiers que
l’on télécharge ne contiennent pas tous les fichiers de conf et sont parfois obsolètes.
Installation de Nagios
Dans la console, on exécute la commande :
apt-get install nagios3 nagios3-doc
Il est ensuite nécessaire de créer un utilisateur :
Adduser nagios
Afin de ne pas rencontrer le problème de droits, on utilise l’utilisateurs et des droits que l’on a établis
plus haut pour les attribuer au dossier /usr/local/nagios/var/rw/
chown nagios:nagiocmd /usr/local/nagios/var/rw
chmod 775 /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
On redémare ensuite le service :
Service nagios3 restart
3
DI MARCANTONIO
Joris
Une fois que l’on a attribué une @ IP à notre serveur, on doit ensuite saisir dans le navigateur son IP
pour accéder à l’interface web. On doit ensuite obtenir cette interface :
4
DI MARCANTONIO
Joris
Configuration du serveur de supervision
Création d’un groupe d’utilisateur
Il nous faut d'abord créer un groupe d'utilisateur qui accueillera des utilisateurs propre au groupe.
Pour cela, nous devons aller dans le fichier : contactgroup.cfg
Création d’un utilisateur
Une fois notre groupe d'utilisateurs créé, nous devons ajouter des utilisateurs dedans. Il est essentiel
pour un nouvel utilisateur de renseigner son nom, son alias, son adresse mail (pour la future
notification), le groupe auquel il fait partie (ici, nous pouvons en spécifier un directement car nous
avons pris soin de le créer avant), puis s'il possède le droit d'accéder à l'interface Web, son mot de
passe, sa langue, le format du mail, s'il est considéré comme un administrateur, s'il souhaite
s'authentifier uniquement en local ou pas. On va donc dans le fichier contact.cfg
Création de groupe de machine
Afin de pouvoir rajouter une machine dans le serveur de supervision, il faut ajouter tout d'abord
comme pour les utilisateurs, un groupe, en l'occurrence un groupe de machine ici.
5
DI MARCANTONIO
Joris
Création de machines
Maintenant que nous avons créé des utilisateurs et des groupements de machine, nous allons
pouvoir rajouter des machines.
J’ai découvert la possibilité de créer une machine template, son principe est que l'on associe
plusieurs machines à une seule. Lorsque l'on créé une machine template, on peut se servir des
champs renseignés dans sa configuration pour configurer plus rapidement une autre machine, ainsi
nous pouvons créer beaucoup de machine assez rapidement en utilisant une de ces machines
templates. Une machine template se compose exactement comme une machine si ce n'est que l'on
ne renseigne pas le nom, l'alias et l'adresse de la machine, en effet ces renseignements sont propres
à une machine unique
Ajout d’un service
Un service peut être associé à plusieurs machines et comme pour la création des machines, nous
pouvons associer un service template à plusieurs services, ce qui réduit beaucoup nos champs de
saisie pour les services. Il est préférable de créer une machine à superviser dans lequel se trouvent
ses fichiers define host puis define service. Voici les commandes que Nagios intègre par défaut:
Sur notre interface web, on retrouve les différents hotes supervisés ainsi que les services associés.
6
DI MARCANTONIO
Joris
Aller plus loin dans Nagios : plugins NSClient++ et NRPE
Lors de mon stage, j’ai du supervisé des éléments d’infrastructure comme des routeurs et des
switchs mais également des serveurs avec deux OS différents : Windows et Linux.
Pour surveiller des machines distantes il faut qu'il y ait sur ces machines un agent qui pourra
renseigner les plugins Nagios des informations dont ils ont besoin.
NSClient ++
Pour les machines windows, j’ai décidé d’utiliser le plugin NSClient ++ en installant l’agent sur la
machine Windows, et d’utiliser le greffon check_nt depuis le serveur Nagios pour communiquer avec
NSCLient++. Emplacement du fichier check_nt : /usr/local/nagios/etc/objects/commands
J’ai ensuite installé l’agent NSClient++ sur une Windows XP. Pour cela, il faut aller sur le site
nsclient.org puis téléchargé la dernière version en .msi
7
DI MARCANTONIO
Joris
Je l’ai ensuite installé sur ma machine XP :
Remarque : Ne pas oublier d’activez les champs plugins, check_nt et check_nrpe
On ouvre maintenant le gestionnaire de service afin de s'assurer que le service NSClient est autorisé
à interagir
8
DI MARCANTONIO
Joris
Depuis notre serveur Nagios : On doit aller dans le fichier nagios.cfg pour ensuite décommenter la
ligne correspondant à windows pour que Nagios puisse chercher dans ses répertoires :
Voici le résultat que j’ai obtenu sur l’interface web de mon serveur Nagios à propos des remontés de
la machine windows XP. On remarque que le plugin NSClient++ est bien fonctionnel.
NRPE
NRPE(Nagios Remote Plugin Executor) est un « Addons » pour Nagios qui permet d'exécuter des
plugins sur un serveur Linux/Unix distant. Cela permet de surveiller des ressources locales (charge du
processeur, utilisation de la mémoire, espace disque…) qui ne sont normalement pas disponibles
depuis d'autres machines. Afin d'interroger le client NRPE il faudra utiliser le greffon "check_nrpe"
sur notre serveur Nagios. On doit donc installer les plugins sur chaque machines distantes.
Malheureusement, en raison de l’importance et de la confidentialité des serveurs présents au
bataillon, je n’ai pas pu installer de clients, les serveurs étant déjà supervisés par un logiciel
propriétaire : HP Open View.
J’ai pu en revanche tester le plugin sur une machine virtuel Debian sous VirtualBox.
Critique personnelle
Pour ma part, je trouve que Nagios est un excellent outil très complet, on retrouve une très large
communauté d’utilisateurs ce qui facilite les résolutions de problèmes sur diverses forums.
J’ai vraiment apprécié le fait que Nagios nous indique le numéro de ligne ainsi que l’erreur produite
dans un fichier de configuration. Cela nous fait gagner un temps précieux. Je trouve que la mise en
main se fait assez rapidement une fois que l’on a l’habitude de créer plusieurs hôtes et plusieurs
services. Nous pouvons également aller beaucoup plus loin dans la supervision en installant des
modules complémentaire à Nagios tel que Centreon ou la cartographie Nagvis.
En revanche, la configuration d’un tel logiciel est assez complexe pour les novices Le logiciel
demande quelques notions en supervision, heureusement pour moi que les techniciens de mon
stage ont pu prendre le temps de m’expliquer le fonctionnement général, en suivant différents
tutoriels sur internet, j’ai réussi à simuler ma propre installation réseau avant de m’attaquer à
certains équipements du service.
9