Installation et paramétrages de Nagios
sous linux
Nagios est un programme vraiment très passionnant. J’en ai entendu parlé depuis longtemps, mais ce
n’est depuis peu
que je l’ai installé. C’est un open source permettant de surveiller des machines,
des services, des réseaux... Il aide l'administrateur réseau dans sa tâche de monitoring, un peu comme MRTG. Mais il
permet de vraiment détecter des problèmes plus rapidement que MRTG, et aussi de controler plus
de choses. Cependant, je pense que MRTG et Nagios sont deux outils complémentaires, et j’entends
bien les utiliser tous les deux : MRTG pour me produire mes graphes et autres statistiques, Nagios
pour me détecter rapidement les pannes. Alors, trêve de bavardages et passons à l’installation de
Nagios.
Avant de continuer, pour les novices de Nagios comme moi, il faudrait savoir que cette installation et
configuration de Nagios n’est pas évidente. Il faut se préparer psychologiquement à passer du
temps sur Nagios pour le faire démarrer, paramétrer et marcher correctement comme vous le
voulez.
Je ne dirai pas mieux que la personne qui a écrit ceci : « Relax its going to take some time. Don't expect to be able to compile Nagios and start it up right off the bat. Its not that easy. In fact, its pretty difficult. If you don't want to spend time learning how things work and getting things running smoothly, don't bother using this software. Instead, pay someone to monitor your network for you or hire someone to install Nagios for you. :) »
C’est pas pour vous effrayer, mais juste vous avertir que ça pourrait prendre du temps.
1. Téléchargement :
Allez sur www.nagios.org, et téléchargez une version de nagios.
Par exemple, moi je viens
d’installer la 1.2 depuis http://prdownloads.sourceforge.net/nagios/nagios-1.2.tar.gz
2. Compilation et installation :
Je suppose que vous avez téléchargé le fichier nagios-1.2.tar.gz.
$]# tar -zxvf nagios-1.2.tar.gz // Le décompresser
$]# cd nagios-1.2 // Accéder au répertoire créé
A ce niveau, je vous conseille vivement de lire le fichier INSTALL
$]# ./configure // Initialiser les variables et créer le Makefile
$]# /usr/sbin/useradd nagios -s /sbin/nologin -M -c "Nagios Program"
$]# make all // Compiler
$]# make install // Installer Nagios
Jusqu’ici, il ne doit pas avoir de problème sérieux à résoudre concernant Nagios. Tout
roule. Avec cette installation par défaut, toute l'installation se trouve dans « /usr/local/nagios/ » et c’est dans
ce répertoire que vous aurez à beaucoup travailler.
3. Configuration du joujou :
$]# make install-config // Installation de fichiers contenant des exemples de config
$]# make install-init // Installation des scripts de démarrage de Nagios
Attaquez-vous d’abord au script de démarrage auquel il faut apporter quelques petites
retouches (c’est plus facile que ce qui va suivre, mais vous pouvez bien sauter cette étape et la faire à la fin).
a) Modifications au fichier /etc/rc.d/init.d/nagios
$]# vi /etc/rc.d/init.d/nagios // Editer le fichier nagios
Dans ce fichier, apportez ces modifications :
i – « if ps -p $NagiosPID » ==> « if ps -P $Nagios » // Seulement si vous êtes sous redhat
ou autres fedora. Moi j’installe sous fedora core 4. Dans le cas contraire, ne pas toucher.
ii – Dans la section start, mettre en commentaire la ligne commençant par « su -l » et
tapez ces lignes tout juste après :
touch $NagiosVar/nagios.log $NagiosSav
chown nagios.nagios -R ${prefix}/var
iii – A la fin de la section start, tapez : chmod o+w $NagiosCmd
b) Création des fichiers de configuration de Nagios :
Toute la config se fait dans "/usr/local/nagios/etc/".
$]# cd /usr/local/nagios/etc/ // Se placer dans le répertoire de config
Si vous avez lancé la commande « make install-config », vous avez déjà exemples de
fichiers de configuration dans ce répertoire. Ils ont des noms du genre xyz.cfg-sample (tel
que nagios.cfg-sample). Renommer tous ces fichiers en leur donnant des noms du genre
xyz.cfg (tel que nagios.cfg). A noter que le principal fichier de configuration est nagios.cfg.
L’éditer en premier.
$]# vi nagios.cfg
i – S’assurer que l’utilisateur et le groupe de nagios est nagios.
nagios_user=nagios
nagios_group=nagios
ii – Activer aussi cette option : check_external_commands=1
Laissez tous les autres paramètres du fichier inchangés, jusqu’à ce que vous soyez plus
rodés. Vous pourrez revenir les modifier lorsque vous aurez réussi à faire démarrer
proprement Nagios. Vous aurez certainement besoin de consulter ce fichier :
file:///usr/local/nagios/share/docs/configmain.html
Ensuite, éditez le fichier "cgi.cfg"
$]# vi cgi.cfg
Il est capital d’avoir ces paramètres dans le fichier :
i – main_config_file=/usr/local/nagios/etc/nagios.cfg // précise le principal fichier de config
de Nagios
physical_html_path=/usr/local/nagios/share
url_html_path=/nagios
ii - nagios_check_command=/usr/local/nagios/libexec/check_nagios /usr/local/nagios/var/status.log 5 '/usr/local/nagios/bin/nagios'
iii – use_authentication=1 // Vous pouvez mettre cette valeur à 0 pour une période de test si vous
avez des problèmes.
iv – default_user_name=nagiosadmin // Cet utilisateur n’a pas besoin d’exister sur le
système.
v – Décommentez toutes les lignes du genre #authorized_for_xyz (comme
#authorized_for_configuration_information=nagiosadmin,jdoe), et transformez les en des
lignes de ce genre : authorized_for_xyz=nagiosadmin (comme authorized_for_system_information=nagiosadmin)
Vous pourrez aussi modifier le paramètre refresh_rotate si vous le souhaitez.
Documentation : file:///usr/local/nagios/share/docs/configcgi.html
Sauvegardez le fichier.
c) Settings du web interface
J’espère que vous avez bien 1 apache qui est installé et qui tourne sans problème ?! Si ce
n’est pas le cas, faites une pause, installez apache et revenez.
Editez le fichier de config de apache. Sous redhat et autres fedora, il s’agit de "/etc/httpd/conf/httpd.conf".
Ajoutez exactement ces deux sections au fichier:
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
Ensuite, sauvegardez le fichier et tapez :
$]# apachectl graceful // ou bien
$]# /etc/init.d/httpd restart
Doc : file:///usr/local/nagios/share/docs/installweb.html et
file:///usr/local/nagios/share/docs/cgiauth.html
d) Installation de plugins :
Sur http://sourceforge.net/project/showfiles.php?group_id=29880&release_id=94599
télécharger ce plugins : nagios-plugins-1.4.2.tar.gz
$]# tar -zxvf nagios-plugins-1.4.2.tar.gz
$]# cd nagios-plugins-1.4.2
$]# ./configure
$]# make
$]# make install
Il y’aura création du répertoire "/usr/local/nagios/libexec" contenant des fichiers de
commande de nagios.
Voilà, tout est terminé ; il ne vous reste plus qu’à tester et faire les quelques derniers petits
débogages seuls.
4. Tests et FIN
La commande qui vous permettra de débugguer est :
/usr/local/nagios/bin/nagios dv
/usr/local/nagios/etc/nagios.cfg
Cette commande va vous permettre de détecter les erreurs éventuelles dans vos fichiers de
configuration. Lisez bien les messages d’erreurs, ils sont très clairs et aident beaucoup. Vous aurez
certainement à lire le fichier hosts.cfg (et à le modifier si vous l’avez déjà compris), à modifier les
fichier services.cfg et hostgroups.cfg en focntion du fichier hosts.cfg, à peut tout commenter le
fichier dependencies.cfg ou même le supprimer, ...
En tous les cas, dès que vous faîtes une modif à l’un de ces fichiers, relancez la commande de test
pour voir ce qui s’est passé. Corrigez jusqu’à ce que vous n’ayez plus une seule erreur (les warning,
c’est pas trop grave).
Lancez Nagios : /etc/init.d/nagios start
Lancez apache : /etc/init.d/httpd restart
Lancez votre navigateur web, puis tapez dans la barre d’adresse : 127.0.0.1/nagios/
Et voilà votre bébé qui aboye.
Vous pourrez dès lors mieux paramétrer votre nagios, tout en visualisant les résultats de vos
paramétrages.
5. houfff (Mais config plus sophistiqués possibles, et d'autres plugins ...)
Sources :
http://www.nagios.org
http://www.linuxfrench.net/article.php3?id_article=1009
http://www.nagios.org/support/mailinglists.php
http://nagiosplug.sourceforge.net/
L'information, n'est-elle pas précieuse ? Partageons la tous ensemble !
© Novembre 2005
Roger YERBANGA
www.yerbynet.com