Vous êtes sur la page 1sur 21

Installation et configuration de Nagios pour dbutants

Par djibril

Date de publication : 26 janvier 2011 Dernire mise jour : 3 septembre 2012

Vous souhaitez vous lancer dans l'installation de Nagios mais vous tes perdu dans la documentation officielle assez volumineuse et les diffrents tutoriels sur la toile pas toujours comprhensibles ? Cet article va vous guider raliser une installation simplifie de Nagios et une configuration pour superviser une machine Linux, Windows et un switch.

Installation et configuration de Nagios pour dbutants par djibril

I - Introduction..............................................................................................................................................................3 I-A - Exemple de rseau superviser...................................................................................................................3 I-B - Les prrequis................................................................................................................................................. 3 I-B-1 - Systme d'exploitation...........................................................................................................................3 I-B-2 - Bibliothques ncessaires..................................................................................................................... 3 II - Installation de Nagios............................................................................................................................................ 3 II-A - Cration des comptes et groupes ncessaires............................................................................................ 3 II-B - Tlchargement de Nagios et de ses plugins.............................................................................................. 4 II-C - Compilation et installation de Nagios........................................................................................................... 4 II-D - Personnalisation de la configuration de Nagios........................................................................................... 6 II-E - Configuration de l'interface web................................................................................................................... 7 II-F - Compilation et installation des plugins Nagios............................................................................................. 7 II-G - Dmarrage de Nagios.................................................................................................................................. 7 III - Configuration de Nagios....................................................................................................................................... 8 III-A - Surveillance locale....................................................................................................................................... 8 III-B - Surveillance distance................................................................................................................................ 9 III-B-1 - Machines surveiller sous Windows................................................................................................ 10 III-B-2 - Machines surveiller sous Linux...................................................................................................... 11 III-B-2-a - Installation de NRPE et des plugins Nagios sur le serveur Linux distant................................. 11 III-B-2-b - Installation de NRPE sur le serveur Nagios............................................................................. 15 III-B-3 - Switch surveiller............................................................................................................................. 17 IV - Mise jour de Nagios........................................................................................................................................ 19 V - Liens.....................................................................................................................................................................21 VI - Conclusion.......................................................................................................................................................... 21 VII - Remerciements.................................................................................................................................................. 21

-2Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

I - Introduction
Le but de cet article est d'installer un serveur de supervision pour dtecter les pannes ou incohrences, et rcuprer des informations sur des serveurs Windows, Linux ou switch et autres lments d'un rseau. L'outil de supervision que nous utiliserons sur notre parc informatique est le logiciel open source Nagios et le serveur sur lequel l'installation sera faite aura un systme d'exploitation Linux. Pour la rdaction de cet article, je me suis bas sur la documentation officielle de Nagios, d'autres cours trouvs sur la toile, ainsi qu'un peu d'huile de coude !! Vous aurez en fin d'article un rsum de ces diffrents liens.

I-A - Exemple de rseau superviser


La configuration du rseau que nous allons essayer de superviser est de type rseau LAN et contient trois machines et un switch, il dispose galement d'un serveur DNS. 1 2 3 4 Un serveur Linux nomm supervion sur lequel sera install Nagios pour superviser notre rseau. Il aura pour IP 192.168.1.12. Un serveur Linux servprod qui sera supervis . Il aura pour IP 192.168.1.10. Un serveur Windows winprod qui sera supervis. Il aura pour IP 192.168.1.11. Un switch 3com4300 nomm switch que l'on supervisera galement. Il aura pour IP 192.168.1.1.

I-B - Les prrequis I-B-1 - Systme d'exploitation


Le systme d'exploitation choisi est "OpenSuse" 11.3 (c'est la version la plus rcente ce jour). Cette machine a pour adresse IP 192.168.1.12 et s'appelle supervision. Le but de cet article n'est pas de vous montrer comment installer Linux, nous supposons que vous savez le faire !! Nagios s'installe sur n'importe quelle distribution Linux (Debian, Ubuntu, Redhat...), les commandes donnes dans cet article devraient s'appliquer la majorit des distributions Linux.

I-B-2 - Bibliothques ncessaires


Nous avons besoin d'installer Apache et PHP car nous visualiserons les donnes travers une interface web. Il nous faudra galement un compilateur C/C++ pour l'installation des diffrents packages Nagios. Pour installer ces diffrentes librairies, utilisez YaST et recherchez apache2, apache2-mod_php5, php5, gcc et gccc++ et installez-les. Il faut galement installer "Net-SNMP" afin de pouvoir lancer des requtes snmp pour superviser des routeurs ou switchs par exemple. Sous Debian ou Ubuntu, vous devriez pouvoir installer ces librairies avec aptget, ou yum sous RedHat.

II - Installation de Nagios II-A - Cration des comptes et groupes ncessaires


Cration d'un groupe nagios
supervision:~ # groupadd nagios

Cration du compte utilisateur nagios que nous allons mettre dans le groupe nagios Sous OpenSuse
supervision:~ # useradd -m -G nagios nagios

-3Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

Sous Debian

supervision:~ # useradd -m -g nagios nagios

Attribution d'un mot de passe l'utilisateur "nagios". Ce mot de passe est "nagios"
supervision:~ # passwd 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". Sous OpenSuse
supervision:~ # groupadd nagcmd supervision:~ # usermod -G nagcmd nagios supervision:~ # usermod -G nagcmd wwwrun

Sous Debian

supervision:~ # groupadd nagcmd supervision:~ # usermod -g nagcmd nagios supervision:~ # usermod -g nagcmd www-data

N.B. Sous OpenSuse, le compte utilisateur d'Apache est wwwrun et son groupe est www. Maintenant que les comptes ont t crs , nous allons procder aux tlchargements et l'installation des librairies Nagios.

II-B - Tlchargement de Nagios et de ses plugins


Nous avons besoin de "Nagios" et de ses plugins. Nous les tlchargerons sur le site de Nagios. Cration d'un rpertoire /nagios/download dans lequel nous dposerons les archives installer.
supervision:~ # mkdir /nagios && mkdir /nagios/download supervision:~ # cd /nagios/download supervision:~ # wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz supervision:~ # wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagiosplugins-1.4.16.tar.gz

ce jour, la version la plus rcente de Nagios est la 3.2.3 et celle du "plugin Nagios" est la 1.4.16. N.B. Nagios vous donne la possibilit de crer vos propres plugins via diffrents langages de programmation, notamment Perl. Pour en savoir plus, consultez cet article : Concevoir facilement un plugin Nagios en Perl.

II-C - Compilation et installation de Nagios


Il faut extraire le code source de l'archive de Nagios dans un premier temps.
supervision: # cd /nagios/download/ supervision:/nagios/download # tar xzf nagios-3.2.3.tar.gz

Puis excuter le script de configuration en lui prcisant le nom du groupe cr prcdemment.


supervision:/nagios/download # cd nagios-3.2.3/ supervision:/nagios/download/nagios-3.2.3 # ./configure --with-command-group=nagcmd

Compilons les codes sources


supervision:/nagios/download/nagios-3.2.3 # make all

Si "make" n'est pas trouv, installez-le et recommencez.

-4Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril supervision:/nagios/download/nagios-3.2.3 # yast -i make supervision:/nagios/download/nagios-3.2.3 # make all

Installons les binaires


supervision:/nagios/download/nagios-3.2.3 # make install

Installons les scripts de dmarrage


supervision:/nagios/download/nagios-3.2.3 # make install-init /usr/bin/install -c -m 755 -d -o root -g root /etc/rc.d /usr/bin/install -c -m 755 -o root -g root daemon-init /etc/rc.d/nagios *** Init script installed *** supervision:/nagios/download/nagios-3.2.3 # make all

Installons les fichiers de configuration. Les fichiers seront automatiquement installs dans le rpertoire /usr/local/ nagios/etc
supervision:/nagios/download/nagios-3.2.3 # make install-config /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/objects /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/ nagios.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/cgi.cfg /usr/local/nagios/etc/cgi.cfg /usr/bin/install -c -b -m 660 -o nagios -g nagios sample-config/resource.cfg /usr/local/nagios/etc/ resource.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/templates.cfg / usr/local/nagios/etc/objects/templates.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/commands.cfg / usr/local/nagios/etc/objects/commands.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/contacts.cfg / usr/local/nagios/etc/objects/contacts.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/timeperiods.cfg / usr/local/nagios/etc/objects/timeperiods.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/localhost.cfg / usr/local/nagios/etc/objects/localhost.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/windows.cfg /usr/local/ nagios/etc/objects/windows.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/printer.cfg /usr/local/ nagios/etc/objects/printer.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/switch.cfg /usr/local/ nagios/etc/objects/switch.cfg *** Config files installed *** Remember, these are *SAMPLE* config files. You'll need to read the documentation for more information on how to actually define services, hosts, etc. to fit your particular needs.

Installons et configurons les permissions


supervision:/nagios/download/nagios-3.2.3 # make install-commandmode /usr/bin/install -c -m 775 -o nagios -g nagcmd -d /usr/local/nagios/var/rw chmod g+s /usr/local/nagios/var/rw *** External command directory configured ***

Attention : ce stade, il ne faut surtout pas dmarrer Nagios.

-5Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

II-D - Personnalisation de la configuration de Nagios


Les fichiers de configuration se trouvent dans le rpertoire /usr/local/nagios/etc. ditons le fichier contacts.cfg pour y mettre les informations de l'administrateur de Nagios, notamment l'adresse lectronique o les alertes seront envoyes. Fichiers /usr/local/nagios/etc/objects/contacts.cfg

supervision:/nagios/download/nagios-3.2.3 # vi /usr/local/nagios/etc/objects/contacts.cfg ############################################################################### # CONTACTS.CFG - SAMPLE CONTACT/CONTACTGROUP DEFINITIONS # # Last Modified: 05-31-2007 # # NOTES: This config file provides you with some example contact and contact # group definitions that you can reference in host and service # definitions. # # You don't need to keep these definitions in a separate file from your # other object definitions. This has been done just to make things # easier to understand. # ###############################################################################

############################################################################### ############################################################################### # # CONTACTS # ############################################################################### ############################################################################### # Just one contact defined by default - the Nagios admin (that's you) # This contact definition inherits a lot of default values from the 'generic-contact' # template which is defined elsewhere. define contact{ contact_name use (defined above) alias email } nagiosadmin generic-contact ; Short name of user ; Inherit default values from generic-contact template

Administrateur Nagios ; Full name of user toto@tutu.fr ; Adresse Email pour les notifications

############################################################################### ############################################################################### # # CONTACT GROUPS # ############################################################################### ############################################################################### # We only have one contact in this simple configuration file, so there is # no need to create more than one contact group. define contactgroup{ contactgroup_name alias members } admins Administrateurs Nagios nagiosadmin

-6Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

II-E - Configuration de l'interface web


Installation du fichier de configuration de Nagios dans le rpertoire conf.d d'Apache.
#supervision:/nagios/download/nagios-3.2.3 # make install-webconf /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/conf.d/nagios.conf *** Nagios/Apache conf file installed ***

Cration d'un compte "nagiosadmin" pour se connecter la page web Nagios.


supervision:/nagios/download/nagios-3.2.3 # htpasswd2 -c /usr/local/nagios/etc/ htpasswd.users nagiosadmin

Le mot de passe choisi est "nagiosadmin", rien de bien compliqu !! On peut redmarrer le service apache2.
supervision:/nagios/download/nagios-3.2.3 # service apache2 restart Syntax OK Starting httpd2 (itk)

II-F - Compilation et installation des plugins Nagios


Remettons-nous dans le rpertoire de tlchargement afin de dcompresser les sources, les compiler et les installer.
supervision:/nagios/download/nagios-3.2.3 # cd /nagios/download/ supervision:/nagios/download # tar xzf nagios-plugins-1.4.16.tar.gz supervision:/nagios/download # cd nagios-plugins-1.4.16/ supervision:/nagios/download/nagios-plugins-1.4.16 # ./configure --with-nagios-user=nagios --withnagios-group=nagios supervision:/nagios/download/nagios-plugins-1.4.16 # make supervision:/nagios/download/nagios-plugins-1.4.16 # make install

II-G - Dmarrage de Nagios


la premire installation, et chaque fois que vous ferez des modifications de Nagios ou que vous aurez besoin de redmarrer Nagios, assurez-vous que tous les fichiers de configuration sont conformes. Pour cela, lancez toujours cette commande.
supervision:/nagios/download # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, on peut continuer. Afin que nagios et apache2 puissent dmarrer automatiquement au dmarrage du serveur, faites ceci :
supervision:/nagios/download/nagios-plugins-1.4.16 supervision:/nagios/download/nagios-plugins-1.4.16 supervision:/nagios/download/nagios-plugins-1.4.16 supervision:/nagios/download/nagios-plugins-1.4.16 # # # # chkconfig chkconfig chkconfig chkconfig --add apache2 --add nagios nagios on apache2 on

Changer la permission de ce rpertoire /usr/local/nagios/var/rw afin de pouvoir effectuer certaines actions depuis l'interface Nagios.
supervision:/nagios/download/nagios-plugins-1.4.16 # chown nagios.nagcmd /usr/local/nagios/var/rw

Dmarrons maintenant Nagios.

-7Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril supervision:/nagios/download/nagios-plugins-1.4.16 # service nagios start

Avant de se connecter la page web de Nagios, il est important de vrifier que le pare-feu du serveur ne bloque pas l'affichage des pages web, pour cela, allons dans YaST ; Catgorie "Scurit et utilisateurs" ; Pare-feu ; Rajoutons "Serveur http" la liste des services autoriss de la zone externe. http://supervision/nagios

Maintenant nous pouvons nous connecter Nagios via le lien suivant :

III - Configuration de Nagios


Nous n'allons pas voir comment configurer entirement Nagios car c'est infini et pour en savoir plus, vous devrez vous pencher sur la documentation officielle. Nanmoins, nous allons essayer de paramtrer Nagios pour surveiller l'espace disque du serveur Nagios et d'autres serveurs Windows et Linux ainsi que leur accessibilit.

III-A - Surveillance locale


ce stade de l'article, Nagios ne surveille que le serveur sur lequel il est install. Si vous cliquez sur le lien Services ou Hosts de la page web, vous ne verrez que localhost. Certains services sont par dfaut surveills, notamment le swap, l'espace disque de la partition root /, le ping, etc.

-8Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

Pour modifier les services surveills par Nagios en local, il faut aller dans le fichier localhost.cfg qui se trouve dans le rpertoire /usr/local/nagios/etc/objects. Vous y trouverez diffrentes sections. La premire est la section host. Pour la vrification de l'espace disque, il faut voir le service utilisant le programme "check_local_disk". Vous trouverez cette ligne :
check_command check_local_disk!20%!10%!/

En fait, Nagios lance un programme s'appelant "check_local_disk" en lui passant en argument 20% et 10%. Ce programme va vrifier l'espace disque et envoyer Nagios 0 si tout est OK, 1 (pour warning) si l'espace disque restant est infrieur 20 % ou 2 (pour critique) si l'espace disque restant est infrieur 10 %. Avec ce code retour, Nagios va afficher un message adapt au niveau de l'interface web. Vous pouvez les modifier pour tester. Comment Nagios fait-il pour connatre l'emplacement des programmes ?

En fait, il existe un fichier "commands.cfg" dans le rpertoire /usr/local/nagios/etc/objects o sont listes toutes les commandes que Nagios utilisera en local. Exemple

# 'check_local_disk' command definition define command{ command_name check_local_disk command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ -u $ARG4$ }

On remarquera que Nagios lance en ralit le programme check_disk au lieu de check_local_disk qui est en fait un alias avec les paramtres -w $ARG1$ -c $ARG2$ -p $ARG3$. $ARG1 correspond au 20%, $ARG2 au 10% et $ARG3 /. Pour en savoir plus sur les arguments, consultez la documentation officielle nagiosplugins et chercher check_disk. Mettons-nous la place de Nagios en ligne de commande et lanons check_disk. noter que tous les programmes Nagios se trouvent dans le rpertoire /usr/local/nagios/libexec.
supervision:~ # /usr/local/nagios/libexec/check_disk -w 20% -c 10% -p / DISK OK - free space: / 137429 MB (97% inode=98%);| /=3734MB;118974;133846;0;148718 supervision:~ # echo $? 0

Vous remarquez que le code retourn est bien 0. Affinons notre requte pour afficher les tailles en Gigabytes au lieu de MB (par dfaut). L'option -u nous le permet.
supervision:~ # /usr/local/nagios/libexec/check_disk -w 20% -c 10% -p / -u GB DISK OK - free space: / 134 GB (97% inode=98%);| /=3GB;116;130;0;145

Si vous souhaitez que Nagios fasse le mme affichage, il faut modifier le fichier "commands.cfg" pour soit lui mettre en dur -u GB ou bien lui donner un quatrime argument nous donnant le choix de le paramtrer. Exemple :
supervision:~ # cat /usr/local/nagios/etc/objects/commands.cfg | grep check_disk command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ -u $ARG4$ supervision:~ # cat /usr/local/nagios/etc/objects/localhost.cfg | grep check_local_disk check_command check_local_disk!20%!10%!/!GB

Voil, c'est magique !!! Pour les autres services, le principe est le mme. Avec un peu, voir beaucoup d'huile de coude et vous pourrez y arriver !!

III-B - Surveillance distance


Pour surveiller des machines distantes il faut qu'il y ait sur ces machines un agent qui pourra renseigner les plugins Nagios des informations dont ils ont besoin. La mise en place de cet agent diffre en fonction du systme d'exploitation
-9Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

de la machine surveiller ou du matriel. Nous prendrons pour exemple une machine Windows, Linux et un switch. Une fois l'agent install, il faut crer de nouvelles dfinitions d'htes et de service pour surveiller la machine puis redmarrer le dmon Nagios.

III-B-1 - Machines surveiller sous Windows


Pour notre article, nous allons installer l'addon NSClient++ sur la machine Windows et utiliser le greffon check_nt pour communiquer avec NSCLient++. Ce greffon check_nt est dj install vu que Nagios l'est. Vous pouvez le trouver dans le fichier "commands.cfg".
# 'check_nt' command definition define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ }

Il est possible d'utiliser d'autres agents Windows (comme NC_Net) mais il faudra dans ce cas modifier les commandes et les dfinitions de services... Mais nous, nous utiliserons NSClient++. Tlchargez-le cette adresse ici et s'il n'est propos que la version 64bits (NSClient++-0.3.8-x64.msi), testez ce lien et rcuprez NSClient++-0.3.8Win32.msi. Je vous rappelle que notre machine Windows s'appelle "winprod". Installation de l'agent

Une fois votre fichier MSI tlcharg, installez-le sur la machine winprod. Il vous demandera l'adresse IP de votre serveur Nagios, vous pouvez mettre le nom DNS si votre rseau en dispose d'un. Si vous souhaitez prciser un mot de passe, mettez-le dans le champ adquat. Ensuite activez les champs plugins, check_nt et check_nrpe. Pour ce qui nous concerne, nous ne mettrons pas de mot de passe. Configuration de Nagios

Remettons-nous sur notre serveur Nagios "supervision" et ditons le fichier de configuration de Nagios. Dcommentons la ligne faisant rfrence aux templates de configuration des machines Windows.
supervision:~ # vi /usr/local/nagios/etc/nagios.cfg supervision:~ # cat /usr/local/nagios/etc/nagios.cfg | grep windows.cfg cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Nous avons dit Nagios de regarder le fichier "windows.cfg" pour y trouver les dfinitions des htes Windows. Cette mthode est intressante car nous pouvons dfinir toutes nos machines Windows dans le mme fichier, mais je prfre avoir un fichier par serveur Windows pour une meilleure lisibilit et maintenance. Pour ce faire, je ne l'utilise que pour exemple de fichiers. Crons un rpertoire o stocker tous les fichiers de configuration de nos machines Windows et prcisons-le Nagios.
supervision:~ # mkdir /usr/local/nagios/etc/serveurs_windows supervision:~ # vi /usr/local/nagios/etc/nagios.cfg

Trouvons les lignes commentes commenant par #cfg_dir=... Crons une ligne identique en prcisant le chemin vers le rpertoire que nous avons cr. Dcommentez-la. Puis Commentons la ligne cfg_file=/usr/local/nagios/etc/ objects/windows.cfg car nous ne l'utiliserons plus. Voici le rsultat :
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg ... ... cfg_dir=/usr/local/nagios/etc/serveurs_windows #cfg_dir=/usr/local/nagios/etc/servers #cfg_dir=/usr/local/nagios/etc/printers #cfg_dir=/usr/local/nagios/etc/switches #cfg_dir=/usr/local/nagios/etc/routers - 10 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

copions le fichier windows.cfg en winprod.cfg dans ce rpertoire.


supervision:~ # cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/serveurs_windows/ winprod.cfg

Modifions ce fichier en remplaant "winserver" par "winprod" (nom de notre serveur Windows). Puis changeons l'adresse IP par la ntre ou par winprod tant donn que nous disposons d'un DNS. Faisons une petite vrification !
supervision:/usr/local/nagios/etc/serveurs_windows # /usr/local/nagios/bin/nagios -v /usr/local/nagios/ etc/nagios.cfg supervision:/usr/local/nagios/etc/serveurs_windows # /etc/init.d/nagios restart

Il n'y a pas d'erreur, tout fonctionne bien, on peut le vrifier sur notre site Nagios http://localhost/nagios. Dans le fichier winprod.cfg, nous testons plusieurs services prsents par dfaut. Notre serveur windows appartient au hostgroup "windows-servers", ce groupe doit tre dfini une seule fois pour toutes les machines Windows que nous surveillerons. Comme nous souhaitons faire un fichier par serveur, nous dfinirons ce hostgroup dans un fichier part et l'enlverons du fichier winprod.cfg.
supervision:~ # vi /usr/local/nagios/etc/serveurs_windows/hostgroup_windows.cfg # Define a hostgroup for Windows machines # All hosts that use the windows-server template will automatically be a member of this group define hostgroup{ hostgroup_name windows-servers ; The name of the hostgroup alias Serveurs Windows ; Long name of the group members winprod ; Serveurs membre du groupe spars par des virgules }

Voil, ce stade, Nagios surveille notre machine winprod et vous pouvez rajouter d'autres serveurs Windows (machine.cfg dans le rpertoire serveurs_windows).

III-B-2 - Machines surveiller sous Linux


Nous avons besoin d'un agent sur les serveurs surveiller et des plugins Nagios. Nous utiliserons pour plugins "NRPE". NRPE(Nagios Remote Plugin Executor) est un "Addons" pour Nagios qui permet d'excuter des plugins sur un serveur Linux/Unix distant. Cela permet de surveiller des ressources locales (charge du processeur, utilisation de la mmoire, espace disque...) qui ne sont normalement pas disponibles depuis d'autres machines. Afin d'interroger le client NRPE il faudra utiliser le greffon "check_nrpe" sur notre serveur Nagios "supervision". Pour ce faire il va falloir installer nrpe sur notre serveur Nagios, et sur toutes les machines surveiller. De plus il faudra installer les plugins Nagios sur chaque serveur distant surveiller.

III-B-2-a - Installation de NRPE et des plugins Nagios sur le serveur Linux distant
Avant de commencer l'installation, nous devons d'abord nous assurer de disposer de la librairie "libssl-dev", sinon, il faut l'installer. Elle correspond "openssl-devel". Notre serveur servprod surveiller est un serveur sous "OpenSuse" galement. Pour les autres distributions, il faudra installer la librairie "build-essential". Il peut tre galement intressant d'installer les librairies make, gcc, gcc-c++ et Net-SNMP. Pour information, sous Debian, ces commandes devraient suffire. Sous Debian

apt-get install make gcc g++ apt-get install libssl-dev apt-get install snmpd snmp scli

Tlchargement des archives

- 11 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

Plaons-nous dans le rpertoire /usr/local/src et tlchargeons les fichiers ncessaires.


servprod:~ # cd /usr/local/src/ servprod:/usr/local/src # wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/ nrpe-2.13.tar.gz servprod:/usr/local/src # wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/ nagios-plugins-1.4.16.tar.gz

Cration d'un compte et groupe nagios


servprod:/usr/local/src # groupadd nagios && useradd nagios -G nagios -p nagios

Sous Debian

servprod:/usr/local/src # groupadd nagios && useradd nagios -g nagios -p nagios

Dcompressons les archives


servprod:/usr/local/src # tar zxf nrpe-2.13.tar.gz && tar zfx nagios-plugins-1.4.16.tar.gz

Compilation et installation de nrpe


servprod:/usr/local/src # cd /usr/local/src/nrpe-2.13 servprod:/usr/local/src # ./configure --disable-ssl --enable-command-args servprod:/usr/local/src # make all && make install

Le rpertoire nagios dans /usr/local sera cr :


servprod:/usr/local/src # ls -alhR /usr/local/nagios /usr/local/nagios: total 0 drwxrwxr-x 4 nagios nagios 96 Jan 17 16:12 . drwxr-xr-x 11 root root 264 Jan 17 16:12 .. drwxrwxr-x 2 nagios nagios 72 Jan 17 16:12 bin drwxrwxr-x 2 nagios nagios 80 Jan 17 16:12 libexec /usr/local/nagios/bin: total 72K drwxrwxr-x 2 nagios nagios 72 Jan 17 16:12 . drwxrwxr-x 4 nagios nagios 96 Jan 17 16:12 .. -rwxrwxr-x 1 nagios nagios 70K Jan 17 16:12 nrpe /usr/local/nagios/libexec: total 36K drwxrwxr-x 2 nagios nagios 80 Jan 17 16:12 . drwxrwxr-x 4 nagios nagios 96 Jan 17 16:12 .. -rwxrwxr-x 1 nagios nagios 35K Jan 17 16:12 check_nrpe

Compilation et installation de nagios-plugins


servprod:/usr/local/src # cd ../nagios-plugins-1.4.16/ servprod:/usr/local/src/nagios-plugins-1.4.16 # ./configure servprod:/usr/local/src/nagios-plugins-1.4.16 # make && make install

ls -R /usr/local/nagios

servprod:/usr/local/src/nagios-plugins-1.4.16 # ls -R /usr/local/nagios /usr/local/nagios: bin include libexec share /usr/local/nagios/bin: nrpe /usr/local/nagios/include:

- 12 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

ls -R /usr/local/nagios

/usr/local/nagios/libexec: check_apt check_disk check_hpjd check_sensors check_udp utils.sh check_breeze check_disk_smb check_http check_smtp check_ups check_by_ssh check_dns check_icmp check_snmp check_users check_clamd check_dummy check_ide_smart check_ssh check_wave check_cluster check_file_age check_ifoperstatus check_swap negate check_dhcp check_flexlm check_ifstatus check_tcp urlize check_dig check_ftp check_imap check_time utils.pm /usr/local/nagios/share: locale /usr/local/nagios/share/locale: de fr /usr/local/nagios/share/locale/de: LC_MESSAGES /usr/local/nagios/share/locale/de/LC_MESSAGES: nagios-plugins.mo /usr/local/nagios/share/locale/fr: LC_MESSAGES /usr/local/nagios/share/locale/fr/LC_MESSAGES: nagios-plugins.mo

check_ircd check_load check_log check_mailq check_mrtg check_mrtgtraf check_nagios

check_nntp check_nrpe check_nt check_ntp check_ntp_peer check_ntp_time check_nwstat

check_oracle check_overcr check_ping check_pop check_procs check_real check_rpc

Modifions le fichier /etc/services et rajoutons la ligne /etc/services


... nrpe ... servprod:/usr/local/src/nagios-plugins-1.4.16 # vi /etc/services 5666/tcp # NRPE

N.B. Si vous supervisez une machine protge par un pare-feu, pensez ouvrir le port 5666 en TCP qui est utilis par NRPE. Sinon vous aurez ce type de message d'erreur : CHECK_NRPE: Socket timeout after 10 seconds. Copions le fichier de conf nrpe.cfg dans le bon rpertoire
servprod:/usr/local/src/nagios-plugins-1.4.16 # usr/local/nagios/nrpe.cfg cp /usr/local/src/nrpe-2.13/sample-config/nrpe.cfg /

Modifions le fichier de configuration pour activer la prise d'arguments


servprod:/usr/local/src/nagios-plugins-1.4.16 # vi /usr/local/nagios/nrpe.cfg dont_blame_nrpe=1 servprod:/usr/local/src/nagios-plugins-1.4.16 # cat /usr/local/nagios/nrpe.cfg | grep dont_blame_nrpe dont_blame_nrpe=1 # command arguments *AND* the dont_blame_nrpe directive in this

Cration du fichier /etc/xinetd.d/nrpe pour dfinir le service

- 13 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

Si le rpertoire /etc/xinetd.d n'existe pas, c'est que xinetd n'est pas install. Sous OpenSuse, il devrait tre install par dfaut, mais sous Debian il faudra l'installer via la commande : apt-get install xinetd. Ensuite, crez le fichier /etc/xinetd.d/nrpe. /etc/xinetd.d/nrpe
servprod:/usr/local/src/nagios-plugins-1.4.16 # vi /etc/xinetd.d/nrpe service nrpe { flags = REUSE socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -n -c /usr/local/nagios/nrpe.cfg -i log_on_failure += USERID disable = no only_from = 127.0.0.1 192.168.1.12 }

192.168.1.12 est l'IP de notre serveur "supervision". Quelques paramtres importants : Quelques explications d'options server_args -n : dshabilite ssl. -i : utilise xinetd. only_from : permet de lister les htes autoriss contacter nrpe Redmarrage de xinetd :
/etc/init.d/xinetd restart

On teste que nrpe est bien l'coute et ouvert :


# netstat -at | grep nrpe tcp 0 0 *:nrpe *:* LISTEN

Effectuons des tests

Effectuons un test localement


/usr/local/nagios/libexec/check_nrpe -n -H 127.0.0.1

Si nous obtenons ce message d'erreur


CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

Vrifions les logs /var/log/messages. Si vous obtenez ce message d'erreur :


# tail -f /var/log/messages Jan 17 16:36:27 servprod nrpe[13105]: Unable to open config file '/usr/local/nagios/nrpe.cfg' for reading Jan 17 16:36:27 servprod nrpe[13105]: Config file '/usr/local/nagios/nrpe.cfg' contained errors, aborting...

Il est impossible de lire le fichier, il faut vrifier les droits


ls -alh /usr/local/nagios/nrpe.cfg - 14 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril -rw------- 1 root root 7.1K Jan 17 16:32 /usr/local/nagios/nrpe.cfg

En effet, Nagios ne peut pas lire le fichier, changeons les droits du fichier.
chmod 664 /usr/local/nagios/nrpe.cfg chown nagios.nagios /usr/local/nagios/nrpe.cfg

Effectuons un nouveau test


/usr/local/nagios/libexec/check_nrpe -n -H 127.0.0.1 NRPE v2.12

Super ! Effectuons un autre test afin de compter le nombre de processus.


servprod:/usr/local/src/nagios-plugins-1.4.16 # /usr/local/nagios/libexec/check_nrpe -n -H 127.0.0.1 c check_total_procs PROCS OK: 93 processes

Tout fonctionne parfaitement, paramtrons NRPE afin de pouvoir lire l'espace disque.
vi /usr/local/nagios/nrpe.cfg

Il faut dcommenter la ligne ci-dessous


command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

Nouveau test via check_nrpe et check_disk.


/usr/local/nagios/libexec/check_nrpe -n -H 127.0.0.1 -c check_disk -a 50% 100% / DISK CRITICAL - free space: / 227593 MB (96% inode=-);| /=9373MB;118483;0;0;236967

L'option -a permet de passer des paramtres


/usr/local/nagios/libexec/check_disk -w 10% -c 5% -u GB DISK OK - free space: / 222 GB (96% inode=-); /dev 0 GB (99% inode=99%);| / =9GB;207;219;0;231 /dev=0GB;0;0;0;0

Voil, nrpe fonctionne correctement en local. Il ne reste plus qu' vrifier que l'on arrive le joindre depuis notre serveur Nagios.

III-B-2-b - Installation de NRPE sur le serveur Nagios


Ce sont les mmes commandes que pour le client Linux :
supervision:~ # cd /usr/local/src/ supervision:/usr/local/src # wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/ nrpe-2.13.tar.gz supervision:/usr/local/src # tar zxf nrpe-2.13.tar.gz supervision:/usr/local/src # cd /usr/local/src/nrpe-2.13 supervision:/usr/local/src/nrpe-2.13 # ./configure --disable-ssl --enable-command-args supervision:/usr/local/src/nrpe-2.13 # make all && make install

Maintenant, testons des commandes nrpe distantes


supervision:~ # /usr/local/nagios/libexec/check_nrpe -n -H servprod -c check_disk -a 50% 100% / DISK CRITICAL - free space: / 227596 MB (96% inode=-);| /=9371MB;118483;0;0;236967

- 15 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

Essayons maintenant de l'intgrer Nagios. Il faut dfinir un objet command et les services dans servprod.cfg. Commenons par crer un rpertoire serveurs_linux o dposer notre fichier servprod.cfg.
mkdir /usr/local/nagios/etc/serveurs_linux/

Rajoutons le chemin de ce rpertoire dans nagios.cfg.


vi /usr/local/nagios/etc/nagios.cfg ... cfg_dir=/usr/local/nagios/etc/serveurs_windows cfg_dir=/usr/local/nagios/etc/serveurs_linux ...

Ouvrons le fichier "commandes.cfg"


vi /usr/local/nagios/etc/objects/commands.cfg

et rajoutons l'objet commande pour nos requtes nrpe.


# 'check_nrep' command define command{ command_name command_line a $ARG2$ $ARG3$ $ARG4$ } definition check_nrpe $USER1$/check_nrpe -H $HOSTADDRESS$ -n -u -c $ARG1$ $ARG5$ $ARG6$

Maintenant, crons notre fichier "servprod.cfg".


vi /usr/local/nagios/etc/serveurs_linux/servprod.cfg

Voici un exemple de fichier servprod.cfg servprod.cfg


# definition de la machine define host{ use host_name alias address } linux-server ; servprod ; Serveur servprod ; servprod

############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### # Verification de l'espace disque define service{ use generic-service host_name servprod service_description Espace disque / check_command check_nrpe!check_disk!80%!90%!/ } # Verification de la charge cpu

- 16 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

servprod.cfg
define service{ use host_name service_description check_command } generic-service servprod Charge CPU check_nrpe!check_load!80!90

# Verification du nombre d'utilisateurs sur le serveur define service{ use host_name service_description check_command } generic-service servprod Nombre utilisateurs check_nrpe!check_users!2!10

Redmarrage de Nagios. Le script /etc/init.d/nagios start|stop|restart n'est pas toujours d'une fiabilit sans faille. Afin d'viter d'avoir plusieurs dmons nagios qui tourneraient et qui mettraient jour la mme interface CGI. Voici comment viter ce dsagrment :
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios stop; pkill nagios; /etc/init.d/nagios start

Remarque : Vous devez tre en train de vous dire "Pourquoi n'avons-nous pas cr de fichier hostgroup comme pour les serveurs Windows ?" En fait la dfinition du hostgroup "linux-server" pour les Linux se trouve dans le fichier /usr/local/nagios/etc/objects/localhost.cfg (fichier de configuration du serveur supervision). Nous pourrions dcider d'ter de ce fichier la dfinition du hostgroup pour la mettre dans un fichier part, ce qui serait bien sr beaucoup plus propre.

III-B-3 - Switch surveiller


ce stade, je pense que vous commencez dj comprendre le fonctionnement de Nagios. Il existe un fichier d'exemple de configuration pour les switches (/usr/local/nagios/etc/objects/switch.cfg), crons un rpertoire /usr/ local/nagios/etc/switches, rajoutons ce fichier l'intrieur.
supervision:~ # cp /usr/local/nagios/etc/objects/switch.cfg /usr/local/nagios/etc/switches/switch3com

Dans nagios.cfg, par dfaut la ligne dfinissant le chemin o trouver les fichiers de configuration des switches existe dj mais elle est commente, il suffit donc de la dcommenter. /usr/local/nagios/etc/nagios.cfg
# directive as shown below: cfg_dir=/usr/local/nagios/etc/serveurs_windows cfg_dir=/usr/local/nagios/etc/serveurs_linux #cfg_dir=/usr/local/nagios/etc/servers #cfg_dir=/usr/local/nagios/etc/printers cfg_dir=/usr/local/nagios/etc/switches #cfg_dir=/usr/local/nagios/etc/routers

Maintenant, modifions notre fichier /usr/local/nagios/etc/switches/switch3com.cfg en prcisant l'adresse IP du switch. Enlevez la section hostgroup pour le mettre dans un fichier part. Nos fichiers ressembleront : /usr/local/nagios/etc/switches/switch3com.cfg

############################################################################### # SWITCH.CFG - SAMPLE CONFIG FILE FOR MONITORING A SWITCH # # Last Modified: 10-03-2007 #

- 17 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

/usr/local/nagios/etc/switches/switch3com.cfg

# NOTES: This config file assumes that you are using the sample configuration # files that get installed with the Nagios quickstart guide. # ###############################################################################

############################################################################### ############################################################################### # # HOST DEFINITIONS # ############################################################################### ############################################################################### # Define the switch that we'll be monitoring define host{ use generic-switch ; Inherit default values from a template host_name MONSWITCH3COM ; The name we're giving to this switch alias Linksys SRW224P Switch ; A longer name associated with the switch address 192.168.1.1 ; IP address of the switch hostgroups switches ; Host groups this switch is associated with }

############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### # Create a service to PING to switch define service{ use generic-service ; Inherit values from a template host_name MONSWITCH3COM ; The name of the host the service is associated with service_description PING ; The service description check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service normal_check_interval 5 ; Check the service every 5 minutes under normal conditions retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined } # Monitor uptime via SNMP define service{ use generic-service ; Inherit values from a template host_name MONSWITCH3COM service_description Uptime check_command check_snmp!-C public -o sysUpTime.0 }

# Monitor Port 1 status via SNMP define service{ use generic-service ; Inherit values from a template host_name MONSWITCH3COM service_description Port 1 Link Status check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB }

- 18 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

/usr/local/nagios/etc/switches/switch3com.cfg
# Monitor bandwidth via MRTG logs define service{ use generic-service ; Inherit values from a template host_name MONSWITCH3COM service_description Port 1 Bandwidth Usage check_command check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log! AVG!1000000,1000000!5000000,5000000!10 }

/usr/local/nagios/etc/switches/hostgroup_switch.cfg

############################################################################### ############################################################################### # # HOST GROUP DEFINITIONS # ############################################################################### ############################################################################### # Create a new hostgroup for switches define hostgroup{ hostgroup_name switches alias Les Switches } ; The name of the hostgroup ; Long name of the group

Il ne reste plus qu' redmarrer Nagios.


/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios stop; pkill nagios; /etc/init.d/nagios start

Dernire petite explication d'un service de switch. Ce service lance une commande snmp avec pour arguments -C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB :
# Monitor Port 1 status via SNMP define service{ use generic-service ; Inherit values from a template host_name MONSWITCH3COM service_description Port 1 Link Status check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB }

Explication issue de la documentation officielle

-o ifOperStatus.1 fait rfrence OID pour l'tat oprationnel du port 1 sur le switch. L'option -r 1 indique au plugin check_snmp de retourner un tat OK si 1 est trouv dans la rponse SNMP (1 indique que le port est up) et CRITICAL sinon. L'option -m RFC1213-MIB est facultative et indique la MIB utiliser parmi celles installes sur votre systme et peut aider acclrer les choses. Voil pour l'exemple de supervision avec SNMP. Il y a des millions de choses qui peuvent tre supervises par SNMP, aussi est-ce vous de dcider ce dont vous avez besoin et ce que vous souhaitez superviser. Bonne chance ! ASTUCE Vous pouvez trouver les OID qui peuvent tre superviss sur un switch en excutant la commande suivante : snmpwalk -v1 -c public IP_DE_VOTRE_SWITCH -m ALL .1

IV - Mise jour de Nagios


Il est important de s'informer des nouvelles mises jour de Nagios. Il est donc important de connatre la dmarche suivre car il est inutile de devoir tout rinstaller. Je vais vous exposer les lignes de commandes lancer.

- 19 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril

N.B. Je me suis bas sur la documentation officielle de Nagios, n'hsitez pas y jeter un coup d'il pour de plus amples informations. Pour savoir si votre nagios est jour, il suffit de regarder la page d'accueil WEB de votre nagios. Nagios propose trois types de mises jour : mise jour depuis une version 3.x de Nagios ; mise jour depuis une version 2.x de Nagios ; mise jour depuis une installation RPM.

Dans cette documentation, nous allons exposer la premire mthode, plus prcisment en passant de Nagios 3.3.1 Nagios 3.4.1 sur notre serveur nomm supervision . La mise jour ne ncessite pas les droits root. Il faut se connecter avec l'utilisateur nagios . Sous Debian ou Ubuntu
sudo -s nagios

Sous les autres OS Linux

supervision:~ # su -l nagios nagios@supervision:~>

Afin de rester dans la mme logique de notre article, plaons-nous dans le rpertoire o nous avions tlcharg les fichiers compresss de Nagios (sinon crez ce rpertoire).
nagios@supervision:~> cd /nagios/download nagios@supervision:/nagios/download>

Tlchargeons maintenant la dernire version de Nagios 3.4.1 ( ce jour 29/08/2012). Tlchargement

nagios@supervision:/nagios/download> wget http://prdownloads.sourceforge.net/sourceforge/nagios/ nagios-3.4.1.tar.gz

Nous pouvons extraire le code source de l'archive.


nagios@supervision:/nagios/download>tar -xvzf nagios-3.4.1.tar.gz

On pourrait s'attendre la cration d'un rpertoire nagios-3.4.1, mais on a plutt un rpertoire nagios.
nagios@supervision:/nagios/download> ls -alh drwxr-xr-x 5 nagios nagios 4,0K oct. 26 11:56 . drwxr-xr-x 3 root root 4,0K janv. 18 2011 .. drwxr-xr-x 16 nagios users 4,0K juil. 25 23:20 nagios -rw-r--r-- 1 nagios nagios 1,7M juil. 26 05:32 nagios-3.4.1.tar.gz nagios@supervision:/nagios/download> cd nagios nagios@supervision:/nagios/download/nagios>

Lanons le programme de configuration de Nagios.


nagios@supervision:/nagios/download/nagios> ./configure --with-command-group=nagcmd

Compilons le code source de Nagios et lanons l'installation de la mise jour des binaires. Cette tape n'engendre pas l'crasement de vos fichiers de configuration.
nagios@supervision:/nagios/download/nagios> make all && make install

Nous pouvons maintenant tester notre configuration de Nagios et le redmarrer.


- 20 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/

Installation et configuration de Nagios pour dbutants par djibril nagios@supervision:/nagios/download/nagios> /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/ nagios.cfg

Ensuite, relanons Nagios (en root).


supervision:/nagios/download # /etc/init.d/nagios restart

Si tout s'est bien droul, votre Nagios est jour. Vous le constaterez en allant sur la page d'accueil de l'interface Nagios.

V - Liens
Liste des sites ayant servi la ralisation de cet article 1 2 3 4 5 6 Site de Nagios Les plugins Nagios (documentation officielle) NSClient++ Autre lien NSClient++ Traduction de la documentation officielle de Nagios Concevoir facilement un plugin Nagios en Perl

VI - Conclusion
J'espre que cet article vous a aid dbuter et installer Nagios sur votre serveur. N'hsitez pas faire des remarques, corrections ou apprciations :

VII - Remerciements
Je remercie l'quipe dvp.com pour les remarques et la relecture de cet article, notamment ClaudeLELOUP et stoyak.

- 21 Copyright 2012 djibril. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.
http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/