2. 1
SOMMAIRE
INTRODUCTION A NAGIOS............................................................................................................. 2
INSTALLATION DES PRÉ-REQUIS..................................................................................................... 2
INSTALLATION DE NAGIOS............................................................................................................. 4
CONFIGURATION DE NAGIOS......................................................................................................... 6
Plugins...................................................................................................................................... 7
INTEGRATION DES MACHINES CLIENTES......................................................................................... 9
a) Host.................................................................................................................................. 9
b) Services............................................................................................................................. 9
c) Demarrage des services.....................................................................................................10
INTERFACE WEB...........................................................................................................................10
a) Map : ...............................................................................................................................11
b) Hosts :..............................................................................................................................12
c) Services :..........................................................................................................................12
CONTROLE CLIENT........................................................................................................................13
a) NRPE................................................................................................................................13
b) NS Client ++......................................................................................................................14
CONCLUSION...............................................................................................................................15
3. 2
NAGIOS SOUS CENT OS 7
__________________________________________________________________________________
Dans le cadre d’un projet,noussommesamenésàmettre enplace unoutil de supervision,ici
Nagios,afinde suivre encontinuitéle bonfonctionnement de notre infrastructure. Pour cela, notre
serveur fonctionnera sous la distribution linux CentOS 7 afin de superviser des hôtes Windows et
Linux.
INTRODUCTION A NAGIOS
Nagiosestun logiciel libre de supervisiondestiné à informerde problèmeséventuels dans le
système d’informationsavantque les clientsne le fassent.Il estprévu pour fonctionner sur système
d’exploitationLinux. Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes ont
des dysfonctionnements et quand ils repassent en fonctionnement normal.
Il est possible de :
Superviserdesservicesréseaux :(SMTP,POP3,HTTP, NNTP,ICMP,SNMP, LDAP, etc.)
Superviserlesressourcesdesserveurs(charge du processeur,occupationdes disquesdurs,
utilisationde lamémoire).
Superviseràdistance enutilisantune connexion SSHouuntunnel SSL(notammentvia
l’agentNRPE).
Créerdes plugins écritsdansles langagesde programmation lesplusadaptésàleurtâche :
scriptsshell (Bash,ksh,etc.), C++,Perl, Python,Ruby,PHP,C#,etc.
Quand des problèmes surviennent, Nagios peut envoyer des notifications à des contacts
administratifs de façons différentes (email, SMS, messagerie instantanée, etc…). Les informations
d’états courants, les historiques et les rapports peuvent être consultés à partir d’un simple
navigateur internet.
INSTALLATION DES PRÉ-REQUIS
Pourdébuter,vousallezinstallerlesservicesnécessairesaubonfonctionnementde l’outil.
Vousaurezbesoin :
D’unserveurApache afind’accéderàNAGIOSviason interface web
D’unserveurPhppour traduire lespages webdynamiques.
Pourfaciliterl’insertiondescommandes,je vousconseille d’utiliserunclientde connexionSSH
comme PuTTy
4. 3
Pourcela,lancezla commande :
# yuminstall -y httpdphp
Vousaurezégalementbesoind’OpenSSHpourse connecteren sécurité avecle protocol SSH.
# yum install -y opensshopenssh-server
Installezenpluswgetqui vous permettrade téléchargerle package de Nagios.
# yum install –y wget
SI vouspassezpar unproxy,il faudraconfigurerlacommande wgetde façonà ce que
linuxpuissecommuniqueravecinternet. Pourmodifierle fichierlancezlacommande :
# vi /etc/wgetrc
Ajouterleslignes :
https_proxy = http://10.100.189.254:3128/
http_proxy = http://10.100.189.254:3128/
Nagios a besoin de bibliothèques obligatoires pour son bon fonctionnement. Elles
comprennentuncompilateurde langage C(gcc),l’affichage deshistogrammesetdeshôtes(gdetgd-
devel) ouencore duchiffrementde données(openssl).
Lancez donc la commande suivante pour obtenir toutes ces bibliothèques :
# yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd
Ceci terminé,nousallons créerunutilisateurNagios afind’accèderausystème entant
qu’administrateur.
Faites:
# Useraddnagios
Créezégalementungroupe qui autoriseralescommandes externesàêtre utiliséesvial’interface
web.
# groupaddnagcmd
# usermod-G nagcmdnagios
# usermod-G nagcmd apache
Tous lespré-requissontmaintenantenplace pourpouvoirdébuterl’installationde Nagios.
5. 4
INSTALLATION DE NAGIOS
Commençonspartéléchargerlaversionde Nagios4.0.8.Nous allonsutiliser ici la commande
wget qui permet de télécharger un package depuis une source externe. Contrairement à yum qui
télécharge et installe un package fournit dans les bases de Linux.
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
Puislespluginsqui lui sontassociés :
# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
Les fichierstéléchargéssontsousle format.tar.gzqui estun formatcompressé.Vousallezalorsles
extraire enchoisissantl’endroitque voussouhaitez.Danscette exemple,je le laissepardéfaut,à
l’endroittéléchargé.
# tar xzf nagios-4.0.8.tar.gz
# tar xzf nagios-plugins-2.0.3.tar.gz
Une foisl’extractionterminée, vouspourreztrouverdansle dossiertoutuntas de fichierde
configuration.Vousallezdonclancerle scriptde configurationde Nagiosenprécisantle groupe créé
précédemmentafinde compilerle code source puisd’installerl’outil de supervision.
# cd nagios-4.0.8
# ./configure --with-command-group=nagcmd
Le scriptva alorss’effectueretvousafficheztoutuntas de ligne de configuration.Seul lafinvous
intéressera.Si aucune erreurn’aété trouvé,vousaurezunmessage vousindiquantque toutest
correct.
6. 5
Comme indiquer,tapez#make all pour lancerlacompilation ducode puis # makeinstall pour
installerlesfichiersde Nagios.
QuandLinux a terminé l’applicationdescommandesil vousindiquera :
Insérezdonclescommandessuivantes :
# makeinstall-init
# makeinstall-commandmode
# makeinstall-config
Make install-initpermetd’installerunscriptd’initialisationdansle dossier/etc/rc.d/init.d
Make install-commandmode donne despermissionsdansle dossierpourutiliserles
commandesexternes.
Make install-config installe desfichiersde configurationde base.
Lorsque c’estterminé,installez descomposantsweb nécessaire àl’utilisationde Nagios:
# make install-webconf
Afinde se connecterà l’interface web,vousallezcréerunnouvel utilisateur :Nagiosadminetlui
préciserunmot de passe avecla commande :
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Redémarrezle serveurapache pourprendre encompte lesmodifications
systemctl restart httpd
Votre Nagiosbasique estfini d’être installé.
7. 6
CONFIGURATION DE NAGIOS
Allerdans le fichierde configurationde Nagiosàl’emplacement/usr/local/nagios/etcetouvrezle
fichiernagios.conf.
# vi /usr/local/nagios/etc/nagios.conf
Ce fichierpermetde configurerlesalertesde Nagios. Modifiezenfonctiondesalertesque vous
souhaitezrecevoir.
Sachezque dans touslescas, Nagiosindiquerasurl’interface graphiquece qui ne vapas sur votre
réseau.
Exemple du fichier de configuration
8. 7
Plugins
Pourplusde fonctionnalités,vouspouvezégalementinstallerlespluginsde Nagios. Le principe de
mise enplace estla même que pourcelle de l’outil.
# cd nagios-plugins-2.0.3
# ./configure --with-nagios-user=nagios--with-nagios-group=nagios
# make
# make install
Pourvérifierqu’il n’yaitaucune erreurdanslesfichiersde configuration,lancezlacommande
suivante.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si tout estok, vousdevriezvoirapparaitre le messagesuivant :
On peutégalementmodifierl’adresse qui réceptionneralesnotificationsduserveur enmodifiantle
fichierde configurationsuivant:
vi /usr/local/nagios/etc/objects/contacts.cfg
10. 9
INTEGRATION DES MACHINES CLIENTES
a) Host
Pourmonitorernosmachines,vousdevezlesrenseignerune àune dansle serveurLinux. Pourcela,
vousallezcréerunfichierde configurationclientouvousallezentrercertainesinformations.
# vi /usr/local/nagios/etc/servers/clients.cfg
Le fichierde configurationdoitêtre créé de lafaçonsuivante :
define host{
use linux-server
host_name client
alias client
address 192.168.10.148
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Host Name indiquerale nomde lamachine dansNagios
En face d’adresse,renseignez l’adresse IPde lamachine à monitorer
Max_check_attempts va vérifier5 foisde suite si le problème estréelavantde nousle
signaler
check_period: Nagiosva contrôlerlamachine dansla période donnée.Ici c’est24h/24 et
7j/7
notification_interval :Compterenminute,unmail seraenvoyé toutlestants de minutes,ici
toutesles30 minutes.
Notification_period:Comme pourle check_period,le mail seraenvoyé 24h/24et 7j/7.
b)Services
Comme pourlesmachines,nousallonsindiquerquel service noussouhaitonscontrôlersurla
machine.Lesmodificationsse fontdansle même fichierprécédemmentcréé.
# vi /usr/local/nagios/etc/servers/clients.cfg
11. 10
A la suite dufichiervousallerdoncrenseignerleslignessuivantes :
define service {
use generic-service
host_name client
service_description SSH
check_command check_ssh
notifications_enabled 0
}
Host_name : Sera le nomdu clientauquel vousvoulezassocierle service.Il doitêtre
identiqueàl’host-nameindiqué précédemment.
Service_description:Le nomdu service que vousvoulezcontrôler
Check_command : C’estla commande à effectuer
Notifications_enabled :Si vousne voulezpasrecevoirde mail = 0 sinonmettez1.
c) Demarrage des services
Avantde continuer,n’oubliersurtoutpasde démarrervosservicesetde faire ensorte qu’ilsse
lancentau démarrage duserveur.Pourcela,renseignezlescommandes :
# systemctl start httpd
# systemctl enable httpd
# systemctl start nagios
# systemctl enable nagios
INTERFACE WEB
Votre serveurestdoncopérationnel.
Récupérezdoncl’adresse IPde votre serveuraveclacommande ipaddr.
Entrezla dans unnavigateurweb quelconque d’unemachine Windows suivi de /nagios.
Ce qui donne :votre_ip_server/nagios=====Exemple====http://192.168.10.129/nagios/
Lors de la connexion,il vousdemanderavosidentifiants. Renseignezceux que vousaveccréésdans
la partie InstallationNagios :nagiosadminetle motdepasse.
12. 11
Lorsque la connexionestréussie,vousvousretrouverezsurvotre interfaceNagios
Plusieursmenus s’offrentàvous.
a) Map :
Dans ce menu, vous retrouverez le schéma des machines que vous contrôlez et de leur status. La
couleur verte indique que tout est bon, orange quand la machine n’est pas disponible et rouge
lorsqu’il y a une erreur critique.
13. 12
b)Hosts :
Voustrouverezici laliste desmachinesqui sont contrôler,ainsi que leurstatuts etleurs
caractéristiquessi vouscliquezdessus….
c) Services :
Dans ce menu,c’estlaliste desservicesque vouscontrôlez ainsi que touteslesinformationsles
concernants.
Pourrésumer,chaque catégorie permetde contrôlerce qui définitle menu.Le listingestdonctrès
complettoutensimplifiantl’utilisationde l’outil.
14. 13
CONTROLE CLIENT
a) NRPE
NRPE ouNagiosRemote PluginExecutor vapermettre de contrôlerlesressourcesphysiquesdes
machinesfonctionnantsousLinux.Onpeutdoncidentifierlaram, la charge processeur,l’espace
disque duretc…
Pourle mettre enplace,téléchargezle pluginde lamême manière que Nagiosetsonplugin :
# wgethttp://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
# tar zxvf nrpe-2.15.tar.gz
Compilonsetinstallonsmaintenantle code source de NRPE
# cd nrpe-2.1
# ./configure --with-nagios-user=nagios--with-nagios-group=nagios--prefix=/usr/local
# make all
# make install
# yum install nrpe
Modifiezmaintenantle fichierde configurationpourautoriserle contrôle NRPEsurlesmachines
concernées.
# vi /etc/nagios/nrpe.cfg
15. 14
b)NS Client ++
NS client++ équivautau NRPE. Il va permettre de contrôlerlesressourcesdesclients fonctionnant
sousWindows.
Pource faire,téléchargerle clientNS++ à l’adresse https://nsclient.org/download/
Lors de l’installation,choisissezle modeTypical etrenseignezlesinformationssuivantes :
Faitessuivantjusqu’àce que l’installationse termine.
TestezmaintenantsurNagiospourvérifier qu’ilrécupèrebienlesinformationsvoulues.
Testezl’utilisationde lacharge mémoire parexemple :
/usr/local/nagios/libexec/check_nt –H adresse ip du client –v MEMUSE –p 12489 –s mot_de_passe
MEMUSE : Teste l’utilisationde lamémoire vive.
-p : Numérode port. Par défaultc’est12489 pourNS Client++.
-s mot de passe : C’estle mot de passe renseigné dansle NSClientPassword.
Si lesdeux machinescommuniquent,vousdevriezavoirlesrésultatsde lacommande:
16. 15
CONCLUSION
Nagiosestdonc une solutionpuissante,complète et personnalisable. Même si l’installation
semble parfoisêtre compliquéedûtaux nombreux fichiersde configurations à modifier, l’utilisation
quotidienne estfacile.Unseul bémol àsouligneretque,compareràd’autressoft comme Zabbix, les
hôtes et les services à contrôler doivent être rentrés manuellement dans Linux.
Il est néanmoinsutilisé dansde nombreusesentreprises,que ce doitune SSII,TPE/PME ou en grande
entreprise.