Vous êtes sur la page 1sur 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.

Historique :

1999

-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. -Signature dun contrat de sous-traitance avec BearingPoint (Corporate KPMG Consulting)

2003

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 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 servir pour le

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 -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

Nagios -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.

Fonctionnalits

Architecture

-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 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 rparation et

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 1 2 3 4

Etat OK Warning Critical Unkown

Signification Tout va bien Le seuil dalerte est dpass Le service a un problme 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 check_nt -H $HOSTADDRESS$ -v CPULOAD -s admin -p 12489 -l 2,90,95 check_nt -H $HOSTADDRESS$ v USEDDISKSPACE -s admin -p 12489 -l c check_nt -H $HOSTADDRESS$ v USEDDISKSPACE -s admin -p 12489 -l d check_nt -H $HOSTADDRESS$ v USEDDISKSPACE -s admin -p 12489 -l e

Significations Permet de dterminer la charge moyenne systme durant les x dernires minutes, avec les seuils warning 90% et critical 95%. (-l 2,90,95). Permet de dterminer la taille du disk C (-l) Permet de dterminer la taille du disk D (-l) Permet de dterminer la taille du disk E (-l)

Check-Wind-CPU

Check-Wind-C

Check-Wind-D

Check-Wind-E

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_nt -H $HOSTADDRESS$ -v UPTIME -s pdw -p 12489 Permet de dterminer la dure coule depuis le dernier redmarrage

Check-Wind-MEMUSE

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 Permet de dterminer le nombre dutilisateurs connects. Permet de dterminer la charge CPU Permet de dterminer lespace

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

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

disk restant sur la partition /dev/hda1 Permet de dterminer lespace disk restant sur la partition / Permet de dterminer le nombre de processus zombie.

Command[check_/]=/usr/local/nagios/libexec/check_disk w 20% -c 10% -p / Command[check_zombie_procs]=/usr/local/nagios/libexec/check_ procs -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. 2. 3. 4. 5. 6.

http://www.nagios.org/ : le site officiel de Nagios http://www.nagios.sourceforge.net/ : documentation complte sur les fichiers de Nagios http://www.nagios.org/support/
http://www.centreon.com/ : Le site officiel de Centreon http://dokuwiki.ruusan.org/administration/nagios : Un site dinstallation de Nagios et Centreon 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 dapache2. Cration dun compte nagiosadmin pour se connecter la page web nagios. # htpasswd2 -c /usr/local/nagios/etc/htpasswd.users nagiosadmin dans le rpertoire conf

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

--with-

51

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 Le mydestinitation doit tre identique au myhostname. En aucun cas cest 2 valeurs doivent relayhost sert renseigner lIP ou le nom DNS du serveur de messagerie utiliser pour router

quon retrouve dans /etc/hosts ou /etc/hostname). tre diffrentes car a ne fonctionnera pas ou plus. 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 $HOSTSTATE$\nAddress:

"%b"

"*****

centreon

Notification

*****\n\nType:$NOTIFICATIONTYPE$\nHost: $HOSTOUTPUT$\nDate/Time: $DATE$/$TIME$"

$HOSTNAME$\nState: $HOSTADDRESS$\nInfo: | mail -s "Host

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

62