You are on page 1of 71

Sujet :

Mise en place dun systme de supervision


Open source.

RAPPORT DE PROJET FIN

DETUDE
LASTIC3

Elabor par
Othman Souli

Encadr par :
Mr Guemazi Mohamed
Socit daccueil :
ThinkTank

UNIVERSITE VIRTUELLE DE TUNIS

Anne Universitaire : 2010/2011

Ddicace

A mes chers parents qui mont tellement donn et qui je dois tout, en signe de
gratitude et de reconnaissance.
A ma femme et ma petite fille qui ont apport le bonheur et la paix a ma vie.
QuAllah les protge tous.
Othman Souli

Remerciements

Le travail prsent dans ce rapport de stage de fin dtude a t effectu pour le compte de la socit
de service et dingnierie Think Tank , sous la bienveillance du grant Mohamed Guermazi que je tiens
remercier pour mavoir accord lopportunit de raliser ce stage dans la socit en parallle avec mes taches
quotidiennes comme administrateur rseaux et de mavoir encadr.

Table des matires

Cahier des charges ............................................................................................................................ 1


Introduction gnrale......................................................................................................................... 2
ChapitreI: Prsentation du cadre du stage .......................................................................................... 3
1. Prsentation de la socit ........................................................................................................... 3
2. Etude de lexistant ..................................................................................................................... 4
2.1 Description de lexistant ...................................................................................................... 4
2.2 Critique de lexistant ............................................................................................................ 5
2.3 Solution propose ................................................................................................................ 5
3. Etude de choix ........................................................................................................................... 6
3.1 Les offres diteurs ............................................................................................................... 6
3.2 Les offres libres ................................................................................................................... 6
3.3 Choix du logiciel ................................................................................................................. 6
4. Conclusion ................................................................................................................................ 9
ChapitreII: Prsentation de loutil de supervision Nagios................................................................. 10
1. La supervision ......................................................................................................................... 10
1.1 Dfinition .......................................................................................................................... 10
1.2 Objectifs ............................................................................................................................ 10
2. Nagios ..................................................................................................................................... 11
2.1 Prsentation ....................................................................................................................... 11
2.2 Fonctionnalits .................................................................................................................. 11
2.3 Architecture ....................................................................................................................... 12
2.4 Plugins............................................................................................................................... 13
2.5 Les fichiers de configuration .............................................................................................. 15
3. Conclusion .............................................................................................................................. 16
ChapitreIII: Les complments de Nagios ......................................................................................... 17
1. NDOutils ................................................................................................................................. 17
1.1 Utilits ............................................................................................................................... 17
1.2 Prsentation ....................................................................................................................... 18
1.3 Architecture ....................................................................................................................... 18
2. Centreon .................................................................................................................................. 19

2.1 Utilits ............................................................................................................................... 19


2.2 Prsentation ....................................................................................................................... 19
2.3 Architecture ....................................................................................................................... 19
3. NSClient pour la supervision des serveurs Windows............................................................... 22
3.1 Prsentation : ..................................................................................................................... 22
3.2 Architecture ....................................................................................................................... 22
4. NRPE pour la supervision des serveurs Linux.......................................................................... 23
4.1 Prsentation ....................................................................................................................... 23
4.2 Architecture ....................................................................................................................... 23
5. Conclusion .............................................................................................................................. 24
ChapitreIV: Mise en place du systme de supervision ..................................................................... 25
1. Chronogramme ........................................................................................................................ 25
2. Environnements de mise en place ............................................................................................ 25
2.1 Environnement matriel ..................................................................................................... 25
2.2 Environnement logiciel ...................................................................................................... 26
3. Mise en place de Nagios/Centreon et les plugins ..................................................................... 26
3.1 Pr-requis Nagios/Centreon ............................................................................................... 26
3.2 Installation de Nagios/Centreon ......................................................................................... 26
3.3 Installation de NSClient ..................................................................................................... 26
3.4 Installation de NRPE ......................................................................................................... 27
4. Interfaces de Nagios/Centreon ................................................................................................. 27
4.1 Centreon ............................................................................................................................ 27
5. Exemple dUtilisations ............................................................................................................ 32
5.1 Utilisation des Templates pour lajout et la supervision des serveurs Windows .................. 32
5.2 Utilisation des Templates pour lajout et la supervision des serveurs Linux ........................ 40
5.3 Notification par mail .......................................................................................................... 44
6. Conclusion .............................................................................................................................. 46
Conclusion gnrale ........................................................................................................................ 47
Rfrences netographiques .............................................................................................................. 48
Annexe A ........................................................................................................................................ 49
Annexe B ........................................................................................................................................ 55
Annexe C ........................................................................................................................................ 58
Annexe D ........................................................................................................................................ 61

Table des figures

Figure 1. Architecture de Think Tank ................................................................................................ 4


Figure 2. Centralisation dinformations par Nagios.......................................................................... 12
Figure 3. Architecture de Nagios .................................................................................................... 13
Figure 4. Principe de fonctionnement des plugins ............................................................................ 15
Figure 5. Architecture NDOutils...................................................................................................... 18
Figure 6. Interaction entre Nagios et Centreon ................................................................................. 21
Figure 7. Architecture NSClient ...................................................................................................... 22
Figure 8. Mcanisme du NRPE ....................................................................................................... 23
Figure 9. Chronogramme du projet .................................................................................................. 25
Figure 10. Page d'authentification .................................................................................................... 27
Figure 11. Interface de Vue Globale ................................................................................................ 28
Figure 12. Interface de la sant globale ............................................................................................ 28
Figure 13. Interface des statistiques Nagios ..................................................................................... 29
Figure 14. Interface de graphiques de performance .......................................................................... 29
Figure 15. Interface des htes supervises ...................................................................................... 30
Figure 16. Interface des services superviss ..................................................................................... 30
Figure 17. Interface des journaux d'vnements ............................................................................... 31
Figure 18. Interface de Views .......................................................................................................... 31
Figure 19. Interface des rapports ..................................................................................................... 32
Figure 20. Interface des listes des commandes ................................................................................. 33
Figure 21. Interface de dfinition des commandes ........................................................................... 33
Figure 22. Interface de liste des Templates des services ................................................................... 35
Figure 23. Interface de liste des Templates des htes ....................................................................... 35
Figure 24. Interface dassociation des Templates de services un Template dhte ......................... 36
Figure 25. Interface d'exportation .................................................................................................... 37
Figure 26. Etat des htes superviss dans Centreon ......................................................................... 38
Figure 27. Etat des services superviss dans Centreon ..................................................................... 38
Figure 28. Interface des htes supervises dans Nagios ................................................................... 39
Figure 29. Interface des services superviss dans Nagios ................................................................. 39
Figure 30. Interface des services superviss dans Nagios ................................................................. 41

Figure 31. Interface des services superviss dans Nagios ................................................................. 42


Figure 32. Interface des services superviss dans Nagios ................................................................. 42
Figure 33. Liste des Templates des htes ......................................................................................... 43
Figure 34. Liste des Templates de service associer une hte ....................................................... 44
Figure 35. Configuration des notifications ....................................................................................... 45
Figure 36. Exemple de notification .................................................................................................. 45

Liste des Tableaux


Tableau 1. Historique de Think Tank................................................................................................. 4
Tableau 2. Tableau comparatif .......................................................................................................... 8
Tableau 3. Signification des codes de retours ................................................................................. 14
Tableau 4. Les commandes NSClient .............................................................................................. 34
Tableau 5. Les commandes NRPE ................................................................................................... 40

Cahier des charges


Titre du projet :
Mise en place dun systme de supervision Open source.
Travail demand:
Recherche, Implmentation et configuration d'une solution Open Source qui vise superviser
distance les diffrents serveurs de la socit avec gestion des alertes dans un environnement
multiplateformes.
Entreprise daccueil :
Think Tank, socit de services et dingnierie informatique.
Plan du travail :
Le but principal du projet est de pouvoir tablir ou choisir et installer une station de surveillance des
serveurs qui remplit les conditions suivantes :
Cots financiers les plus rduits possibles.
Rcupration des informations permettant la dtection des pannes, lindisponibilit des
serveurs et de leurs services.
Des renseignements supplmentaires de monitoring sur la charge CPU, Espace disque,
mmoire disponible, input/output, etc
Gestion des alertes.
Notification par mail ou SMS en cas de problme.
Gnrer des rapports sur le fonctionnement des serveurs par mois.
Gnrer des graphes (cartographie du rseau,)
Une interface graphique claire pour linteraction utilisateur/Logiciel.

Introduction gnrale

Actuellement toutes les entreprises sont quipes dun rseau local au minimum, et de rseaux de
longues distances pour les plus importantes dentre elles. Leurs parcs informatiques englobent une dizaine
voir une centaine dquipements, engendrs par des serveurs de bases de donnes et des serveurs de
traitements.
Vu que ces systmes informatiques sont au cur des activits des entreprises, leur maitrise devient
primordiale. Ils doivent fonctionner pleinement et en permanence pour garantir la fiabilit et lefficacit
exiges, et surtout travailler rduire les problmes de dfaillances, les pannes, les coupures et les diffrents
problmes techniques qui peuvent causer des pertes considrables.
De ce fait, les administrateurs rseau font appel des logiciels de surveillance et de supervision de
rseaux afin de vrifier l'tat du rseau en temps rel de l'ensemble du parc informatique sous leur
responsabilit. Et tre aussi informs automatiquement (par email, par SMS) en cas de problmes. Grce
un tel systme, les dlais d'interventions sont fortement rduits et les anomalies peuvent tre aussitt prises
en main avant mme quun utilisateur peut sen apercevoir.
Ainsi, la supervision des rseaux savre ncessaire et indispensable. Elle permet entre autre davoir
une vue globale du fonctionnement et des problmes pouvant survenir sur un rseau mais aussi davoir des
indicateurs sur la performance de son architecture.
Dans ce cadre, le prsent rapport se base sur trois axes principaux :
-

Prsenter les notions de base de la supervision informatique et de ses logiciels les plus utiliss
actuellement.

Etudier la solution choisie parmi plusieurs en numrant ses fonctionnalits et apports.

la ralisation, et la mise en place de cette solution.

ChapitreI: Prsentation du cadre du stage


Ce chapitre se focalise sur la prsentation de lentreprise accueillante et ltude dtaille de lexistant
o on cernera la problmatique de mon sujet et on prsentera la solution adopte pour ce dernier.

1. Prsentation de la socit
Think Tank est une socit de services et d'ingnierie informatique qui, partant de ses comptences
dans les processus et les technologies adapts aux systmes dinformations, a su dvelopper un savoir faire
spcifique dans plusieurs domaines tel les mthodologies Oriente Objet, du langage JAVA, et de la
plateforme J2EE.
Elle sappuie en outre sur son centre de comptences Architecture et Infrastructure qui runit un
rseau dexperts dans les domaines suivants : systmes et rseaux, scurit et bases de donnes.
Ses prestations stendent du conseil en architecture technique jusqu lexploitation globale du
systme dinformation conu, dans des centres de comptences scuriss.

1999

Historique :

-Cration de Think Tank SARL, acquisition du projet Marketing Media Warehouse


de BMW.

2001

-Signature d'un contrat de Partenariat avec la socit Think Tank Business Solutions
AG.

2003

-Signature dun contrat de sous-traitance avec BearingPoint (Corporate KPMG


Consulting)

2004

-Signature du contrat avec BearingPoint Munich pour la ralisation du projet PGI de


Siemens AG (Power Generation Industrial)

2005

-Signature du contrat de sous-traitance avec SBB Suisse (Chemins de Fer Suisses)


-Signature du contrat avec BearingPoint Frankfort pour la participation au mga
projet de Reporting bancaire ABACUS Davinci qui utilise la norme financire Bale II

2007

Participation de 8 experts de Think Tank dans le projet du registre de commerce


national de Tunisie dans le cadre du Programme de Modernisation Industrielle (PMI)
3

2008

Participation des experts de Think Tank dans l'action de mise niveau du systme
d'information du dpartement de proprit industrielle de l'INNORPI lance par le
PMI

2009

-Mise en place du systme qui gre le registre de commerce Tunisien. Interlocuteurs


Ministre de la Justice et des Droits de l'Homme et l'Institut National de
Normalisation et de la Proprit Industrielle (INNORPI)
- Mise en place du nouveau Portail ddi au registre de commerce de Tunisie
- Mise en place de la premire plateforme de dpt des bilans en ligne ddie aux
experts comptables
Tableau 1. Historique de Think Tank

2. Etude de lexistant
2.1

Description de lexistant
Ce prsent travail sest droul dans un environnement comportant un parc informatique compos

dune dizaine de machines et de serveurs locaux et distants, dont le nombre est capable de se dupliquer en
fonction du temps et des clients. La figure 1 prsente larchitecture de Think Tank :

Figure 1. Architecture de Think Tank

Think Tank possde un trs grand nombre de serveurs locaux en Tunisie, ainsi quelle hberge une
dizaine de serveurs pour ses clients dans un centre dhbergement en Allemagne (Housing Center).

2.2

Critique de lexistant
Ayant un trs grand nombre de serveurs grer, ladministrateur est incapable de vrifier leurs

disponibilit (en ligne ou pas), de dterminer la qualit des services quils offrent, ni dtecter la dfaillance
des quipements (charge CPU, Etat mmoire, surcharge du disque.), ni les surcharges et pnurie
temporaire des ressources. Le seul moyen de dtecter ces anomalies ne peut se faire que par la rception des
diffrentes plaintes et rclamations des clients.
Se souciant de sa rputation et concern par la satisfaction et le confort de ses clients, la socit veut
tout prix viter la confrontation des clients mcontents do viter le risque de les perdre, et ce en
travaillant offrir une meilleure qualit de services ses clients en anticipant les pannes et en vitant les
arrts de longue dure gnant les services qui peuvent causer de lourdes consquences aussi bien financires
quorganisationnelles.
Le but de ce projet est donc de trouver une solution optimale pour la gestion des serveurs et le
monitoring de ses quipements en premier lieu, offrir la possibilit de devenir pro actif face aux
problmes rencontrs en un second lieu, et finalement et le plus important, de pouvoir dtecter et interprter
en un simple coup dil les causes et origines des problmes rencontrs afin de les fixer le plus rapidement
possible.

2.3

Solution propose
La gestion des serveurs distants et le monitoring de ses quipements tant le plus grand souci de

ladministrateur, jai jug ncessaire de mettre en vidence un outil pour contrler le fonctionnement du
rseau, dtudier les donnes collectes et de dfinir des seuils dalertes qui peuvent

servir pour le

dclenchement des alertes lors de dtection des problmes.


Il sagit donc et sans doute dune mise en place dun systme de supervision qui pourra grce aux
diffrentes fonctionnalits quil offre, anticiper les pannes en suivant mticuleusement le fonctionnement du
systme et en surveillant le statut des serveurs, des divers services rseaux et doffrir des renseignements
supplmentaires voir charge CPU, espace disque, mmoire disponible, etc.
Un systme de supervision offrira ladministrateur la possibilit de ragir le plus rapidement
possible face aux pannes qui peuvent intervenir afin dviter un arrt de production de trop longue dure.
5

3. Etude de choix
De nombreuses plateformes de supervision existent aujourdhui. 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 qui offrent la possibilit de
ressortir de nombreuses statistiques du rseau permettant une analyse assez fine.

3.1

Les offres diteurs


Sassurant que la supervision est un march porteur, les socits se pressent de plus en plus investir

dans des produits permettant la supervision et une meilleure gestion des rseaux.
Deux familles apparaissent, celle proposant des solutions gnralistes pour la supervision des
rseaux, des serveurs, des applications, des sites web, comme les logiciels Patrol (BMC), dUnicenter
(Computer Associate), de la gamme openview (HP)...
Dautres offrent une supervision des domaines plus spcifiques citant comme logiciel panorama
(Altaworks) qui gre uniquement laspect scurit ou PathWAI (Candle) qui se penche principalement sur la
supervision des applications.
Ces solutions nont quun seul point commun : un prix lev.

3.2

Les offres libres


Il existe des solutions de supervision libres et professionnelles. Parmi les plus rpandues, reconnues

du moment nous pouvons citer Nagios, Zabbix, BigBrother2 et OpenNMS.


Lavantage de ces logiciels libres est la gratuit, la disponibilit du code source et la libert dtudier
et de modifier le code selon nos besoins et de le diffuser. De plus, il existe une communaut importante
dutilisateurs et de dveloppeurs qui participent lamlioration des logiciels et apportent une assistance par
la mise en ligne des documentations et les participations aux forums.

3.3

Choix du logiciel
Les diffrentes solutions commerciales dj prsentes (HPOpenview, Patrol, BigBrother, etc..)

ncessitent un investissement important pour leur mise en place, et pour des raisons propres lentreprise,
toutes ces solutions sont carter de mon liste de choix.
Parmi les solutions les plus connues, recommandes et surtout Libres, on citera Nagios et Zabbix.
Voici un tableau comparatif des deux logiciels choisis.

Zabbix
Prsentation

Fonctionnalits

Architecture

Nagios

-Open source, libre


-Multiplateformes
-Homogne.
-Moteur en C, interface web utilisateur
en PHP, base de donnes SQL
(MySQL, Oracle)
-Configuration centralise sur une
mme interface graphique.
Peut monitorer de 3 manires :
-LANCEMENT dun processus sur les
machines monitorer pour collecter
des donnes locales, grce lagent
Zabbix (obtenir des infos sans utiliser
SNMP).
-Requtes SNMP.
-Check externes qui sert tester les
services rseaux (rien installer sur
lquipement surveill, tests limits
des pings ou test de protocoles).
-Offre une
interface web de
consultation et dadministration.
-Peut gnrer des graphes.
-Peut lever des alertes en envoyant des
mails.
-Supervise des quipements SNMP.
-Gre les pannes et les performances

-Open source, Libre.


-Conu pour les plateformes Unix.
-Modulaire.
-Moteur en C, perl, sharp, interface
web en PHP, base de donnes SQL.
-Configuration plus ou moins complexe
Peut monitorer de 3 manires :
-Lutilisation
des
journaux
dexploitation par lenvoie des
vnements issus des fichiers log en
temps rel vers un serveur centrale
offrant les informations ncessaires
la supervision.
-Supervision active des services et
infrastructure qui nous permet de
garder lhistorique des performances.

-Offre une interface web base sur les


CGL avec gestion des droits pour la
consultation.
-Gnre des rapports de surveillance.
-Il a la possibilit de monitorer
distance travers un firewall.
-Il peut dfinir des serveurs esclaves
qui prennent le relais si le serveur
maitre tombe en panne.
-Surveillance des ressources des
serveurs (CPU, mmoire)
-Surveillance des services rseaux.
-Arrt temporaire de la supervision
locale ou globale.
-Gnre des graphes par linterfaage
avec RRDTools.
Architecture gnralement base sur :
Architecture gnralement base sur :
-Serveur Zabbix, le cur et moteur de -Le moteur de lapplication qui sert
lapplication programm en C.
ordonnancer les tches de supervision
-Agent Zabbix pour la collection des
crit en C.
informations locales.
-Une interface web ralise laide des
-Une interface web dadministration et
GCI, dcrivant la vue densemble su
consultation des donnes.
systme et les anomalies possibles.
-Une base de donnes SQL.
-Plusieurs plugins qui peuvent tre
complts en fonction des besoins.

Avantages

-Multiplateforme.
-Utilise peu de ressources
-Plus lger grce son homognit
(Pas de plug-in ajouter).
-Mise jour facile.
-Configuration et utilisation aise.
-Interface vaste mais claire.

Inconvnients

-Lagent Zabbix communique les


donnes en claire ncessit de
scuriser les donnes.
-Peu dinterfaage avec dautres
solutions commerciales.
-Communaut de dveloppeurs limite.

-Des plugins qui tendent les


possibilits de Nagios.
-Une trs grande communaut qui
participe
activement
au
dveloppement.
-Un moteur performant
-solution complte permettant le
reporting, la gestion des pannes et
dalarmes, gestion des utilisateurs
-Des plugins permettent aux utilisateurs
de dvelopper facilement ses propres
vrifications de services.
-Possibilit de repartir la supervision
entre plusieurs administrateurs.
-Offre la possibilit de dvelopper ses
propres modules.
-Configuration complexe mais peut
samliorer en ajoutant Centreon.
-Interface peu ergonomique et intuitive.

Tableau 2. Tableau comparatif

Parmi ces solutions libres, les deux logiciels Zabbix et Nagios sont les plus rpandus et les plus
utiliss. Par rapport mon projet, se sont les deux solutions les plus adaptes permettant de satisfaire
pratiquement tous les besoins de la socit, par les diffrentes fonctionnalits quelles offrent. Et compte
tenu de ce critre Zabbix et Nagios restent galit et il me sera impossible de les dpartager.
Une des particularits captivantes de Nagios est sa modularit, on a ainsi estim que Nagios a t
plus adapt aux besoins de mon projet que Zabbix. En effet, grce ses plugins, Nagios possde une
architecture facilement adaptable lenvironnement. Ces derniers pouvant tre ajouts, modifis ou mme
personnaliss et permettent de spcifier les tches pour aboutir au rsultat voulu.
De plus Nagios est une solution stable, dispose dune grande communaut de dveloppeurs et est
utilis aussi bien dans les petites et moyennes infrastructures que dans les grands parcs informatiques et
utilis surtout par plusieurs entreprises de renomm, tels que Yahoo (100 000 serveurs), Yellow pipe Web
Hosting (7000 serveurs)
Bien que ce dernier soit rput par sa configuration fastidieuse, il peut tre coupl Centreon un
logiciel qui lui servira de couche applicative afin de faciliter la configuration et dtablir des interfaces IHM
plus ergonomiques et comprhensibles.

4. Conclusion
Ce chapitre a t conu pour familiariser lenvironnement du travail en prsentant lentreprise
daccueil et larchitecture rseau dont elle dispose.
Les problmes que rencontre la socit se sont imposs suite ltude de lexistant et sa critique, ce
qui ma permis de cerner la problmatique de mon projet. Jai par la suite propos des solutions et leur tude
a mon grant et finalement nous avons pos notre choix sur la solution que nous jugeons la plus convenable
la socit et la formation que nous estimons acqurir qui est le logiciel de supervision libre Nagios .
Le chapitre suivant attaquera une tude approfondie de la solution choisie.

ChapitreII: Prsentation de loutil de supervision


Nagios

Dans ce prsent chapitre, Je commene par dfinir la notion de la supervision et ses objectifs ensuite,
analyser de prs les fonctionnalits de la solution propose, son architecture, et les diffrents services quelle
offre et finir par numrer les diffrents fichiers de configurations sur quoi se base cette solution.

1. La supervision
1.1

Dfinition
La supervision de rseaux peut tre dfinie comme lutilisation de ressources rseaux adaptes dans

le but dobtenir des informations (en temps rel ou non) sur lutilisation ou la condition des rseaux et de
leurs lments afin dassurer un niveau de service garanti, une bonne qualit et une rpartition optimale et de
ceux-ci.
La mise en place dune supervision rseau, a donc pour principale vocation de collecter intervalle
rgulier les informations ncessaires sur ltat de linfrastructure et des entits qui y sont utiliss, de les
analyser et de les rapporter.

1.2

Objectifs
Lobjectif dune supervision de rseaux peut ainsi se rsumer en trois points :
Etre ractif en alertant ladministrateur (e-mail ou sms) en cas de dysfonctionnement dune
partie du systme dinformation.
Etre pro actif en anticipant les pannes possibles.
Cibler le problme ds son apparition afin dagir rapidement de la faon la plus pertinente
possible.

10

2. Nagios
2.1

Prsentation
Nagios est un logiciel libre distribu sous licence GPL qui permet de superviser un systme

dinformation complet. Utilis par de nombreuses socits, il fait lobjet de contribution et recherche trs
actives.
Etant le successeur de NetSaint dont la premire version date de 1999, ce logiciel est considr
comme une volution de ce dernier auquel a t ajoute, entre autre, la gestion du protocole SNMP. Il
apparat sous le nom de Nagios le 10 mai 2002 aux conditions de la GNU General Public License.
Cet outil repose sur une plate-forme de supervision, fonctionnant sous Linux et sous la plupart des
systmes Unix. Il centralise les informations rcoltes priodiquement par le fonctionnement modulaire
dont il est caractris, ce qui le rend beaucoup plus attractif que ses produits concurrents. En revanche sa
configuration peut se rvler complexe.

2.2

Fonctionnalits
Les fonctionnalits de Nagios sont trs nombreuses, parmi les plus communes nous pouvons citer les

suivantes :
La supervision des services rseaux (SMTP, http), des htes et des ressources systmes
(CPU, charge mmoire)
La dtermination distance et de manire automatique ltat des objets et les ressources
ncessaires au bon fonctionnement du systme grce ses plugins.
Reprsentation colorie des tats des services et htes dfinies.
Gnration de rapports.
Cartographie du rseau.
Gestion des alertes.
Surveillance des processus (sous Windows, Unix).
Superviser des services rseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc.)
La supervision distance peut utiliser SSH ou un tunnel SSL.
Les plugins sont crits dans les langages de programmation les plus adapts leur tche
(Bash, C++, Python, Perl, PHP, C#, etc.)

11

Toutes ces fonctionnalits sont assures grce la gestion et supervision du rseau et ses diffrentes
entits dune manire centralise. La figure 2 modlise cet aspect :

Figure 2. Centralisation dinformations par Nagios

2.3

Architecture
Larchitecture de Nagios se base sur le paradigme serveur-agent. Dune manire spcifique, un

serveur faisant office de point central de collecte des informations tandis que les autres machines du rseau
excutent un agent charg de renvoyer les informations au serveur.
Larchitecture globale de Nagios peut tre dcompose en 3 parties coopratives entre elles :
Un noyau qui est le cur du serveur Nagios, lanc sous forme de dmon et responsable de la
collecte et lanalyse des informations, la raction, la prvention, la

rparation et

lordonnancement des vrifications (quand et dans quel ordre).


Cest le principe de rpartition des contrles au mieux dans le temps qui nous vite la surcharge du
serveur et des machines surveiller.
Des excutants : ce sont les plugins dont un grand nombre est fourni de base, responsables de
lexcution des contrles et tests sur des machines distantes ou locales et du renvoie des
rsultats au noyau du serveur Nagios
12

Une IHM : Cest une interface graphique accessible par le web conue pour rendre plus
exploitable les rsultats. Elle est base sur les CGI (Common Gateway Interface) fournis par
dfaut lors de linstallation de Nagios qui interprtent les rponses des plugins pour les
prsenter dans linterface.
Cette interface sert afficher de manire claire et concise une vue densemble du systme
dinformation et ltat des services surveills, de gnrer des rapports et de visualiser lhistorique. Dune
manire gnrale avoir la possibilit de dtecter en un simple coup dil, les services ou htes ayant besoin
dune intervention de leur administrateur.
Il est possible de coupler Nagios une base de donnes MySQL ou Postgres, lorsque le nombre
dobjets superviser devient consquent. La figure 3 modlise larchitecture de Nagios.

Figure 3. Architecture de Nagios

2.4

Plugins
Nagios fonctionne grce des plugins cris en Perl ou en C. Sans eux, il est totalement incapable de

superviser et se rsume en un simple noyau.


Ces plugins sont des programmes externes au serveur, des excutables qui peuvent se lancer en ligne
de commande afin de tester une station ou service. Ils fonctionnent sous le principe denvoie de requtes
vers les htes ou services choisis lors dun appel du processus de Nagios, et la transmission du code de
retour au serveur principale qui par la suite se charge dinterprter les rsultats et dterminer ltat de lentit
rseau teste.
13

La relation entre le noyau et les plugins est assur dune part par les fichiers de configuration
(dfinitions des commandes) et dautre part par le code retour dun plugin. Cette relation peut se rsumer par
le tableau 3:

Code retour

Etat

Signification

OK

Tout va bien

Warning

Le seuil dalerte est dpass

Critical

Le service a un problme

Unkown

Impossible de connatre ltat du service

Tableau 3. Signification des codes de retours

Nagios est livr avec un package de greffons standards regroupant les plus utiliss. Pour une
utilisation basique et simple, ils devraient tre suffisants. En voil quelques exemples:
check_http : Vrifie la prsence d'un serveur web.
check_load : Vrifie la charge CPU locale.
check_ping : Envoie une requte Ping un hte.
check_pop : Vrifie la prsence d'un serveur POP3.
check_procs : Compte les processus locaux.
check_smtp : Vrifie la prsence d'un serveur SMTP.
check_snmp : Envoie une requte SNMP (passe en argument) un hte.
check_ssh : Vrifie la prsence d'un service SSH.
check_tcp : Vrifie l'ouverture d'un port TCP (pass en argument).
check_users : Compte le nombre d'utilisateurs sur la machine locale.
Il est possible de crer son propre plugin et linterfacer avec Nagios tout en respectant les
conventions des codes de retours prcdemment expliqus.
La vivacit de la communaut Open Source et celle de Nagios 2 en particulier permet de disposer
d'un grand nombre de plugins supplmentaires.
Comme on peut le constater sur la figure 4, les plugins peuvent fonctionner soit en effectuant des
tests en local, distance par le biais de divers moyen comme linstallation des agents NRPE ou NSClient ou
autres.
14

Figure 4. Principe de fonctionnement des plugins

2.5

Les fichiers de configuration


Nagios s'appuie sur diffrents fichiers textes de configuration pour construire son infrastructure de

supervision. Nous allons prsent citer et dfinir ceux qui sont les plus importants :
Nagios.cfg est 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 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 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 contient les dfinitions des commandes externes, telles que celles qui seront
utiles pour la remonte d'alerte.
Checkcommands.cfg contient les dfinitions des commandes de vrification prdfinies et
celles dfinies par l'utilisateur.
Hosts.cfg 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 associe chaque hte ou chaque groupe d'htes l'ensemble des services qui
doivent tre vrifis.
15

Hostsgroups.cfg dfinit des groupes d'htes pour regrouper des htes selon des
caractristiques communes. Un hte peut appartenir plusieurs groupes.
Contacts.cfg dclare les contacts prvenir en cas d'incident et dfinit les paramtres des
alertes (frquences des notifications, moyens pour contacter ces personnes, plages horaires
d'envoi des alertes...).

3. Conclusion
Le prsent chapitre a t introduit avec une brve prsentation de la notion de supervision et ses
enjeux. Ensuite jai dcrit laspect de ma solution, numr ses fonctionnalits et modlis son architecture.
Finalement une partie a t consacre pour la dfinition des diffrents fichiers de configuration gnrs par
la solution de supervision Nagios, prcde par lnumration des diffrents plugins de base responsable de
lexcution des tests ncessaires.

16

ChapitreIII: Les complments de Nagios

Dans ce chapitre je vais prsenter tout outils ou complments que jenvisage ajouter Nagios afin de
mettre en valeur les fonctionnalits quelle offre optimiser , enrichir et garantir la mise en place dune
solution complte, facile administrer et qui rpond aux besoins dj fixs.

1. NDOutils
1.1

Utilits
Il faut dabord savoir que lorsque les greffons effectuent des tests, ils retournent au

processus/ordonnanceur Nagios, deux types de donnes qui sont les tats des htes et leurs services, ainsi
que les donnes de performances qui par la suite seront enregistres dans des fichiers plats.
Pour obtenir une information Nagios est oblig de lire et traiter ces fichiers en entier. Aussi chaque
rafraichissement dune page web depuis linterface de Nagios implique une analyse complte de ces fichiers.
NDOutils vient alors optimiser lexploitation de ces donnes en les exportant vers une base de
donnes MySQL, ce qui a les avantages suivantes :
Stockage des donnes long terme.
Permettre un logiciel tiers comme Centreon daccder de manire optimise aux
donnes dtats et performances de Nagios et de partager ses donnes.
Optimisation de lexploitation des donnes et amlioration des performances ; il est plus
rapide de rechercher des informations dans une base de donnes structure, plutt que dans un
fichier de journalisation quil faut parcourir entirement chaque utilisation.

17

1.2

Prsentation
NDOutils est un greffon charg de transmettre les donnes remontes par Nagios (configuration des

serveurs superviss, les tats des htes, les donnes de performance) vers une base de donnes MySQL
plutt que de ne les garder que dans les fichiers plats.
De cette faon, les donnes seront plus souples grer. Grace la possibilit de stockage long
terme, les donnes sont facilement exploites et linformation devient aisment transformable de la manire
que lon souhaite.
NDOutils interagi avec Nagios indpendamment de Centreon.

1.3

Architecture
NDOutils se compose de deux modules :
Ndomod : lanc automatiquement avec Nagios et responsable de lexportation des donnes
extraits des fichiers plats pour les dposer dans un socket (Unix, tcp).
Ndo2db : dmon ncessitant un script dinitialisation et responsable de louverture de socket
(Unix ou TCP) et place les donnes trouves dans une base de donne MySQL.
La figure 5 dcrit larchitecture de NDOutils.

Figure 5. Architecture NDOutils

18

2. Centreon
2.1

Utilits
Sans aucun doute, Nagios est considr comme tant une solution trs puissante. Cependant, on peut

lui reprocher dtre trs complique configurer vu le nombre important de fichiers dont elle dispose.
La modification manuelle de ces fichiers de configuration, chaque ajout une hte, un service, une
commande.., augmentera le risque daffronter beaucoup plus derreur.
On a donc choisi de coupler Nagios Centreon pour remdier ce problme en vitant la
modification la main de ces fichiers textes. Centreon nayant pas seulement le grand avantage de grer
automatiquement les nombreux fichiers de configuration de Nagios mais aussi une interface
multiutilisateurs, intuitive et personnalisable avec intgration des droits daccs en plus dun compte rendu
graphique plus pratique et lgant que celui offert par Nagios.

2.2

Prsentation
Centreon est une couche applicative Web venant se greffer Nagios pour offrir une administration

moins rudimentaire base sur deux fonctionnalits principales :


Une seconde interface de monitoring : Centreon propose une interface plus sobre, ainsi qu'une
faon diffrente de traiter les donnes remontes par Nagios.
Puissante interface de configuration : Centreon autorise en effet l'utilisateur de modifier
intgralement la configuration de Nagios depuis son navigateur internet, plutt qu'en modifiant
manuellement les fichiers parpills sur le disque.
Cet outil utilise ses propres bases de donnes MySQL cres automatiquement lors de son installation
pour rcuprer toutes les donnes dtats et de performances de Nagios pour les traiter et les afficher dans sa
propre interface graphique.
Cet outil

construit ses propres graphiques grce aux RRDTools, des bases de donnes

particulirement adaptes la construction graphique.

2.3

Architecture
Centreon et Base de donnes
Centreon interagit principalement avec la base de donnes MySQL pour remonter les donnes

fournies par Nagios et stockes dans la base grce NDO.

19

Lors de son installation Centreon cre automatiquement trois schmas dans la base de donnes
MySQL :
Centstatus: Cest la base dans laquelle NDOUtils stocke les donnes extraites des fichiers
plats de Nagios et sur laquelle Centreon pointe pour pouvoir remonter les mmes donnes.
Ces donnes sont visualises dans linterface monitoring de Centreon.
Centstorage: Traite et stocke les donnes de performances remonts de Nagios via NDOutils
vers la base de donnes MySQL, avant leurs intgration en base RRD. Responsable de la
cration des parties mtrologiques de Centreon qui sont le reporting et la gnration des
graphs.
Ces donnes sont visualises dans la partie Reporting et Views de Centreon.
Centreon: Collecte les informations de configuration, et stocke les fichiers objets de Nagios
(Host, Services, Priodes, etc...). Grce aux fonctions d'Import/Export, Centreon peut gnrer
de nouveaux fichiers de configuration pour Nagios.
Centreon et dmons
Pour un fonctionnement sain, Centreon a besoin que ses deux dmons soient lancs :
Centstorage : Centstorage est l'outil qui exploite les donnes remontes par Nagios pour
Centreon. C'est un programme crit en Perl, associ Centreon. A chaque modification du
fichier de donnes perfdata, centstorage met jour deux bases de donnes Centstorage et
RRD .
Centcore : Dans le cas o larchitecture adopte est distribue (serveur centrale pour la
supervision et dautres serveurs fils), Centcore

permettra cette architecture de bien

communiquer ensemble, en se chargeant de la transmission des donnes entre ses diffrents


serveurs. Aussi Responsable du dploiement de la configuration de Centreon vers Nagios.

20

La figure 6 est un schma rcapitulatif dcrivant linteraction entre les diffrentes couches logicielles
de lassociation entre Nagios3/Centreon2.

Figure 6. Interaction entre Nagios et Centreon

21

3. NSClient pour la supervision des serveurs Windows


3.1

Prsentation :
Cest un plugin permettant de rcuprer un nombre important dinformation surveiller sur une

machine Windows.
Le plugin se livre avec un ensemble de commandes check qui nous permet de dgager dimportantes
informations comme :
CLIENTVERSION : retourne la version de lagent NSClient.
CPULOAD : Retourne la charge moyenne du systme.
UPTIME : Retourne la dure coule depuis le dernier redmarrage de la machine.
USEDDISKSPACE : Retourne la taille et le pourcentage du disque utilis.
MEMUSE : Retourne la taille de la mmoire utilise, et la taille restante.
SERVICESTATE : Retourne le statut (dmarr, arrt) dun ou plusieurs services Windows.
PROCSTATES : Vrifie si un ou plusieurs processus sont dmarrs.
COUNTER : Interroge nimporte quel compteur de performance.

3.2

Architecture
NSClient se base sur une architecture client/serveur (Figure 7). La partie cliente nomme check_nt,

doit tre disponible sur le serveur Nagios et on doit vrifier son existence parmi les plugins dlivrs avec
Nagios-plugins sinon linstaller. La partie serveur NSClient++ est installer sur chacune des machines
Windows surveiller.

Figure 7. Architecture NSClient

22

4. NRPE pour la supervision des serveurs Linux


4.1

Prsentation
NRPE (Nagios Remote Plugin Executor) est un agent de supervision qui vous permet de rcuprer les

informations distance lors de la supervision dun serveur Linux. Il a le grand avantage dexcuter les
commandes dans la machine superviser ce qui permet ainsi de rpartir les charges.
Il est livr avec un ensemble de commandes check dfinis par dfaut dans son fichier de
configuration et ncessite linstallation des plugins Nagios aussi.

4.2

Architecture
NRPE se base sur une architecture client/serveur (Figure 8). La partie cliente nomme check_nrpe,

doit tre disponible sur le serveur Nagios et on doit vrifier son existence parmi les plugins dlivrs avec
Nagios-plugins sinon linstaller. La partie serveur NRPE est installer sur chacune des machines Windows
surveiller.

Figure 8. Mcanisme du NRPE

Procdure de fonctionnement :
Le serveur Nagios demande l'excution dun plugin sur la machine distante.
Le daemon NRPE hberg sur la machine distante, reoit la requte d'excution du plugin.
Le plugin est excut sur la machine distante.
Le daemon NRPE de la machine distante envoie le rsultat du plugin au serveur Nagios.
Le serveur Nagios interprte les rsultats reus.

23

5. Conclusion
Le but de ce chapitre tait de prsenter les complments que jai choisis Nagios. Certains ont t
choisis pour leur ncessit comme les greffons NRPE et NSClient, et dautres participaient surtout
lamlioration de la manipulation et lutilisation de Nagios, et surtout facilit de sa configuration.
Le chapitre suivant entamera laspect technique de mon projet, de la mise en place jusquaux
exemples dutilisations.

24

ChapitreIV: Mise en place du systme de supervision


Au sein de ce dernier chapitre, je vais prsenter le chronogramme de ralisation de mon projet, de
lenvironnement de travail et enfin quelques captures crans des interfaces de Nagios/Centreon.

1. Chronogramme
Le chronogramme suivant a t suivi tout au long de la ralisation de mon projet

Figure 9. Chronogramme du projet

2. Environnements de mise en place


2.1

Environnement matriel
Phase de test : jai au cours de cette phase install une machine virtuelle sur ma machine
personnelle pour tester la solution choisie et sadapter sa mise en place, mais aussi de
sassurer si elle rpond vraiment aux besoins fixs par la socit avant de passer la phase de
production, et ce en essayant de tester deux serveur serveurs distants Windows et Linux.
Phase de production : Une douzaine de serveurs Windows et Linux superviser.
Jai install un serveur Linux (hardware et system exploitation) pour y dployer
Nagios/Centreon qui a les caractristiques suivantes ;
Systme Suse Linux entreprise 11 (i589).
Microprocesseur Intel Pentium de vitesse 2.80GHz.
Connexion internet.

25

2.2

Environnement logiciel
La solution de supervision Nagios-3.2.3.
Les greffons de Nagios, Nagios-plugins-1.4.15
La couche applicative associe Nagios pour faciliter sa configuration et son administration
Centreon-2.1.10
Le plugin NDOutils-1.4b9 pour le stockage des donnes de Nagios dans la base de donnes
MySQL et le partage de ces donnes avec Centreon.
Le plugin NSClient pour la supervision des serveurs Windows.
Le plugin NRPE-2.1.12 pour la supervision des serveurs Linux.

3. Mise en place de Nagios/Centreon et les plugins


3.1

Pr-requis Nagios/Centreon
En plus des plugins Nagios a besoin de satisfaire certaines dpendances.
Les pr-requis linstallation sont donc :
Dpendances LAMP : Apche2, PHP5, MySQL
Librairies Perl
Les librairies graphiques : GD, libgd libpng, libjpeg
Compilateur : gcc, gcc-gc++

3.2

Installation de Nagios/Centreon
Les tapes dinstallation et de configuration de Nagios3-2.3 et ses plugins Nagios-plugins-

1.4.15 , Centreon-2.1.10 et NDOUtils-1.4b9 seront dtailles dans lannexe A.

3.3

Installation de NSClient
Pour la supervision des serveurs Windows, je vais installer le greffon NSClient sur la machine

distante et vrifier la prsence de la commande check_nt parmi les plugins install de Nagios. Les tapes
dinstallation seront dtailles dans lannexe B.

26

3.4

Installation de NRPE
Pour la supervision des serveurs Linux, je vais installer le greffon NRPE-2.1.12 sur la machine

distante et vrifier la prsence de la commande check_nt parmi les plugins install de Nagios. Les
dinstallation tapes seront dtailles dans lannexe C.

4.Interfaces de Nagios/Centreon
4.1

Centreon
Authentification
La premire tape faire avant daccder linterface de Centreon cest douvrir un navigateur web

et crire dans la barre de navigation http://localhost/centreon . Une page dauthentification saffiche


demandant le nom de lutilisateur ainsi que le mot de passe comme lindique la figure 10.

Figure 10. Page d'authentification

27

Tactical Overview

La figure 11 est la premire vue aprs lauthentification, elle nous propose lessentiel des
informations importantes qui sont : ltat de fonctionnement du systme dinformation supervis, le nombre
dalertes actuelles, etc.

Figure 11. Interface de Vue Globale

Sant globale

Cette vue

nous permet davoir en reprsentation dite en camembert, un tat de sant

globale de notre supervision.

Figure 12. Interface de la sant globale


28

Statistique de Nagios

Dans cette vue, on retrouve les performances de notre supervision (temps de check, latence etc..) et
des graphiques traant lhistorique de performance de chacun de nos instances.

Temps de check, latence

Figure 13. Interface des statistiques Nagios

Graphique de performance

Figure 14. Interface de graphiques de performance


29

Monitoring

Cette vue va nous permettre daccder nos htes et nos services superviss.

Les htes

Figure 15. Interface des htes supervises

Les services

Figure 16. Interface des services superviss


30

Event logs

Dans

cette

vue,

nous

aurons

accs

tout

lhistorique

des

journaux

dvnements

concernant Centreon (Nagios).

Figure 17. Interface des journaux d'vnements


Views

Cette vue permet de voir, de crer, de paramtrer des Templates de graphiques pour les exploiter
ensuite pour vos htes et services.

Figure 18. Interface de Views


31

Reporting

Cette vue vous permet davoir des statistiques de fiabilit de chaque hte sur une priode de temps
donnes.

Figure 19. Interface des rapports

5. Exemple dUtilisations
5.1

Utilisation des Templates pour lajout et la supervision des serveurs Windows


Depuis le serveur Nagios, il faut utiliser le plugin standard check_nt pour interroger le dmon distant

NSClient++ en mode NSClient. Ce plugin possde de nombreuses options:


-H : Hostname
-p : 12489 (port par dfaut )
-s : password (dfinit dans le fichier .NSCI
-w : seuil davertissement (warning),
-c : seuil critique
-V : Variable interroger (MEMUSE, USEDDISKSPACE, UPTIME,..).Ils seront expliqus
ultrieurement.
32

Voici les tapes ncessaires pour lajout et la supervision dun serveur Windows depuis linterface de
Centreon :
Etape1 : Ajout des commandes dans linterface suivante de Centreon :
Dans linterface Configuration/Commands, On doit ajouter les commandes checks qui nous
permettront de relever les informations de supervision voulues depuis le serveur distant.

Figure 20. Interface des listes des commandes


Lappuie sur add nous ramne linterface suivante pour la dfinition des commandes:

Figure 21. Interface de dfinition des commandes


33

De la mme manire toutes ces commandes seront dfinies :

Commandes

Syntaxes

Significations

Check-Wind-CPU

check_nt -H $HOSTADDRESS$ -v
CPULOAD -s admin -p 12489 -l
2,90,95

Permet de dterminer la charge


moyenne systme durant les x dernires
minutes, avec les seuils warning
90% et critical 95%. (-l 2,90,95).

check_nt -H $HOSTADDRESS$ v USEDDISKSPACE -s admin


-p
12489 -l c

Permet de dterminer la taille du disk C

Check-Wind-C

check_nt -H $HOSTADDRESS$ v USEDDISKSPACE -s admin


-p
12489 -l d

Permet de dterminer la taille du disk D

Check-Wind-D

check_nt -H $HOSTADDRESS$ v USEDDISKSPACE -s admin


-p
12489 -l e

Permet de dterminer la taille du disk E

Check-Wind-E

(-l)

(-l)

(-l)

Check-Wind-UPTIME

check_nt -H $HOSTADDRESS$ -v Permet de dterminer la taille et


MEMUSE -s admin -p 12489 -w 80 pourcentage de la mmoire utilise,
-c 90
libre et totale. A 80% de la mmoire
utilise ltat du service devient
warning et 90% ltat du service
devient critical

Check-Wind-MEMUSE

check_nt -H $HOSTADDRESS$ -v
UPTIME -s pdw -p 12489

Permet de dterminer la dure coule


depuis le dernier redmarrage

Tableau 4. Les commandes NSClient

Etape2 : Associer chaque commande un Template de service :


Loption Add nous renvoie vers une interface ou nous devons dfinir notre Service
Template et lassocier sa commande relative.
Ainsi on dfinit les Templates propre chaque commande cre dans la partie 1.
La figure 22 suivante, prsente linterface dajout des nouveaux Services Templates.

34

Figure 22. Interface de liste des Templates des services


Etape 3 : Associer les Services Templates un Host Template :
Dans linterface commands/hosts/Templates on cre le Template Windows-servers

Figure 23. Interface de liste des Templates des htes

35

Loption add nous ramne une interface o nous devrons dfinir notre nouvelle
Template.
Toutes les Services Templates cres dans la partie prcdentes doivent sassocier notre
Host Template nomme Windows-Servers-Template . Comme on le voit dans
linterface commands>Hosts>Templates>Relation, une liste des services Templates
apparat, on doit donc slectionner et ajouter les services quon voudra lier ce WindowsServers-Templates .

Figure 24. Interface dassociation des Templates de services un Template dhte


Ainsi Il ne nous reste plus qu ajouter les coordonnes du serveur Windows configurer (nom,
adresse IP, Host Template,) travers linterface Configuration/Hosts/Add.
A chaque ajout dun serveur Windows on na pas refaire les mmes tapes, on doit seulement lui
affecter le Host Template adquat pour que tous les services associs ce Template apparaissent
automatiquement.
Etape4 : Exportation de la configuration vers Nagios

En fait lorsque nous modifions la configuration dans Centreon, nous ne faisons que modifier
ltat de la base Centreon. Les modifications ne sont pas encore prises en compte par les diffrents
collecteurs Nagios.

36

Pour effectuer cette mise jour, il faut se rendre au menu Configuration / Nagios puis cliquer sur les
boutons:
"Move export files": pour dplacer physiquement les fichiers de configuration dans

l'arborescence Nagios.
"Restart Nagios": Pour le redmarrage de Nagios afin que la configuration soit prise en

compte.
Puis cliquer sur "Export"

Figure 25. Interface d'exportation

Si tout se passe bien, nous ne devrions pas avoir de messages d'erreurs comme suit:

Quelques minutes aprs l'exportation, lhte ajout apparaitra dans l'interface Monitoring de
Centreon, accompagn de ses services. On peut remarquer dans cette figure, la figure 26, lapparition du
nom de la nouvelle hte, encercl par la couleur rouge, ainsi que ses services relatifs comme le prouve la
figure 27.
37

Figure 26. Etat des htes superviss dans Centreon

Les services apparaissent automatiquement avec lajout dhte, ce qui st claire dans cette interface :

Figure 27. Etat des services superviss dans Centreon

38

La mme hte et ses services apparaissent dans linterface de Nagios aprs lexportation de Centreon
vers Nagios :

Figure 28. Interface des htes supervises dans Nagios

Figure 29. Interface des services superviss dans Nagios

39

5.2

Utilisation des Templates pour lajout et la supervision des serveurs Linux


Puisque NRPE a la particularit dexcuter les commandes rclam par le serveur Nagios dans la

machine Linux distante superviser, on doit avoir cet ensemble de commandes dfinies dans le fichier de
configuration nrpe.cfg de la machine superviser.

Ligne ajoute

Significations

Command[check_users]=/usr/local/nagios/libexec/check_users

Command[check_load]=/usr/local/nagios/libexec/check_load w
15,10,5 c 30,25,20

Permet de dterminer le
nombre dutilisateurs
connects.
Permet de dterminer la charge
CPU
Permet de dterminer lespace

Command[check_hda1]=/usr/local/nagios/libexec/check_disk w
20% -c 10% -p /dev/hda1

disk restant sur la partition

Command[check_/]=/usr/local/nagios/libexec/check_disk w 20%
-c 10% -p /

Permet de dterminer lespace

Command[check_zombie_procs]=/usr/local/nagios/libexec/check_
procs

Permet de dterminer le

/dev/hda1

disk restant sur la partition /

nombre de processus zombie.

-s Z
Command[check_zombie_procs]=/usr/local/nagios/libexec/check_
procs
Command[check_memory]=/usr/local/nagios/libexec/check_mem
ory.plw 10% -c 5%

Permet de dterminer le
nombre de processus.
Permet de dterminer la taille
restante de la mmoire.

Tableau 5. Les commandes NRPE


Remarques :
Les variables check_users, check_disk, etc.Sont dj prsents dans le fichier
/usr/local/nagios/libexec

linstallation des plugins dans la machines distante, dont les

fonctionnalits sont dj expliqus dans le chapitre 2 de mon rapport.

40

la variable check_memory est un script perl ajouter parmi ceux dj existants dans
/usr/local/nagios/libexec. Voir [annexe D]
Ces commandes seront appels depuis le serveur nagios seulement par leur nom indiqu entre
[ ] et de la manire suivante :

Check_nrpe

<@machine distante> -c

<nom de la commande>

Voici les tapes ncessaires pour lajout et la supervision dun serveur Linux depuis linterface de
Centreon :
Etape1 : Ajout des commandes dans linterface suivante de Centreon :
Dans linterface Configuration>Commands, On doit ajouter les commandes checks qui nous
permettront de relever les informations de supervision voulues depuis le serveur distant.

Figure 30. Interface des services superviss dans Nagios

41

Lappuie sur add nous ramne linterface suivante pour la dfinition des commandes:

Figure 31. Interface des services superviss dans Nagios

De la mme manire toutes ces commandes seront dfinies :

Etape2 : Associer chaque commande un Template de service :

Figure 32. Interface des services superviss dans Nagios

42

Loption Add encercl par la couleur rouge, comme le montre la figure 32, nous renvoie
vers une interface ou nous devons dfinir notre Service Template et lassocier sa
commande relative.
Ainsi on dfinit les Templates propre chaque commande cre dans la partie 1.
Etape 3 : Associer les Services Templates un Host Template :
Dans linterface prsent par la figure 33, on cre le Template Linux_servers

Figure 33. Liste des Templates des htes


Loption add nous ramne une interface o nous devrons dfinir notre nouvelle
Template.
Tout les Services Templates cres dans la partie prcdente doivent sassocier notre
Host Template nomm Linux-Servers-Template . Comme on le voit dans linterface
commands/Hosts/Templates/Relation, une liste des services Templates apparat, on doit
donc slectionner et ajouter les services quon voudra lier ce Linux-Servers-Templates .

43

Figure 34. Liste des Templates de service associer une hte


Ainsi Il ne nous reste plus qu ajouter les coordonnes du serveur Linux configurer (nom,
adresse IP, Host Template,) travers linterface Configuration/Hosts/Add.
A chaque ajout dun serveur Linux on na pas refaire les mmes tapes, on doit seulement lui
affecter le Host Template adquat pour que tous les services associs ce Template apparaissent
automatiquement.

5.3

Notification par mail


En plus dtre inform visuellement par linterface de Centreon ou Nagios, on peut paramtrer

lenvoi des mails pour indiquer la perte dun hte ou dun service. Cela permet davoir des informations
supplmentaires, et davoir un historique de lactivit durant la nuit lorsque lon ouvre sa boite mail le matin.
En premier lieu on aura besoin dinstaller les lments postfix et mailx et avoir accs un serveur
SMTP (propre la socit). Voir [Annexe C]
Nagios possde dj les commandes de notification host-notify-by-email et service-notify-byemail dans la partie configuration> commands>notifications qui seront paramtres des htes ou services
lors de leur cration, ainsi on gardera la mme configuration chaque nouvel ajout.
Il nous reste qu informer le systme des utilisateurs et groupes dutilisateurs notifier lors de
lapparition dun problme et de slectionner la dure de notification.
44

Cette configuration est claire dans la figure 35.

Figure 35. Configuration des notifications


Cette interface modlise la configuration denvoie de notification, o nous devrons slectionner les
utilisateurs concernes par la rception de ces notifications, ainsi on dfinira lintervalle de notification, la
priode de notification (24*7, workhours,..) et le type de notifications.
Ainsi on recevra un mail dans ma boite ayant la forme suivante :

Figure 36. Exemple de notification


45

6. Conclusion
Dans ce chapitre jai penchs sur laspect pratique de mon projet, en dtaillant les tapes de la mise
en place et lutilisation de ma solution, et jai ainsi pu prouver lapport important de Centreon Nagios, qui
est principalement, la facilit de la configuration, mais aussi la livraison de comptes rendus et danalyses
plus rapidement et dune manire beaucoup plus prcise pour le seul but de gagner et optimiser la gestion de
son temps.

46

Conclusion gnrale

Le domaine de la supervision est un domaine important de ladministration systmes et rseaux. En


constante volution, les solutions libres de supervision ont prouv quelles avaient leur place dans la sphre
professionnelle.
Et comme je lai dj explicit dans mon tude, la supervision est un des moyens indispensables
pour favoriser la croissance de rendement dune entreprise. Le propos de ce projet tait de choisir une
solution qui rpandait aux besoins organisationnels et financiers de lentreprise et il nyavait pas mieux pour
combler ce besoin que Nagios.

L'association de Nagios et de Centreon a permis la constitution d'une solution de monitoring la fois


puissante et efficace.

Centreon agit comme un intermdiaire entre l'administrateur et les fichiers de configuration de


Nagios. Il enregistre dans une base de donnes les configurations effectues par l'administrateur, puis il
modifie les fichiers de configuration de Nagios en fonction du contenu de la base de donnes. Ce qui a
permis de simplifier grandement le travail de l'administrateur, contrairement l'utilisation de Nagios seul.
Ce stage ma permis dacqurir maintes connaissances dans le monde de la supervision des rseaux
informatiques, et surtout la maitrise de lenvironnement Unix.

47

Rfrences netographiques

1.

http://www.nagios.org/ : le site officiel de Nagios

2.

http://www.nagios.sourceforge.net/ : documentation complte sur les fichiers de Nagios

3.

http://www.nagios.org/support/

4.

http://www.centreon.com/ : Le site officiel de Centreon

5.

http://dokuwiki.ruusan.org/administration/nagios : Un site dinstallation de Nagios et Centreon

6.

http://wiki.monitoring-fr.org/infra/postfix : Un tutoriel pour linstallation et la configuration de


POSTFIX.

48

Annexe A

Installation de Nagios-3.2.3
Installation des librairies et pr-requis ncessaires
Installation de puis le yast :
Apache2 :apache2, apache2-mod-php5, apache2-mod-perl
PHP5 : php5, php5-gd,php5-Ldap,php5-mysql
Libraries GD: gd, libpng, libjpeg
Compilateur: gcc, gcc-c++
Interprteur perl: perl,perl-config-Inifiles,perl-crypt-dos,perl-digest-hmac

Installation de Nagios
Pour viter des problmes de scurit, il est prfrable de lancer Nagios avec un compte utilisateur
normal.
Cration dun compte utilisateur et un groupe ddi au processus nagios.
Cration d'un groupe "nagcmd" permettant l'excution des commandes externes travers
l'interface web.
Rajout des utilisateurs Nagios et Apache l'intrieur du groupe "nagcmd".

# cd /usr/sbin
# useradd nagios
# passwd nagios
# groupadd nagios
# groupadd nagcmd
# usermod -G nagios,nagcmd nagios
# usermod -G nagcmd wwwrun

49

Tlchargement et installation de Nagios


#
#
#
#
#
#
#
#
#
#
#

cd /usr/local/src
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
tar xzf nagios-3.2.3.tar.gz
cd nagios-3.2.3
./configure prefix=/usr/local/nagios with-command-group=nagcmd enable-event-broker
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf

Make all : Compiler les codes sources


Make install : Installer les binaires
Make install-init : Installer les scripts de dmarrage
Make install-config : Installer les fichiers de configuration
Make install-commandmode: Installer et configurer les permissions
Make install-webconf : Installer les fichiers de configuration de Nagios

dans le rpertoire conf

dapache2.
Cration dun compte nagiosadmin pour se connecter la page web nagios.
# htpasswd2 -c /usr/local/nagios/etc/htpasswd.users

nagiosadmin

Installation des plugins de base : nagios-plugins-1.4.15

Tlchargement et installation des plugins.

# cd /user/local/src
#wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
# tar xzf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
50
# make install

On peut tester sil ya aucune erreur dans la configuration de nagios suite lexcution de la
commande suivante :
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Cette commande de vrification se fera automatiquement grce Centreon et chaque


modification de la configuration de Nagios.

Il vaut mieux changer la permission du rpertoire /usr/local/nagios/var/rw afin de pouvoir


effectuer des actions depuis linterface de nagios.

# chown nagios:nagcmd /usr/local/nagios/var/rw

Installation NDOUtils-1.4b9
Installation des librairies et pr-requis ncessaires
Installation de puis le yast :

MySQL: mysql, mysql-client.

Installation de NDOutils
# cd /usr/local/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
# tar xzf ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9
#
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql
ndo2db-user=nagios --with-ndo2db-group=nagios --with-mysql=/usr/lib/mysql
# make

51

--with-

Installation des binaires et installation des fichiers de configuration des binaires Ndo2db et ndomod.

#
#
#
#
#
#
#
#

cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp src/ndo2db-3x
/usr/local/nagios/bin/ndo2db
cp src/log2ndo
src/file2sock /usr/local/nagios/bin
cp config/ndo2db.cfg-sample
/usr/local/nagios/etc/ndo2db/cfg
cp config/ndomod.cfg-sample
/usr/local/nagios/etc/ndomod.cfg
chmod 774 /usr/local/nagios/bin/ndo*
chown nagios:nagios /usr/local/nagios/bin/ndo*
chown nagios:nagios /usr/local/nagios/etc/ndo*

Rcupration du script dutilisation :

# cp daemon-init /etc/init.d/ndo2db
# chmod +x /etc/init.d/ndo2db

Installation Centreon-2.1.10
#
#
#
#
#

cd /usr/local/src
wget http://downloads.centreon.com/index.php?id=144
tar xzf centreon-2.1.10.tar.gz
cd centreon-2.1.10
./install.sh -i

52

you accept GPL license ?


[y/n], default to [n]:
>y
Do you want to install : Centreon Web Front
[y/n], default to [n]:
>y
Do you want to install : Centreon Nagios Plugins
[y/n], default to [n]:
>y
Do you want to install : Centreon Snmp Traps process
[y/n], default to [n]:
>y
Do you want me to create this directory ? [/usr/local/centreon]
[y/n], default to [n]:> y
Path /usr/local/centreon OK
Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]:> y
/usr/local/nagios/bin/nagios OK
Where is your NDO ndomod binary ?
default to [/usr/sbin/ndomod.o]>
/usr/local/nagios/bin/ndomod.o OK
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:> y
Configuring Sudo OK
Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]:> y
Create /etc/apache2/conf.d/centreon.conf OK
Configuring Apache OK
Do you want to reload your Apache ?
[y/n], default to [n]:> y
Reloading Apache service OK
Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]:> y
Path /var/run/centreon OK
Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]:> y
Path /var/lib/centreon OK
53

Do you want me to install CentStorage init script ?


[y/n], default to [n]:> y
CentStorage init script installed OK
Do you want me to install CentStorage run level ?
[y/n], default to [n]:> y
Do you want me to install CentCore init script ?
[y/n], default to [n]:> y
CentCore init script installed OK
Do you want me to install CentCore run level ?
[y/n], default to [n]:> y
Do you want me to create this directory ? [/var/lib/centreon/centplugins]
[y/n], default to [n]:> y
Path /var/lib/centreon/centplugins OK

Une deuxime partie concerne la suite dinstallation de Centreon travers linterface


graphique o on dfinisse ladministrateur de Nagios, laccs la base de donnes, les noms des bases de
Centreon crer

54

Annexe B

Installation de NSClient
Partie Serveur (Machine Windows Distante)
Il faudra installer et configurer NSClient++ sur le serveur Windows
Tlcharger la version NSClient-0.3.8.75.
Dzipper le client sous le rpertoire C:\NSClient++-Win32-0.3.8.
Ouvrir une commande DOS (cmd.exe)
Entrer les commandes suivantes :
C:\cd NSClient++-Win32-0.3.8
C:\cd NSClient++-Win32-0.3.8\NSClient++.exe/install
Linstallation est donc acheve, vrifions donc que le service est autoris "Interagir avec le bureau"
(marquer Local system account et Allow service to interact with desktop dans longlet Log On du
gestionnaire de service) en ouvrant le gestionnaire des services.

On passe maintenant la modification du fichier de configuration sous c://nsclient/NSC.INI.


Dcommenter dans la premire section [modules] tout les modules sauf CheckWMI.dll et
RemoteConfiguration.dll
Dcommenter la ligne allowed_hosts dans la section [Settings] et ajoutant l'adresse du
serveur Nagios aussi pour des mesure de scurit on a la possibilit dattribuer un password pour
accder NSClient.

55

[Setting]
;# OBFUSCATED PASSWORD
; This is the same as the password option but here you can store the password in an
obfuscated manner.
; *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to
this file can still figure out the
; password. Its just a bit harder to do it at first glance.
;obfuscated_password=Jw0KAUUdXlAAUwASDAAB
# PASSWORD
This is the password (-s) that is required to access NSClient remotely. If you leave
this blank everyone will be able to access the daemon remotly.
password=admin
# ALLOWED HOST ADDRESSES
This is a comma-delimited list of IP address of hosts that are allowed to talk to the
all daemons. If leave this blank anyone can access the deamon remotly (NSClient still
requires a valid password).The syntax is host or ip/mask so 192.168.0.0/24 will allow
anyone on that subnet access
allowed_hosts= 192.168.0.107

Dmarrage NSClient:
C:\cd NSClient++-Win32-0.3.8\NSClient++.exe/start
Arrt NSClient
C:\cd NSClient++-Win32-0.3.8\NSClient++.exe/stop

56

Partie Cliente (serveur Nagios)


Juste on doit vrifier la prsence de la commande check_nt sous /usr/local/nagios/libexec sinon le
tlcharger et lajouter parmi les autres commandes.
Depuis le terminal du serveur nagios testons si la machine Windows distante rpond en tapant la
commande suivante qui doit renvoyer la version de NSClient++ installe :

#cd /usr/local/nagios/libexec
#./check_nt -H 62.245.223.181 s admin p 12489 v CLIENTVERSION
NSClient++ 0.3.8.75

Maintenant que tout est prt dans la machine Windows distante superviser, on a plus qu
ajouter la machine au serveur Nagios et essayer de rcuprer les informations ncessaires grce la
commande check_nt qui permet dinterroger distance lagent NSClient.

57

Annexe C

Installation de NRPE
Partie Cliente (Serveur Linux)
Accder au serveur Linux superviser en tant que root et suivre les tapes suivantes :

Cration dun utilisateur et groupe.

# cd /usr/sbin
# useradd nagios
# passwd nagios
# groupadd nagios
# usermod -G nagios nagios

Tlchargement, dcompression et Installation des plugins Nagios Nagios-plugins-1.4.15

#mkdir downloads
#cd downloads
#wget http://osdn.dl.sourceforge.net/sourceforge/nagiosaplug/nagios-plugins-1.4.15.tar.gz
# tar xzf nagios-plugins-1.4.6.tar.gz
#cd nagios-plugins-1.4.6
#./configure
#make
#make install
#chown nagios.nagios /usr/local/nagios
#chown R nagios.nagios /usr/local/nagios/libexec

58

Tlchargement, dcompression et Installation du plugin nrpe-2.12.

#wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
#tar xzf nrpe-2.12.tar.gz
#cd nrpe-2.12
#./configure
#make all
#make install-plugin
#make install-daemon
#make install-daemon-config
#make install-xinetd

Linstallation est donc acheve, Passons la configuration de /usr/local/nagios/etc/nagios/nrpe.cfg.


Allowed_host = @ du serveur nagios

Et ajouter la ligne suivante dans /etc/services :


nrpe

5666/tcp

# NRPE

Finalement lancer le deamon XINETD relatif NRPE :


# /etc/init.d/xinetd start
On peut aussi utiliser les commandes suivante pour stopper, redmarrer ou dterminier ltat du
processus (dmarr, stopp) :

# /etc/init.d/xinetd stop
# /etc/init.d/xinetd status
# /etc/init.d/xinetd restart

59

Au niveau du serveur Nagios


Au niveau du serveur serveur Nagios on refait les mmes tapes pour linstallation de NRPE.
Les plugins sont dj installs.
Tlchargement, dcompression et Installation du plugin nrpe-2.12.
#wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
#tar xzf nrpe-2.12.tar.gz
#cd nrpe-2.12
#./configure
#make all
#make install-plugin
#make install-daemon
#make install-daemon-config
#make install-xinetd
Finalement lancer le deamon XINETD relatif NRPE :
# /etc/init.d/xinetd start
Depuis le terminal du serveur nagios testons si la machine Windows distante rpond en tapant la
commande suivante qui doit renvoyer la version de NSClient++ installe :

#cd /usr/local/nagios/libexec
#./check_nrpe H @serveur-distant

Vrifier que les requtes (TCP sur port 12489) ne sont pas bloques par un firewall
sinon ajouter une rgle pour autoriser le Firewall IPtable.

60

Annexe D
Notification par mail
Dfinitions
Serveur SMTP
Serveur smtp signifie Serveur Simple Mail Transfert Protocol et se traduit par protocole simple
de transfert de courrier en franais. Un serveur smtp est un serveur de courrier. Il gre le transfert du
courrier lectronique vers les diffrents serveurs de messagerie lectronique. De plus, il permet l'envoi de
mail partir des ordinateurs clients. C'est pourquoi, il est utile de spcifier un serveur pop et un serveur smtp
lors de la configuration du logiciel du mail

Postfix
Il sert lenvoi des notifications vers votre serveur de messagerie.

Mailx :
Offrant un binaire mail commande qui permet de tester lenvoie des mails.

Installations

Installer mailx et posix depuis les sources, travers linterface yast ou la commande

Zypper install mailx, postfix

61

Configuration :
Modifier le fichier /etc/potfix/mail.cfg comme suit :

myhostname = MoniterServ
mydestination = rfronteau-laptop, localhost.localdomain, localhos
relayhost = smtp.orange.fr

Myhostname : Le nom du myhostname doit tre quivalent au nom de votre machine (nom

quon retrouve dans /etc/hosts ou /etc/hostname).

Le mydestinitation doit tre identique au myhostname. En aucun cas cest 2 valeurs doivent

tre diffrentes car a ne fonctionnera pas ou plus.

relayhost sert renseigner lIP ou le nom DNS du serveur de messagerie utiliser pour router

votre courrier.

On modifie depuis linterface de nagios dans Configuration>command>notifications on modifie


le script de host-notify-by-email et service-notify-by-email en y ajoutant la commande
de test mail au lieu de @MAIL@ :

/usr/bin/printf

"%b"

"*****

*****\n\nType:$NOTIFICATIONTYPE$\nHost:
$HOSTSTATE$\nAddress:
$HOSTOUTPUT$\nDate/Time:

centreon

Notification

$HOSTNAME$\nState:
$HOSTADDRESS$\nInfo:

$DATE$/$TIME$"

mail

$HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$

62

-s

"Host

You might also like