gblend-1
Accueil du site > Documentations > Réseau > Nagios

Nagios

Publié le samedi 26 novembre 2005, mis a jour le samedi 28 juillet 2007, par Stephane MALINET

Installation et configuration de base de Nagios


Introduction

Nagios est un outil de monitoring réseau très puissant qui vous permet entre autre de vérifier la continuité de vos services tel que DNS, HTTP, SMTP, POP... d’en tirer des rapports par jour, mois... donc ainsi d’établir des statistiques quant à leur qualité, de vous faire alerter par mail ou sur votre PDA si vos serveurs sont tombés... Bref, c’est l’outil parfait des administrateurs réseau et systèmes, d’autant que si vous le coupler avec cacti et rrdtool, comme dirait un ami, « c’est le trio gagnant »...

Dans ce guide, il ne sera question que de l’installation et de la configuration de base de net-analyzer/nagios avec net-www/apache-2, c’est-à-dire définir si vos machines sont down ou pas... Pour le reste, je vous invite à vous reporter à la documentation officiel de nagios.

Installation

Deux possibilités s’offrent à vous pour installer apache2, plutôt que apache1 qui est par défaut, éditez le fichier /etc/make.conf et ajoutez-y

USE="apache2 nagios-ping jpeg png"

puis tapez la commande suivante :

# emerge -av nagios

Ou vous pouvez encore faire ceci, ce qui à mon avis n’est pas l’idéal :

# USE="apache2 nagios-ping jpeg png" emerge -av nagios

et vous devriez obtenir quelque chose comme ça si vous avez déjà net-www/apache-2 d’installé :

[ebuild  N    ] net-analyzer/fping-2.4_beta2-r1  59 kB
[ebuild  N    ] net-analyzer/nagios-plugins-1.4.2  -ipv6 +ldap +mysql -nagios-dns -nagios-game -nagios-ntp +nagios-ping +nagios-ssh -postgres -radius -samba -snmp +ssl -ups 948 kB
[ebuild  N    ] net-analyzer/nagios-nsca-2.4  53 kB
[ebuild  N    ] net-analyzer/nagios-core-1.2-r4  +apache2 -debug -mysql -noweb +perl -postgres 1,587 kB
[ebuild  N    ] net-analyzer/nagios-imagepack-1.0  1,610 kB
[ebuild  N    ] net-analyzer/nagios-nrpe-2.0-r1  -command-args +ssl 50 kB
[ebuild  N    ] net-analyzer/nagios-1.2  0 kB

Une fois que vous aurez décidé des plugins que vous installerez, retapez la même commande sans l’option "p"... La compilation terminée, nous allons mettre les démons apache2 et nagios au default runlevel.

# rc-update -a apache2 default
# rc-update -a nagios default

A ce niveau, le plus facile est fait, donc passons au gros du morceau...

Configuration

Si vous n’aviez pas de MTA (Mail Transfert Agent), entendez par là "serveur d’envoie de mails (SMTP)", installé sur votre machine, l’emerge de nagios vous installera par défaut le paquet mail-mta/ssmtp qui servira donc à l’envoie des mails.

Sa configuration par défaut est suffisante pour que nagios fonctionne correctement, mais le champ from de vos mails ressemblera à cela :

added by portage for nagios-plugins <nagios@gentoobox.homenetwork.net>

Ce qui risque d’être génant en cas de renvoie de message d’érreurs...

Nous allons donc éditez le fichier de configuration de ssmtp et modifier certains champs :

vi /etc/ssmtp/ssmtp.conf
root=babykart@gmail.com
mailhub=serveur.smtp.de.votre.fai

Ensuite nous allons créer un alias inversé pour l’utilisateur nagios, c’est-à-dire que lorsque un message sera envoyé par nagios, le "return path" (adresse de retour) sera celle de l’alias :

# vi /etc/ssmtp/revaliases
nagios:babykart@gmail.com:serveur.smtp.de.votre.fai

Passons à apache et nagios.

L’emerge nagios aura créer un fichier /etc/apache2/modules.d/99_nagios.conf contenant :

<IfDefine NAGIOS>
        ScriptAlias /nagios/cgi-bin/ /usr/nagios/sbin/
        <Directory "/usr/nagios/sbin/">
                AllowOverride AuthConfig
                Options ExecCGI
                Order allow,deny
                Allow from all
        </Directory>
        Alias /nagios /usr/nagios/share/
        <Directory "/usr/nagios/share">
                AllowOverride AuthConfig
                Order allow,deny
                Allow from all
        </Directory>
</IfDefine>

Il faut donc modifier le fichier de démarrage du démon apache2 afin qu’il prenne en compte le module nagios au démarrage :

# vi /etc/conf.d/apache2      
APACHE2_OPTS="-D NAGIOS"

Si vous désirez utiliser les fichiers d’exemples contenus dans le package alors faites ce qui suit :

# cd /etc/nagios
# cp /usr/share/doc/nagios-core-1.2-r4/sample-configs/* .
# gunzip *.gz

Et enlevez "-sample" aux noms de tous les fichiers.

Sinon vous pouvez prendre les miens, qui sont moins renseignés mais fonctionnels.

Rendons-nous dans le repertoire /etc/nagios où nous téléchargerons une archive contenant mes fichiers de configurations :

# cd /etc/nagios
# wget http://babykart.free.fr/etc_nagios/etc_nagios_10112005.tar.bz2
# tar -xvjf etc_nagios_10112005.tar.bz2

Attention : A partir d’ici, si vous utilisez les fichiers de configuration contenus dans le package, veuillez adapter les modifications qui suivent, car elles concernent mes fichiers de configurations uniquement.

Maintenant, nous allons créer un fichier /usr/nagios/sbin/.htaccess afin de restreindre l’utilisation des scripts .cgi aux utilisateurs authentifiés :

# vi /usr/nagios/sbin/.htaccess

et mettez-y les lignes suivantes :

AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/htpasswd.users
AuthGroupFile /dev/null

<Limit GET POST>
require valid-user
</Limit>

Créons l’utilistateur nagiosadmin puisque c’est celui-ci qui est renseigné dans le fichier /etc/nagios/cgi.cfg :

# htpasswd2 -b /etc/nagios/htpasswd.users nagiosadmin pass

Vous pouvez créer d’autres utilisateurs, mais n’oubliez pas de leur assigner des droits en les insérant dans le fichier /etc/nagios/cgi.cfg.

Une dernière chose : afin de pouvoir éxecuter les commandes concernant les machines et services via l’interface web, il va falloir modifier certains droits sur le repertoire /var/nagios/rw :

# mkdir /var/nagios/rw
# groupadd nagioscmd
# usermod -g nagioscmd nagios
# usermod -g nagioscmd apache
# chown nagios:nagioscmd /var/nagios/rw
# chmod u+rwx /var/nagios/rw
# chmod g+rwx /var/nagios/rw
# chmod g+s /var/nagios/rw

Passons à la personnalisation de nagios.

Personnalisation

Attention : Avec vi ou un autre éditeur, éditez le fichier /etc/nagios/contacts.cfg, et remplacez mon adresse email par la votre ( ;-) ).

Les fichiers /etc/nagios/hosts.cfg et /etc/nagios/hostgroups.cfg contiennent les informations relatives à vos machines, modifiez les en conséquences, organisez les groupes selon vos besoins.

Faites de même avec le fichier /etc/nagios/services.cfg qui contient les instructions de contrôle des services par machine.

Attention : S’il y a une machine qui se trouve dans le fichier /etc/nagios/hosts.cfg mais qu’aucune action ne lui est définie dans le fichier /etc/nagios/services.cfg, nagios ne démarrera pas.

Le fichier /etc/nagios/misccommands.cfg contient les commandes qui servent à vous alerter.

Le fichier /etc/nagios/checkcommands.cfg contient les commandes que lancera nagios pour contrôler vos services.

Le fichier /etc/nagios/resource.cfg quant à lui stock les variables des répertoires des binaires auxquels vous faites appel.

Pour information, dans le fichier /etc/nagios/services.cfg, le groupe de machines SERVEURS est le seul dont vous recevrez une notification par mail si une machine venait à "tomber"... Par ailleurs, les check_ping se font toutes les 15 minutes...

Une fois que vous aurez terminer la personnalisation de la configuration, il ne reste plus qu’à lancer les démons :

# /etc/init.d/nagios start && /etc/init.d/apache2 start

En cas d’érreur au lancement de nagios, ce dernier vous indiquera le fichier de configuration qui n’est pas correctement rempli.

Liens

- Le Site officiel Nagios

- Les forums Nagios

Répondre à cet article


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette