The ZATAZ network :: ZATAZ.com :: ZATAZ.net


Documentation : Installation de Nagios

Date de publication : 20.7.2004
Date de modification : 9.11.2005

Contributeur : Eric Romang

Société : ZATAZ / http://www.zataz.net

Eric Romang co-fondateur de ZATAZ, avec Damien Bancal, supervise la direction technique de ZATAZ.

Situé au Luxembourg, Eric Romang a eu l'occasion au cours de ses années d'expériences dans le domaine au sein de datacenter de développer une expertise dans la haute disponibilité d'infrastructure, la mise en place de cluster MySQL, de solutions de stockages, de sauvegardes et de sécurisation d'environnement Linux.


But du document

Ce document va expliquer comment installer l'outil de monitoring Nagios. Nagios est un outil de monitoring systèmes et réseaux. Il surveille les hôtes et les services que vous lui avez spécifié, et vous alerte (par email, sms, icq, etc.) si quelque chose ne correspond pas à une activitée normalle, ou si cette activitée de nouveau normalle. Il peut aussi réagir à des évènements en lançant des scripts sur des hôtes distants.

Pré-requis

Un serveur sous linux, un accès root, les outils de développements et de compilations linux (gcc, make, etc.), un serveur Apache avec php, mysql et libgd.

Installation de Nagios source

Télécharger les sources de nagios à partir de http://www.nagios.org

Décompressez l'archive dans un répertoire de votre choix, par exemple :

cd /usr/local/sources/
tar -zxvf nagios_version.tar.gz


Rendez-vous dans le répertoire source de nagios.

cd nagios_version

Pour compiler et installer Nagios, suiver les instructions suivantes :

Ajout d'un utilisateur nagios.

groupadd nagios
useradd -s /bin/bash -d /dev/null -g apache nagios


L'utilisateur nagios fait partie du groupe de votre serveur web.
Partons sur le principe que le groupe du serveur web est apache.

Compilation.

./configure --prefix=/usr/nagios --with-cgiurl=/cgi-bin/ --with-htmlurl=/ --with-nagios-user=nagios --with-nagios-grp=apache --mandir=/usr/share/man --infodir=/usr/share/info --with-init-dir=/etc/init.d --with-lockfile=/var/run/nagios.pid --disable-statuswrl --with-mysql-xdata --with-mysql-status --with-mysql-comments --with-mysql-extinfo --with-mysql-retention --with-mysql-downtime --with-command-grp=nagios --with-command-grp=apache --localstatedir=/var/nagios --sysconfdir=/etc/nagios

make all
make install

Explication des options de compilation :

# prefix : Répertoire d'installation, lors de make install.
# with-cgiurl : Chemin d'accès web des cgi nagios.
# with-htmlurl : Chemin d'accès web nagios.
# with-nagios-user : Utilisateur sous lequel nagios tournera.
# with-nagios-grp : Groupe sous lequel nagios tournera.
# mandir : Chemin d'accès des MAN (echo $MANPATH).
# infodir : Chemin d'accès des INFO (echo $INFOPATH).
# with-init-dir : Chemin d'accès des scripts de démarrage.
# with-lockfile : Chemin d'accès ou le fichier lock sera déposer.
# disable-statuswrl : Désactivation du réseau en 3D.
# with-mysql-xdata : Support MySQL pour les données externes exceptés celles en objet.
# with-mysql-status : Support MySQL pour le stockage des status
# with-mysql-comments : Support MySQL pour les commentaires
# with-mysql-extinfo : Support MySQL pour les infos étendues
# with-mysql-retention : Support MySQL pour la rétention des données
# with-mysql-downtime : Support MySQL pour le stockage des "downtime"

Installation du script de démarrage init.d

make install-init

Vérifier que le fichier de démarrage nagios est bien dans votre init.d
Ensuite ajouter le à vos run level.

Pour moi sous gentoo, cela s'effectue de la façon suivante :

rc-update add nagios default

Installation des scripts et des droits pour l'éxécution de commandes externes :

make install-commandmode

Installation des fichiers de configurations :

make install-config

Installation de la structure MySQL de Nagios

Vous pouvez trouver dans le répertoire contrib/database/ du source Nagios la structure des tables MySQL pour Nagios.

Créer tout d'abord une base de donnée nagios et un utilisateur ayant les droits nécessaires sur cette base.

mysqladmin -u root -p create nagios

echo "GRANT ALL ON nagios.* TO nagiosuser@localhost IDENTIFIED BY 'motdepasse';" | mysql -u root -p mysql

echo "flush privileges;" | mysql -u root -p mysql


Importer ensuite la structure des tables dans la base nagios.

mysql -u root -p nagios < create_mysql

Installation des Plug-Ins Nagios

Télécharger les sources des plug-ins nagios à partir de http://www.nagios.org
Décompressez l'archive dans un répertoire de votre choix, par exemple :

cd /usr/local/sources/
tar -zxvf nagiosplug_version.tar.gz


Rendez-vous dans le répertoire source de nagios plug-ins.

cd nagiosplug_version

Pour compiler et installer les plug-ins Nagios, suiver les instructions suivantes :

./configure --prefix=/usr/nagios --infodir=/usr/share/infos --mandir=/usr/share/man --with-nagios-user=nagios --with-nagios-grp=apache --with-openssl

Les Plug-Ins qui vont être compilé, vont l'être par rapport aux "daemons" et logiciels installé sur votre machine (par exemple, samba, etc.). Si ses logiciels ne sont pas présent sur votre machine de monitoring, vous devrez installer les plug-ins sur les machines concernés.

Par exemple, vous aurez lors du lancement de la configuration, les messages d'erreurs suivant qui apparaîtront :

configure: warning: Skipping PostgreSQL plugin (check_pgsql)
configure: warning: Skipping radius plugin
** Tried /usr/bin/perl - install Net::SNMP perl module if you want to use the perl snmp plugins


A vous de choisir si votre machine de monitoring doit contenir toutes ses dépendances, ou si vous aller reconfigurer les plug-ins sur chaque machine.

Explication des options de compilation :

# with-openssl : Ajout du support openssl aux plug-ins

Après la configuration, effectuer :

make all
make install


Les plug-ins sont installés dans le répertoire libexec de nagios

Pour vérifier si les plug-ins sont opérationnels, tester en un.

Par exemple :

./check_mysql -u nagiosuser --password='motdepasse' -d nagios

Tester la possibilité de tous les plug-ins de nagios à votre guise.

Post-Installation de Nagios

Sous le répertoire /etc/nagios, vous pouvez retrouver tous les fichiers de configuration de Nagios.
Tous les fichiers ont une terminaison .sample qu'il va falloir renommer pour pouvoir les utilisés. Nous allons tous de même les garder en backup, au cas ou ...

for foo in *.cfg-sample; do cp $foo `echo $foo | sed -e s/cfg-sample/cfg/`; done;

Prochain article, la configuration de Nagios.


contentRight


valider