Nagios Report
Nagios Report
Nagios Report
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
et/ou 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.
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 socit Keystone consulting 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 (Housting 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 lescauses 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, on a 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 dusystme et en surveillant le statut des serveurs, des divers services rseaux
et doffrir des renseignements supplmentaires voir charge CPU, espace disque, mmoire
disponible, etc.
Par rapport mon projet, ce 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)
Voici un tableau des avantage et inconvnients des deux logiciels choisis
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.
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.)
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.3 Architecture
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.
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 :
Code retour
OK
Warning
Critical
Unkown
Etat Signification
Tout va bien
Le seuil dalerte est dpass
Le service a un problme
Impossible de connatre ltat du service
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 NS Client ou autres.
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.
16
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...).
Chapitre III: 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. NS Client pour la supervision des serveurs Windows
1.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.
1.2 Architecture
NS Client 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 NS Client++ est
installer sur chacune des machines Windows surveiller.
2me semaine
Semaines
3me semaine
4me semaine
Etude de lexistant
Recherche
Phase de
production et de
test
Rapport
Figure. Chronogramme du projet
2. Environnements de mise en place
2.1 Environnement matriel
Phase de production et de test :
Au cours de cette phase jai install une machine virtuelle sur ma machine personnelle
pour tester la solution choisie et sadapter sa mise en place, mais aussi de sassurersi
elle rpond vraiment aux besoins fixs par la socit avant de passer la phase de
production, et ce en essayant de tester deux serveurs distants Windows et Linux.
2.2 Environnement logiciel
La solution de supervision FAN : FULLY AUTOMATED NAGIOS
Le but de FAN est de fournir une installation incluant les outils les plus utiliss de la
communaut Nagios. FAN est un CD Rom distribu au format ISO. Il est donc trs facile
installer. FAN est bas sur la distribution linux CentOS. Par ailleurs, tous les packages
CentOS sont disponibles, de sorte que nous conservons tous les avantages de cette
distribution avec les outils Nagios prinstalls et configurs. Ajout ceci, un large panel
doutils est inclus dans la distribution facilitant ainsi la mise en uvre dune plateforme de
supervision efficace..
Les greffons de Nagios, Nagios-plugins-1.4.15
Le plugin NS Client pour la supervision des serveurs Windows.
Lagent NRPE-2.1.12 pour la supervision des serveurs Linux.
Le principe de fonctionnement des agents nrpe (pour Nagios Remote Plugin Executor)
est simple : les plugins sont installs sur l'quipement superviser, compils en fonction
de son architecture car c'est elle qui va les excuter, ainsi que le dmon nrpe faisant office
de serveur. Sur la plateforme de supervision Nagios, le plugin check_nrpe fera alors
office de client nrpe, rcuprant les informations en interrogeant le dmon nrpe sur
l'quipement concern. Le plugin check_nrpe sur le serveur Nagios initiera une
connexion vers l'agent nrpe de la machine cible et lui demandera alors l'excution d'une
vrification. L'agent nrpe lancera alors le plugin configur en local pour obtenir
l'information et retournera le code retour de l'excution ainsi que sa sortie standard.
Restauration
# system-config-network-cmd -i -c -f /tmp/network-config
L'option -i indique l'import de donnes, l'option -c provoque la suppression de la
configuration existante avant l'import et l'option -f spcifie que le fichier importer est le
suivant :
Le DNS
# vi /etc/resolv.conf
nameserver monDNS
nameserver DNSpublic
search mondomaine
Le nom de la machine
# vi/etc/sysconfig/network
Le nom de la machine
# vi/etc/sysconfig/network
HOSTNAME=Nagios (o Nagios est le nouveau nom :-)
Puis : # hostname Nagios (se re-loguer)
Pour ceux qui ne peuvent se passer dinterface graphique :
Installer lenvironnement graphique
# yum --exclude=nautilus-sendtogroupinstall "GNOME Desktop Environment" "X
Window
System"
# startx
# system-config-display (pour configurerlaffichage)
Ainsi, les outils de supervision sont installs et configurs.
On peut accder la page daccueil du projet (depuis un poste sur le rseau) :
http://ip-serveur/
A partir de la page daccueil, on accde linterface Nagios ; le login/mot de passe par dfaut
est : nagiosadmin / nagiosadmin
3.1.2 Nagios
TacticalOverview
La figure 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.
A droite de la fentre, on trouve les sous menues de monitoring permettent de connatre l'tat
des quipements (hosts, rseaux, etc..) et des services superviss avec ou sans un groupe
(exemple groupes des machines web, groupe des services rseaux, etc..) .
3.1.3 CONFIGURATION DE NAGIOS
Le projet FAN fournit plusieurs choix de configuration. En effet ladministrateur de la plateforme peut utiliser uniquement Nagios. On va dtailler la configuration de la plate-forme en
utilisant la mthode de configuration via fichier de texte de Nagios.
O sont situs les principaux fichiers et rpertoires ?
Rpertoires importants
/etc/nagios
/usr/lib/nagios
/usr/share/nagios
Dfinition des fichiers
# ls /etc/nagios/
Aprs on ajoute associe chaque commandes un service pour que nagios puisse lancer,
interprter et afficher linformation sur son interface web le rsultat de chacune de ces
commandes.
Conclusion
Nous avons vu ci-dessus les rsultats dune configuration minimaliste de Nagios. La
configuration peut savrer difficile et fastidieuse, cela ncessite une grande rigueur
dorganisation et de nommage. De plus, linterface web de Nagios ne permet en aucun cas la
modification de la plateforme. Cest pourquoi lutilisation dun outil daide la configuration
de Nagios comme Centreonqui est trs rpandu dans la communaut.
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 on la dj explicit dans notre tude, la supervision est un des moyens
indispensables pour favoriser la croissance de rendement dune entreprise. Le propos de ce
projet tait dinstaller une solution de test qui rpandait aux besoins organisationnels et
financiers de lentreprise et il nyavait pas mieux pour combler ce besoin que Nagios.
Mias l'association de Nagios et de Centreonpeupermettre 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.
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.