Recherche personnalisée
Navigation :

Guides informatiques - Retour

 Image tiret PC

  
Le 20-07-2007 à 12h25
par ludovic
(76570 lectures)

Introduction



J'ai réalisé un stage sur l'installation et la configuration d'un logiciel de monitoring d'un parc serveur.

Le choix se porta sur Nagios, pour le noyau, qui va effectuer des requêtes SNMP vers les serveurs et nous alerter en cas de surcharge ou soucis de disques durs tels qu'un système RAID.
La 1ère partie décrit l'installation de Nagios, la 2ème partie porte sur l'installation et la configuration d'Oréon pour faciliter la configuration de Nagios. En effet, Nagios ne se configure qu'avec des fichiers de configuration et tout faire à la main est vite rébartitif. Oréon permet de créer les fichiers de configuration pour Nagios par l'intermédiaire d'une interface Internet.

Tout cela ne s'installe que sous Linux, et j'utilise Debian Etch 4 comme système d'exploitation.

Ce guide est plus technique que d'habitude et peut-être qu'il ne vous intéressera pas, mais vue la difficulté que j'ai rencontré lors de la mise en place de cette solution (avec les tutoriels sur Internet parfois trop anciens) je partage la documentation que j'ai réalisée et j'espère qu'elle pourra servir à d'autres personnes ;)

Lors de l'installation de Debian (version 4 Etch maintenant), choisissez les LOCALES -> FR_fr@Euro.

Installation de NAGIOS



apt-get install g++ gcc apache2 mysql-server-4.1 snmp snmpd // si SNMP n'est pas installé sur le serveur, le plug in check_snmp ne sera pas disponible

su
cd /tmp
wget http://www.pc-fute.com/materiel/images/nagios_oreon/nagios-2.9.tar.gz
tar xzf nagios-2.9.tar.gz
adduser nagios
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios

Quel User sous Apache ?
grep "^User" /etc/apache2/apache2.conf //grep "^User"
/etc/httpd/conf/httpd.conf

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -G nagcmd www-data
/usr/sbin/usermod -G nagcmd nagios

cd nagios-2.9
./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagioscmd
// Si utilisation de PerfParse pour Nagios, ajout --with-default-perfdata --with-gd-lib=/usr/lib --with-gd-inc=/usr/include


Compte-rendu une fois l’installation finie :

---
General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagioscmd
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Init directory: /etc/init.d
Host OS: linux-gnu

Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP): /usr/sbin/traceroute
--------------------------

Liste des commandes à taper et à réaliser les unes à la suite des autres :

make all
make install
make install-init
make install-config
make cgis


Contenu de « cd /usr/local/nagios »

bin/ -> Nagios core program
etc/ -> Main, resource, object, and CGI configuration files should be put here
sbin/ -> CGIs
share/ -> HTML files (for web interface and online documentation)
var/ -> Empty directory for the log file, status file, retention file, etc.
var/archives -> Empty directory for the archived logs
var/rw -> Empty directory for the external command file
libexec/ -> Plugins

Configuration Apache 2

A rajouter dans le httpd.conf qui est vide (pour le trouver : « find / -name httpd.conf ») :

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>

Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>

/etc/init.d/apache2 reload // redémarrage d'Apache2


Définition droit d'accès

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin // Debian nous invite à choisir un MDP

Accès web : http://IP_du_Serveur/nagios/

Test des fichiers .cfg

su // etre en root
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


Si erreur dans /usr/local/nagios/var : Error: Could not create external command file '/usr/local/nagios/var/rw/nagios.cmd'
su nagios
mkdir /usr/local/nagios/var/rw


Si Nagios ne peut pas démarrer : il faut utiliser les fichiers de configuration livrés pour l’exemple :

transfert cp -R /tmp/nagios2.7/sample-config /usr/local/nagios/etc
chown -R nagios.nagios /usr/local/nagios/etc
chmod 755


START NAGIOS

cd /usr/local/nagios/etc
cp cgi.cfg-sample cgi.cfg
cp commands.cfg-sample commands.cfg
cp localhost.cfg-sample localhost.cfg
cp nagios.cfg-sample nagios.cfg
cp resource.cfg-sample resource.cfg

/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

Si Absence fichier statusmap.cgi

Il se peut que certaines commandes ne fonctionnent pas car elles fonctionnaient avec la version Sarge de Debian :

apt-get install php4-gd libgd2 libfreetype6-dev libjpeg62-dev libpng2-dev xlibs-dev zlib1g-dev libgd2-xpm libgd2-xpm-dev libgd2 libgd2-dev

apt-get install libgd2-noxpm libgd2-noxpm-dev libgd2-xpm libgd2-xpm-dev


Pour Debian Etch 4 :

apt-get install libgd-dev


Dans "nano /etc/php4/apache2/php.ini" (ou "nano /etc/php4/apache/php.ini") -> décochez le ";" devant gd.so

Dans un dossier où nagios est décompressé, faire un :
cd /tmp/nagios-2.9
make devclean
./configure --with-gd-lib=/usr/lib --with-gd-inc=/usr/include // GD, PNG, and/or JPEG libraries could not be located
make cgis // reconfection des CGI
cd cgi
cp *.cgi /usr/local/nagios/sbin // copie nouveaux CGI vers le rep des CGI de nagios


-- 3-D status MAP : navigateur tente de télécharger le fichier -> il manque le plug-in VRML

Téléchargez le client sur : http://cic.nist.gov/vrml/vbdetect.html ou http://www.parallelgraphics.com/products/cortona/

REGLAGES

http://nagios.sourceforge.net/docs/2_0/xodtemplate.html

localhost.cfg -> contient les contacts, services, etc.
nagios.cfg -> configuration des variables
cgi.cfg -> autorisation

TEST PERFORMANCE NAGIOS

http://nagios.sourceforge.net/docs/2_0/nagiostats.html

/usr/local/nagios/bin/nagiostats -c /usr/local/nagios/etc/nagios.cfg

Les résultats de la ligne « Active Service Latency » ne doivent pas être trop importants (plusieurs dizaines/centaines de secondes) :

Active Service Latency: 0.043 / 0.862 / 0.462 sec

Ces chiffres augmentent de manière importante quand il y a des hôtes ou services en état DOWN ou UNKNOWN.

PLUGINS

Récupérez la dernière version des plug-ins : http://nagiosplug.sourceforge.net
http://sourceforge.net/project/showfiles.php?group_id=29880

Je place les plugins que j'ai utilisé sur le site mais je vous recommande de récupérer les dernières versions.

cd /tmp
wget http://www.pc-fute.com/materiel/images/nagios_oreon/nagios-plugins-1.4.8.tar.gz
tar xzf nagios-plugins-1.4.8.tar.gz
cd nagios-plugins-1.4.8
./configure
make all
make install


SNMP pour Debian

apt-get install nmap librrds-perl libgd-gd2-perl libnet-snmp-perl
cd /tmp
wget http://nagios.manubulon.com/nagios-snmp-plugins.1.1.tgz
tar xzf nagios-snmp-plugins.1.1.tgz
cd nagios_plugins
./install.sh


A l'écran s'affiche le compte-rendu :

Will now install all script(s) :
in directory : /usr/local/nagios/libexec
perl : /usr/bin/perl
temp directory : /tmp


Le script se termine par :

Installation completed OK
You can delete all the source files and directory
Remember to look for informtation at http://www.manubulon.com/nagios/


Configuration SNMP

nano /etc/snmp/snmpd.conf
commenter la ligne « com2sec paranoid default public » en rajoutant un « # »
supprimer le « # » de la ligne « com2sec readonly default public ».

Installation SNMP sous Windows



Le CD de Windows vous sera peut-être demandé.

Panneau de config
Ajout de composant
Outil de gestion et d'analyse
Cocher SNMP
Configuration dans Services -> SNMP

Installation d'Oréon 1.4



Lors de l'écriture de ce guide, Oréon est en version 1.4 et il existe 5 patchs à appliquer. Au lieu d'installer Oréon et de lui appliquer les 5 patchs, j'ai préféré récupérer Oréon 1.4 puis de patcher les sources directement et enfin de lancer l'installation.

apt-get install rrdtool sudo
apt-get install php4 php4-gd php4-cgi php4-mysql libapache2-mod-php4 php4-snmp php4-ldap php4-pear libconfig-inifiles-perl


Il faut activer mysql.so et snmp.so ldap.so en décommentant la ligne dans le php.ini -> parfois cela est déjà fait !

Récupérez la dernière version d'Oréon sur le site officiel : http://www.oreon-project.org/download.html