Professional Documents
Culture Documents
Monitoring Rseau
Relu Valid
Version : Date : Nature des modifications : Ecrit par :
par : par :
Mohamed
0.1 12/09/2011 Cration du document : squelette
DAOUES
13 et
0.5 Ajout du tableau des outils MD
14/10/2011
Rflexion sur quel outil choisir,
Du
tlchargement et test de plusieurs
28/10/2011
0.6 outils et plateforme. MD
au
Ajout de la partie V et VI
02/11/2011
Correction au niveau de la partie IV
Du
11/11/2011 Ajout de la partie 1.4 au niveau de la
0.7 MD
au partie VI
16/11/2011
Essia
1.0 19/12/2011 Finalisation du rapport et vrification MD
DAOUES
Conclusion : ..................................................................................................................................................... 58
Annexes ............................................................................................................................................... 59
Table de Figures
Figure 1: Fonctionnement du SNMP ............................................................................................................... 11
Figure 2: Fonctionnalits Nagios ..................................................................................................................... 19
Figure 3 Principe de fonctionnement de Nagios ............................................................................................. 20
Figure 4 : Architecture de Nagios .................................................................................................................... 21
Figure 5: Architecture de Centreon ................................................................................................................. 22
Figure 6 : Interface web de Nagios .................................................................................................................. 26
Figure 7 : Architecture NDOUTILS ................................................................................................................... 27
Figure 8 : Installation Centreon via l'interface Web ........................................................................................ 31
Figure 9 : interface de connexion Centreon .................................................................................................... 32
Figure 10 : architecture des fichiers de configuration de Nagios .................................................................... 32
Figure 11 : Configuration de la communaut SNMP ....................................................................................... 39
Figure 12 : Configuration du fichier ndo2db.cfg ............................................................................................. 39
Figure 13 : Configuration de la base de donnes NDO ................................................................................... 40
Figure 14 : Configuration du fichier ndomod.cfg ............................................................................................ 40
Figure 15 : Modification du Broker module .................................................................................................... 41
Figure 16 : Exportation de la configuration vers Nagios ................................................................................. 41
Figure 17 : Processus de gnration de la configuration de Nagios par Centreon ......................................... 41
Figure 18 : Sous menu tactical Overview ........................................................................................................ 42
Figure 19 : Sous menu Global Health .............................................................................................................. 42
Figure 22 : Statut des services par Htes ........................................................................................................ 43
Figure 20 : Statistique Nagios_Graphiques de performances ......................................................................... 43
Figure 21 : Statistique Nagios_Infos performance .......................................................................................... 43
Figure 23 : Menu Vues ..................................................................................................................................... 44
Figure 24 : Menu reporting ............................................................................................................................. 44
Figure 25 : Vue configuration Htes ............................................................................................................... 45
Figure 26 : vue configuration Services............................................................................................................. 45
Figure 27 : Vue configuration des utilisateurs ................................................................................................. 46
Figure 28 : Vue configurations des commandes ............................................................................................. 46
Figure 29 : Vue notification - Escalades/Dpendances ................................................................................... 47
Figure 30 : Vue configuration Nagios .............................................................................................................. 47
Figure 31 : vue configuration Centreon........................................................................................................... 48
Figure 32 : Vue administration Options .......................................................................................................... 48
Figure 33 : Menu Administration ACL ............................................................................................................. 49
Figure 34 : Menu Administration databases ................................................................................................... 49
Figure 35 : Menu Administration Sessions ...................................................................................................... 49
Figure 36 : Menu Server Status ....................................................................................................................... 50
Figure 37 : Menu Administration About .......................................................................................................... 50
Figure 38 : Ajout d'un hte .............................................................................................................................. 51
Figure 39 : Ajout d'un Service .......................................................................................................................... 52
Figure 40 : Vue Configuration/Commande ..................................................................................................... 53
Figure 41 : Ajout d'une commande ................................................................................................................. 54
Figure 42 : Processus de suppression .............................................................................................................. 54
Avant-propos :
Dans le cadre de la prparation du titre professionnel TSGERI (Technicien Suprieur Gestionnaire
Exploitant de Ressources informatiques), jai eu lopportunit de dcouvrir le cur du mtier dun TSGERI
qui consiste la mise en exploitation, ladministration courante des serveurs, des postes de travail
connects, le suivi et la scurisation du systme informatique au sein de lentreprise.
Ce sujet de synthse a pour objectif de faire la synthse de mes connaissances thoriques et pratiques,
daffiner ma perception du mtier, den retirer une exprience ainsi quune analyse globale et approfondie
de ladministration rseau et de son environnement, tout en me prparant dans les meilleures conditions
la vie professionnelle.
Pour ce rapport de synthse, jai choisi comme thme le monitoring (supervision). Le choix de loutil
sera expliqu dans une rubrique ultrieure, vu le nombre leve des solutions sur le march.
I. Introduction :
Actuellement aucun administrateur rseau ne peut se priver dutiliser des outils ncessaires son
travail. Et trs souvent quand il est confront grer un rseau informatique de taille importante, le
nombre des postes utilisateurs peut tre trop leve. Par consquent, la maintenance ainsi que la gestion
de cette infrastructure devient assez complexe, et une panne du rseau peut avoir de graves consquences
voir mme dsastreuses.
Pour se prmunir de ce genre de dfaillances, un administrateur doit se doter dun bon outil de
supervision au sein de son tablissement. Ces outils vrifient l'tat du rseau ainsi que des machines
connectes et permettent l'administrateur d'avoir une vue d'ensemble en temps rel de l'ensemble du
parc informatique sous sa responsabilit. Il peut tre aussi inform (par email, par SMS) en cas de
problme. Grce un tel systme, les dlais d'interventions sont fortement rduits.
Plusieurs outils existent sur le march et nous les trouvons de tous types, gratuits ou payants, libre de
droit ou propritaire. De plus outre ces offres, nous pouvons trouver galement de nombreuses socits
de services qui proposent leurs comptences en termes dinstallation, de dpannage et de suivi.
Afin dexposer les diffrentes solutions existantes sur le march, nous allons leur consacrer une partie
dans notre rapport.
II. La Supervision :
1.1 Quest-ce que la supervision ?
La supervision se dfinit comme une technique utilisant au mieux les ressources informatiques. En effet,
elle nous permet de surveiller, rapporter et alerter les fonctionnements normaux et anomaux des systmes
informatiques. Elle permet aussi de collecter des informations, qui serviront d'outils pour grer de manire
optimale le traitement des pannes ainsi que la qualit des rseaux (problmes de surcharge).
Cette dfinition de la supervision est dcrite plus en dtail dans la norme ISO7498/4. Un tel processus
est ralis plusieurs niveaux d'un parc de machines : Au niveau interconnexions (Rseau), au niveau de la
machine elle-mme (Systme) et au niveau des services offerts par cette machine (Applications).
Supervision rseau
Par le terme rseau nous sous entendons laspect communication entre les machines. Donc lessentiel
ici est de sassurer du bon fonctionnement des communications et de la performance des liens. Cest dans
ce cadre-l que lon va vrifier si une adresse IP est disponible ou pas, ou si tel port est ouvert ou non.
Supervision systme
Ce type de supervision porte principalement sur les trois types principaux de ressources systme : la
charge du processeur, la mmoire utilise, la quantit de stockage disponible.
Supervision applicative
Cette technique nous permet de connatre la disponibilit des machines en termes de services rendus
en testant les applications hberges sur les serveurs, titre dexemple une tentative de connexion sur le
port de lapplication pour voir si elle retourne ou demande les bonnes informations. En effet, la supervision
applicative passe par des mesures faites sur la base des flux de service.
Superviser cest surveiller dans le sens de veiller ce que tout fonctionne bien. La supervision vise
faire remonter les informations caches dun systme dinformation telles que la congestion du rseau, le
taux doccupation des serveurs et la disponibilit des applications distantes. Ces informations
saccompagnent souvent dune dmarche de garantie du niveau de service.
Avec la complexit grandissante des infrastructures, celle-ci demandent une attention assez particulire.
En effet toute panne ou incident peut entrainer de lourdes consquences sur le systme dinformation en
terme financier, organisationnel, et de notorit (image et crdibilit).
La supervision permet de remonter des indicateurs la direction informatique en termes de donnes
qualitatives ou quantitatives relatives la gestion des ressources informatiques. De ce point de vue-l, il
faut faire attention la pertinence des remontes dinformation car trop dinformation tue
linformation .
La supervision nous permet alors de prvenir, diagnostiquer, prvoir et anticiper.
Comme tout systme et/ou outil la supervision a des limites. En effet, elle nous permet davoir une vue
globale de ltat de sant dun systme dinformation, nous permet de gnrer des indicateurs et des
rapports quant au bon fonctionnement ou non de notre systme dinformation, et une fois que nous avons
linformation, cela peut engendrer des actions, certaines quon peut automatiser et dautres o
lintervention humaines est indispensable.
Prenons lexemple o nous regardons de prs ltat de lespace disque sur un serveur, nous prdirons
que dici un mois le disque sera plein, donc il faudra prvoir une action afin de rajouter un deuxime disque
au moment voulu. Cette action ne pourra se faire que par une intervention humaine.
Donc ce quil faut retenir ici que la supervision ne sauto suffit pas et linterprtation des rapports
ncessite en parallle une ou plusieurs actions, do lintrt de les accompagner par des procdures
(Documenter !).
SNMP (Simple Network Management Protocol) est un protocole dadministration qui permet aux
administrateurs rseau de grer les quipements du rseau, de superviser et de diagnostiquer des
problmes rseaux et matriels distance.
Il dcrit la faon dont stablit le dialogue (syntaxe, type dinformation...) entre un quipement du
rseau et la station dadministration. Ce protocole fonctionne en mode datagramme, cest--dire sans
tablissement dune connexion entre les nuds concerns. Le transport du protocole SNMP sur le rseau
local est assur soit par UDP/IP, soit par IPX.
ce qui concerne aussi les offres, il ya une tendance qui saffirme cest de pouvoir utiliser des fonctions
dadministration ou de supervision en Cloud.
V. Choix de loutil
Une multitude de plateformes de supervision existent aujourdhui sur le march. Certaines se
contentent de grer temps rels ltat du rseau et prserve une vue globale sur le fonctionnement de
son architecture, dautres permettent galement de connatre ltat des diffrents services, et dautres
offrent la possibilit de ressortir de nombreuses statistiques du rseau permettant une analyse assez fine.
Les diffrentes solutions commerciales dj prsentes (HPOpenview, Ipswitch,BMC,IBM, etc...)
ncessitent un investissement important pour leur mise en place, et pour des raisons dessai qui sont
limites en dure et en fonctionnalits, toutes ces solutions sont carter de notre liste de choix. Et juste
titre dexemple nous allons citer la tranche de prix de ces outils pour montrer linvestissement lourd que a
ncessite : les prix sont de 5 000 pouvant arriver jusqu 100 000 et cela dpend du nombre de nuds
superviser ainsi que des licences octroyer.
Parmi les solutions open Source, les plus connues, nous allons dresser un tableau rcapitulatif qui
recense les diffrentes fonctionnalits de chaque outil.
Zabbix Cest une application libre (open source) de -Dcouverte automatique des quipements
supervision des systmes et des rseaux en -Supervision et vrification des statuts dune
infrastructure IT, dveloppe en C. Linterface multitude de services rseaux ou systmes
web est quant elle, dveloppe en PHP et en -Supervision niveau matriel
JavaScript. -Support du Protocol IPMI
Zabbix est multiplateforme, et est disponible -Intgre par dfaut la gestion des cartes et de
sous des systmes dexploitation tels que par graphiques.
exemple Windows, Linux, Solarisetc.
Shinken consiste en une refonte complte du cur de -Vrifications des tats softwares/hardwares
Nagios en Python, lui apportant une nouvelle -Gestion des dpendances rseaux et logiques
architecture plus souple et plus facile (applicatives)
maintenir que le dmon monolithique actuel. -Gestion des actions correctrices
Se basant sur une vue Unix, larchitecture se -Supervision active et passive
compose de dmons simples qui cooprent -Vrification de la fraicheur des informations
afin de proposer les mmes fonctionnalits dans le cadre de la supervision passive.
que Nagios. -Supervision distribue hautement disponible
Le monde du logiciel libre est vaste. Comment sy retrouver parmi les nombreuses solutions qui existent
et trouver celle qui rpond au mieux ses besoins ? Cest la question qui sest pose lors de la fixation de
notre choix. Et pour y rpondre nous avons pris en considration la maturit de loutil, la communaut qui
lentoure.
Si lon retient ses considrations, notre choix se portera vers Nagios, une solution qui a fait ses preuves.
Nagios est stable, dispose dune grande communaut de dveloppeurs derrire elle et est utilise par un
grand nombre de fournisseurs daccs ou de grands noms comme Air France, le CNRS, le Ministre de
lEducation National.
Au dbut nous voulions travailler sur la solution Shinken mais lors de la configuration de cette dernire
nous nous sommes confront un problme bloquant, donc par la suite nous nous sommes focalis sur la
solution Eyes Of Network mais vu le nombre de paramtres configurer et dinterfaces graphiques grer
ainsi que le dlai qui nous a t accord pour llaboration de ce projet de synthse, nous avons abandonn
cette solution.
Nagios est un outil open source qui permet de superviser un systme dinformation de taille moyenne
ou importante. Utilis par de nombreuses socits, il a fait l'objet de contributions et de recherches trs
actives. Nagios a un fonctionnement modulaire et ouvert, ce qui la rendu trs attractif par rapport aux
autres produits. En revanche, sa configuration peut se rvler complexe. Il a t Cr en 1999 sous le nom
de NetSaint et toujours maintenue par Ethan Galstad, il surveille les htes et les services associs, et alerte
le personnel dastreinte lorsquun problme se prsente.
Nagios nest pas le seul outil de supervision open source. Par rapport ses concurrents, sa plus grande
force rside dans sa modularit complte. Il na pas de domaine de prdilection et peut observer tout ce
que ses plug-ins sont capables de rapporter. Dautres outils open source de supervision existent, mais ils ne
sont pas aussi modulaires ou performants que Nagios.
Le principe de fonctionnement de Nagios repose sur l'utilisation de greffon, l'un install sur la machine
qui supporte le serveur Nagios, et l'autre sur la machine que l'on souhaite superviser.
Un greffon (plugin) est un programme modifiable, qui peut tre crit dans plusieurs langages possibles,
selon les besoins, et qui servent rcuprer les informations souhaites. Nagios, par l'intermdiaire de son
greffon, contact l'hte souhait et l'informe des informations qu'il souhaite recevoir. Le greffon
correspondant install sur la machine concerne reoit la requte envoye par Nagios et ensuite va
chercher dans le systme de sa machine les informations demandes. Il renvoi sa rponse au greffon
Nagios, qui ensuite le transmet au moteur de Nagios afin d'analyser le rsultat obtenu et ainsi mettre jour
l'interface web.
Il existe deux types de supervision: La supervision active et la supervision passive. La diffrence entre les
deux types est l'initiative de la supervision. Dans le premier type, savoir le type actif, c'est Nagios qui a
toujours cette initiative. C'est lui qui dcide quand il envoie une requte lorsqu'il veut rcuprer une
information, alors que lors d'une supervision passive, l'envoi d'information est planifi en local, soit partir
d'une date, soit en raction un vnement qui se droule sur la machine administre. Pour notre projet,
nous avons dcid d'utiliser le premier type de supervision, savoir le type actif, ceci vite donc de
configurer les postes superviser.
La collecte d'informations se fait grce l'excution de commande de la part de Nagios. Une commande
doit obligatoirement comporter des arguments afin de pouvoir chercher les bonnes informations sur les
bonnes machines. Ces arguments sont l'adresse IP de l'hte sur lequel, il faut aller chercher l'information.
Une fois que Nagios a reu les informations dont il avait besoin sur l'tat des htes, celui-ci peut construire
des notifications sur l'tat du rseau, afin d'en informer l'administrateur.
1.3 Architecture
Nagios est un noyau qui gre lordonnancement et les dpendances des vrifications (effectues laide
des greffons) et les actions prendre en fonction des incidents (alertes, actions correctives, etc.), il peut
tre coupl une interface graphique de type client web. Il est possible aussi de le coupler une base de
donnes lorsque le nombre de nuds superviser devient important.
2. Centreon
2.1 Prsentation de Centreon
Afin doffrir une administration moins rudimentaire Nagios nous avons choisi de lui ajouter un greffon.
En effet ce dernier, est une couche applicative web. Cette couche est connue sous le nom de Centreon, qui
est un produit complet, avec une interface qui le rend professionnel aux yeux des dcideurs. Et pour ceux
qui auront affaire avec Nagios a leur vitera les fichiers de configurations et les lignes de commandes
brutes. Centreon intgre une interface multi-utilisateurs complte et intuitive qui permet, les accs
dautres utilisateurs, on leurs attribuerons des privilges diffrents.
Ce projet a vu le jour en 2003 sous le nom dOreon et dispose ce jour dune large communaut
dutilisateurs. Cest un produit franais distribu sous une licence GPL v2.
2.2 Fonctionnalit de Centreon
Parmi ses fonctionnalits Centreon inclut :
Une interface multi-utilisateurs intuitive et personnalisable
Une interface volue pour configurer le primtre superviser
Une gestion de tous les fichiers de configuration de Nagios
Un module de chargement de configuration de Nagios
Un test de validit des configurations avec le debugger de Nagios
Des reprsentations graphiques labores
Une gestion des accs trs fine base sur une Liste de Contrle d'Accs (LCA)
Une gestion de la prise en compte des incidents
Une gestion des temps d'arrt des lments superviss
Un gestionnaire des vnements survenus sur le systme de supervision
Un systme de modules qui permet l'inclusion d'autres applications dans Centreon
Une MAP java pour une vision simplifie de l'tat du SI
Pour tester notre serveur web, nous commenons par le dmarrer via la commande suivante :
Puis nous ouvrons notre navigateur web et nous saisissons lURL suivante : http://Adresse_ip_serveur .
Une page de bienvenue devra safficher. Par la suite nous procdons linstallation des librairies qui
serviront nagios pour afficher les diagrammes dtat de notre rseau supervis.
Pour pouvoir installer Nagios et plugins nous nous sommes rendus la page officielle des
tlchargements sur le site de Nagios pour vrifier la dernire version stable. Cette dernire est la 3.3.1, et
celle des plugins est la 1.4.15
Pour faciliter linstallation nous sommes passs en mode root par le biais de cette commande :
~$ sudo -s
~#
Par la suite, nous procdons au tlchargement des sources dans le fichier /usr/src :
# cd /usr/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
Une fois le tlchargement termin, nous dcompressons les sources et nous lanons la compilation via
les commandes suivantes :
# tar xzf nagios-3.3.1.tar.gz
# cd nagios-3.3.1
# ./configure with-command-group=nagios
...
General Options:
------------------------
# make all
# make install
# make install-config
# make install-commandmode
Nous installons ensuite le script de dmarrage pour que nagios se lance automatiquement avec notre
serveur de supervision :
# make install-init
# ln
Les -s /etc/init.d/nagios
commandes qui suivent/etc/rcS.d/S99nagios
servent installer linterface web :
# make install-webconf
# /etc/init.d/apache2 reload
De base nagios est livr sans aucune extension. Il faut donc installer les plugins ncessaires lui
permettant de surveiller les machines de notre rseau superviser.
Par la suite nous procdons la dcompression du fichier des plugins et leur installation. La version
des plugins est la 1.4.15.
# cd /usr/src
# cd nagios-plugins-1.4.15
# make
# make install
Une fois linstallation termine, nous pouvons vrifier le bon fonctionnement de notre serveur de
supervision. Nous allons donc tester les fichiers de configuration grce la commande suivante :
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0
Thingsnous
Ensuite look pouvons
okay - Nodmarrer
serious problems were nagios
notre serveur detected
: during the pre-flight check
# /etc/init.d/nagios start
Il ne nous reste plus qu aller sur notre navigateur web et de saisir lURL suivante :
http://192.168.62.128/nagios/.(Login : nagiosadmin / mot de passe : ******), nous devrions voir safficher
cela :
Afin que Nagios et Centreon puissent communiquer entre eux, ils utilisent une base de donne
commune (appele NDO). Donc pour commencer, nous allons la crer avec le compte root de mysql et
nous crons lutilisateur et mot de passe qui aura le droit dadministrer la base :
# mysqladmin -u root -p create ndo
# mysql -u root -p mysql
mysql> GRANT ALL ON ndo.* TO ndouser@localhost IDENTIFIED BY ndopassword;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
En effet pour que nagios puisse crire les informations sur sa base de donnes NDO, il faut lui installer
son plugin NDOUTILS. Ce dernier est conu de deux blocs : Ndomod et Ndo2db , le premier va
prendre les informations partir du dmon Nagios et les envoyer via un socket (TCP ou UNIX) vers le
deuxime qui va les convertir dans un format compatible avec la base de donnes MySQL. Ce complment
permettra Centreon daccder de manire optimise aux donnes dtats et performances de Nagios
et de partager ses donnes.
Et pour que tout le systme fonctionne il faut que NDOMOD soit charg par Nagios au dmarrage et le
dmon NDO2DB soit lanc en tche de fond.
# cd /usr/src
# wget http://dfn.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9
# make
Nous procderons linstallation des fichiers de NDO dans larborescence de Nagios :
cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db
chown nagios:nagcmd /usr/local/nagios/bin/ndo*
chmod 774 /usr/local/nagios/bin/ndo*
A ltape suivante nous ditons le fichier de configuration du module NDO et nous vrifierons les
paramtres suivants : que le output_type est de type Unixsocket pour des questions de performances
et en cas de rupture rseau, nous sommes sres que les donnes ne seront pas perdues.
# nano /usr/local/nagios/etc/ndomod.cfg
instance_name=Central
output_type=unixsocket
output=/usr/local/nagios/var/ndo.sock
tcp_port=5668
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
Nous passons par la suite diter les fichiers de configuration de la base de donnes NDO et la
# nano /usr/local/nagios/etc/ndo2db.cfg
ndo2db_user=nagios
ndo2db_group=nagcmd
vrification des paramtres suivants :
socket_type=unix
socket_port=5668
db_servertype=mysql
db_host=localhost
db_name=ndo
db_port=3306
db_prefix=nagios_
db_user=ndouser
db_pass=ndopassword
Et pour finaliser cette opration nous procdons la redirection des sorties de Nagios vers la base de
donnes Ndo grce la dclaration du module Broker dans nagios.cfg
# nano /usr/local/nagios/etc/nagios.cfg
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
Dans une autre tape nous procdons la cration dun script dinit qui a pour principal rle
dautomatiser le lancement du dmon ndo2db avec le lancement du serveur nagios. (Voir Annexe 1). A ce
script on lui donne les droits root afin quil se lance.
chown root:root /etc/init.d/ndo2db
Dans cette partie nous allons procder linstallation de la version 2.1.11 de Centreon sur notre serveur
de supervision. Pour commencer nous devons rcuprer les sources depuis internet, nous nous identifions
en tant que root sur notre serveur.
# sudo -s
# cd /usr/src
# wget http://download.centreon.com/index.php?id=144
# cd centreon-2.1.11
Par la suite nous lanons lassistant dinstallation et nous devons rpondre quelques questions.
# ./install.sh -i
A la fin de linstallation nous voil face la page dauthentification de Centreon, il ne nous reste plus
qu sidentifier avec le login admin et le mot de passe : tsgeri.
3. Configuration Nagios/Centreon
Cette partie est consacre lexplication des lments de configuration de Nagios ainsi que Centreon.
3.1 Fichiers de configuration Nagios
Dans cette partie nous exposons les diffrents fichiers de configuration respectifs Nagios, sans
forcment les dfinir sur notre serveur de supervision. Comme nous lavons prcis au pralable, nous
allons utiliser linterface web de Centreon pour la configuration de notre Nagios.
3.1.1 Fichiers de configuration Nagios
Larborescence des fichiers de configuration de nagios se prsente comme suit :
Nagios.cfg :
Cest le fichier de configuration principal de Nagios. Il contient la liste des autres fichiers de
configuration et comprend l'ensemble des directives globales de fonctionnement.
Cgi.cfg :
Il contient un certain nombre de directives qui affectent le mode de fonctionnement des CGI. Il
peut tre intressant pour dfinir des prfrences concernant l'interface web de Nagios.
Resource.cfg :
Il permet de dfinir des variables globales rutilisables dans les autres fichiers. Etant inaccessible
depuis les CGI qui gnrent l'interface, ce fichier peut tre utilis pour stocker des informations
sensibles de configuration.
Commands.cfg
Il contient les dfinitions des commandes externes, telles que celles qui seront utiles pour la
remonte d'alerte.
Checkcommands.cfg :
Il contient les dfinitions des commandes de vrification prdfinies et celles dfinies par
l'utilisateur.
Hosts.cfg :
Il dfinit les diffrents htes du rseau superviser. A chaque hte est associ son nom, son
adresse IP, le test effectuer par dfaut pour caractriser l'tat de l'hte, etc.
Services.cfg :
Il associe chaque hte ou chaque groupe d'htes l'ensemble des services qui doivent tre
vrifis.
3.1.2 Donnes dfinir dans Nagios
Ici nous allons parler des lments les plus importants dfinir dont Nagios a besoin afin daccomplir
son travail. Ces lments devront tre dfinis dans les fichiers de configuration, ces derniers sont situs
gnralement dans le rpertoire par dfaut /usr/local/Nagios et ils se prsentent sous la forme suivante :
define type {
Parametre1=valeur1 ; commentaire
Parametre2=valeur2
}
Ici nous nous voyons la dclaration dun objet type comme valeur valeur1 pour paramtre1. Parmi
ces paramtres, il existe ceux qui sont indispensables et ceux qui sont facultatifs. Les commentaires
commencent par le signe ; .
Parmi ces donnes dfinir nous retrouvons les commandes de vrification, les priodes de temps, les
commandes de notification, les htes les services et les contacts.
define command {
command_namecheck_tcp
command_line /usr/local/Nagios/libexec/check_tcp H $HOSTADDRESS$ -p $ARG1$
}
Dans lexemple ci-dessus nous essayons de vrifier juste si nous pouvons nous connecter l'hte
mentionn dont sa valeur est dfinie au niveau de $HOSTADDRESS$, sur le port dont le numro est prcis
dans $ARG1$.
En effet, le $HOSTADDRESS$ est une macro qui est positionne lors du lancement de la commande par
Nagios. Sa valeur peut changer en fonction du contexte, ici elle est gale ladresse rseau de llment
quon veut surveiller. Les commandes peuvent prendre des arguments, comme cest le cas dans notre
exemple. Ces derniers peuvent prendre la forme $ARGn$, n pouvant aller de 1 32. Ils peuvent tre
donns lors de lappel de la commande, par un hte ou par un service. Ceci, permet entre autres, davoir
une seule dfinition de commande pour vrifier un port TCP et de spcifier, par exemple dans le service, le
numro de port que nous souhaitons surveiller.
3.1.2.2 Priode de temps
Pour pouvoir excuter ses commandes Nagios a besoin de savoir quand superviser les lments et
quand avertir les utilisateurs. Ces priodes de temps peuvent varier suivant le contexte, il faut que
lutilisateur puisse les dfinir librement.
Lobjet qui se charge de cela est timeperiod. Ses instances se trouvent dans le fichier timeperiods.cfg.
Cet objet a comme proprits :
- Timeperiod_name : cest le nom qui sera utilis dans le reste de la configuration,
- Alias : cest un nom daffichage dans les interfaces,
- Sunday,Monday,etc : pour chaque jour, on peut prciser un intervalle de temps qui sera pris en
considration.
Exemple de configuration simple :
define timeperiod{
timeperiod_name workhours
alias Work Hours
Monday 09:00,17:00 ;Lundi
Tuesday 09:00,17:00 ;Mardi
. ..,. ;.
Friday 09:00,17:00 ;Vendredi
}
define command {
command_namehost-notify-by-email
command_line /bin/echo "Host $HOSTNAME$ is $HOSTSTATE$" | /bin/mail $CONTACTEMAIL$
}
-r,f,s,n : mmes options que pour les htes, mais appliques aux services.
define host{
host_name srv-web1
service_description Http
check_command check_tcp!80
max_check_attempts 2
check_interval 5
retry_interval 3
check_period 24x7
contact_groups web-admins
notification_interval 30
notification_period 24x7
notification_options w,c,r
}
definecontactgroup{
contactgroup_name admins-web
alias Administrateurs web
members dmartin,dbrossart
contactgroup_members admins-linux
}
Dans le champ MACRO Expression, nous indiquons le nom de la communaut SNMP dont nous
appartenons, cest celle-l quil faudra configurer sur chaque machine que nous voulons superviser. Pour
valider les changements nous cliquons sur Save .
3.2.2 Configuration du fichier Ndo2db.cfg
Dans cette partie nous allons configurer Centreon pour quil puisse se connecter avec la base de
donnes NDO. Pour cela, il faut aller dans le menu Configuration/Centreon, puis cliquer sur le lien
ndo2db.cfg dans le menu de gauche et cliquer sur le lien Principal. Par la suite, il faut saisir la configuration
suivante dans longlet General :
Socket type: unix
Socket name: /usr/local/nagios/var/ndo.sock
Ensuite nous allons modifier le login et le mot de passe pour laccs la base de donnes NDO, nous
restons sur la mme page de tout lheure , nous cliquons sur database, et nous saisissons ndouser
pour lutilisateur, ndopassword pour le mot de passe.
VIII. Administration
1. Interface graphique nagios
Dans cette partie nous allons dcrire brivement linterface graphique de Nagios car cette dernire sert
uniquement visualiser l'tat du rseau supervis. En effet, cette interface ne pourra pas nous servir pour
la configuration de notre serveur de supervision.
L'interface se compose d'une partie "menu" gauche, et une partie centrale, beaucoup plus grande sur
le reste de l'cran, qui servira afficher les informations souhaites, des captures d'cran sont disponibles
en Annexe2 . Dans le menu, nous retrouvons en premier des liens vers le site de Nagios, et vers la
documentation de ce logiciel. Ces liens sont dans la partie 'General'. Puis une partie 'Current status' dans
laquelle il est possible de slectionner les informations que l'on souhaite visualiser. Il y a de nombreux sous-
menus dans cette partie ce qui permet d'afficher vraiment les informations prcises qui nous intressent. Il
y a galement la possibilit de visualiser des statistiques que Nagios a construit, ce qui est trs intressant
pour l'administrateur. Dans la partie "Reports" il y a la possibilit de crer des rapports et des historiques
des vnements qui se sont produits sur le rseau. Et enfin dans la dernire partie "System", il est possible
de visualiser toute les configurations grce laquelle Nagios sait qui et quoi supervis.
Maintenant nous allons passer la partie dadministration qui concerne Centreon, cest sur celle-ci que
nous essayerons de dvelopper davantage.
Figure 18 : Sous menu Global Health Figure 19 : Sous menu tactical Overview
Nous retrouvons aussi un autre onglet qui concerne les statistiques de nagios o nous pouvons
visualiser les performances de notre serveur de supervision, les informations par rapport aux
processus nagios, et les graphes affrents.
Sous Menu Services : dans cette vue nous allons pouvoir crer et paramtrer les services que
nous voulons superviser.
Sous Menu Utilisateurs : Au niveau de cette vue nous allons pouvoir crer et paramtrer
lensemble des utilisateurs qui pourront se connecter linterface de Centreon. Via ce menu
nous pouvons paramtrer plusieurs types de comptes ainsi que le fichier timeperiod de
notification quutilise nagios pour indiquer les plages horaires de notification.
Sous Menu notifications : Dans ce menu nous retrouvons toutes la gestion des escalades
dhtes, de services ainsi que les groupes respectifs ses derniers. Nous pouvons aussi
paramtrer les dpendances entre les htes, groupes dhtes, les services et les groupes de
services. (voir Annexe 3 pour la rception des Alertes)
Sous Menu Centreon : la vue suivante est plus oriente vers la gestion de NDO et la supervision
en mode distribue. Nous pouvons ajouter tant de collecteurs que nous voulons.
Sous Menu Modules : cette vue sert crer des modules pour pouvoir les greffer Centreon.
Sous Menu ACL : ce sous menu nous permet de grer les rles et les droits daccs linterface
pour les diffrents utilisateurs.
Sous Menu Sessions : comme son nom lindique ce menu nous permet de voir les utilisateurs qui
se connectent sur le portail de supervision.
Sous Menu Etat du serveur : cette vue nous permet davoir un tat de sant globale de notre
serveur Centreon sans avoir aller dans un terminal et taper des commandes linux.
Sous Menu A propos de : dans cette section nous pouvons trouver des informations utiles
concernant le projet Centreon.
Exemple darguments : Ces deux cases permettent de tester une commande et de dfinir les
valeurs par dfaut lors de la dfinition dun service.
Type de commande : nous laissons la valeur par dfaut vrification .
Modle de graphique : nous pouvons laisser ce champ vide ou utiliser un des modles proposs.
Une fois que notre compte a t cre, nous allons nous intresser ces droits. Pour cela, nous devons
nous rendre longlet Administration ACLGestion des groupes daccsAjouter et crer un groupe
daccs pour rattacher le nouveau compte que nous venons de crer.
Conclusion :
A titre personnel, je tire un bilan positif de ce travail. Cela m'a permis de me familiariser avec
l'administration systme et rseau sous Linux, de dcouvrir un logiciel de supervision riche, et par chance
mon stage dapplication vient sinscrire dans la continuit de cette tude, me permettant dapprofondir ces
points.
Annexes
Annexe 1 : Script init ndo2db
#!/bin/sh
#
#
# chkconfig: 345 99 01
# description: Nagios to mysql
#
# Author : Gatan Lucas
# Realase : 07/02/08
# Version : 0.1 b
# File : ndo2db
# Description: Starts and stops the Ndo2db daemon
# used to provide network services status in a database.
#
status_ndo ()
{
if ps -p $NdoPID > /dev/null 2>&1; then
return 0
else
return 1
fi
return 1
}
printstatus_ndo()
{
if status_ndo $1 $2; then
echo "ndo (pid $NdoPID) is running..."
else
echo "ndo is not running"
fi
}
killproc_ndo ()
{
echo "kill $2 $NdoPID"
kill $2 $NdoPID
}
pid_ndo ()
{
if test ! -f $NdoRunFile; then
echo "No lock file found in $NdoRunFile"
echo -n " checking runing process..."
NdoPID=`ps h -C ndo2db -o pid`
if [ -z "$NdoPID" ]; then
echo " No ndo2db process found"
exit 1
else
echo " found process pid: $NdoPID"
echo -n " reinit $NdoRunFile ..."
touch $NdoRunFile
chown $NdoUser:$NdoGroup $NdoRunFile
echo "$NdoPID" > $NdoRunFile
echo " done"
fi
fi
NdoPID=`head $NdoRunFile`
}
prefix=/usr/local/nagios
exec_prefix=${prefix}
NdoBin=${exec_prefix}/bin/ndo2db
NdoCfgFile=${prefix}/etc/ndo2db.cfg
NdoRunFile=${prefix}/var/ndo2db.run
NdoLockDir=/var/lock/subsys
NdoLockFile=ndo2db.lock
NdoUser=nagios
NdoGroup=nagcmd
start)
echo -n "Starting ndo:"
touch $NdoRunFile
chown $NdoUser:$NdoGroup $NdoRunFile
$NdoBin -c $NdoCfgFile
if [ -d $NdoLockDir ]; then
touch $NdoLockDir/$NdoLockFile;
fi
ps h -C ndo2db -o pid > $NdoRunFile
if [ $? -eq 0 ]; then
echo " done."
exit 0
else
echo " failed."
$0 stop
exit 1
fi
;;
stop)
echo -n "Stopping ndo: "
pid_ndo
killproc_ndo
rm -f $NdoRunFile $NdoLockDir/$NdoLockFile
;;
status)
pid_ndo
printstatus_ndo ndo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: ndo {start|stop|restart|status}"
exit 1
;;
esac
Annexe 3 : Aperu des notifications reus lors des simulations darrt de quelques Htes