Nagios : Installation de NRPE

NRPE est un méchanisme qui permet d’exécuter des commandes locales sur une machine « monitorée » et de récupérer et interpréter ces résultats à Nagios. Pour faire fonctionner ce système il faut installer le serveur NRPE sur la machine à monitorer et les plugins Nagios. Voici un schéma très simplifié de l’architecture de démonstration :

1. Installation sur la machine

[nice_info]Vous devez avoir d’installé les librairies suivantes :
build-essential (Pour compiler) et libssl-dev (Pour avoir le support SSL)
[/nice_info]
Nous allons télécharger les sources et les compiler afin de modifier quelques paramètres :

Vous devez télécharger NRPE et les Plugins Nagios :

wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.14/nagios-plugins-1.4.14.tar.gz

Les décompresser :

cd /usr/local/src/
tar zxf nrpe-2.12.tar.gz
tar zfx nagios-plugins-1.4.14.tar.gz

[nice_warning]La ligne suivante désactive l’utilisation de SSL suite à plusieurs problèmes remontés par d’autres administrateurs, si vous être un guerrier, configurer l’installeur en supprimant le paramètre –disable-ssl
[/nice_warning]

Compilation et installation de nrpe:

cd /usr/local/src/nrpe-2.12
./configure --disable-ssl --enable-command-args
make all && make install

Compilation et installation de nagios-plugins:

cd ../nagios-plugins-1.4.14/
./configure
make && make install

2. Configuration

Création du fichier de configuration de NRPE :

cp /usr/local/src/nrpe-2.12/sample-config/nrpe.cfg /usr/local/nagios/nrpe.cfg

Modifier le fichier suivant vos besoins (moi j’ai modifié les lignes pour le schéma au début de l’article):

# Adresse du serveur Nagios :
allowed_hosts=192.168.1.10
#Pour autoriser le passage d'arguments mettez cette variable à 1 :
dont_blame_nrpe=1

[nice_info]Debugging :
Pour activer le débogage mettez la variable debug à 1, les infos de débogage sont dans le fichier /var/log/syslog[/nice_info]

À la fin du fichier de configuration vous trouvez les commandes disponibles pour exécuter, celles que vous autorisez sont celles qui ne seront pas commentées, bien entendu vous pourrez ajouter vos propres scripts nagios dans le répertoire /usr/local/nagios/libexec/ :

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
 
# The following examples allow user-supplied arguments and can
# only be used if the NRPE daemon was compiled with support for
# command arguments *AND* the dont_blame_nrpe directive in this
# config file is set to '1'.  This poses a potential security risk, so
# make sure you read the SECURITY file before doing this.
 
#command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
#command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$
#command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
#command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

Suivant votre distribution, prenez le script init.d fourni dans le dossier /usr/src/nrpe-2.12/ : (moi j’ai pris celle correspondant à debian car … je tourne avec debian ^^) :

cp init-script.debian /etc/init.d/nrpe
chmod 755 /etc/init.d/nrpe

3. Lancement de NRPE

Maintenant que vous avez copié de script de lancement dans /etc/init.d/ tapez la commande :

/etc/init.d/nrpe start

[nice_info]La partie du client est terminée, attaquons-nous à l’installation de NRPE sur la machine de monitoring[/nice_info]

Vous devez télécharger, compiler et installer NRPE sur la machine de monitoring :

cd /usr/local/src/
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
tar zxf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --disable-ssl
make all && make install

Vous pouvez maintenant tester un script distant comme ceci :

./check_nrpe -H 192.168.1.11 -c check_disk -a 50 100 /dev/sda

[nice_info]Utilisation du script :
Usage: check_nrpe -H [-n] [-u] [-p
] [-t ] [-c ] [-a ]
Options:
-n = Do no use SSL
-u = Make socket timeouts return an UNKNOWN state instead of CRITICAL
= The address of the host running the NRPE daemon
[port] = The port on which the daemon is running (default=5666)
[timeout] = Number of seconds before connection times out (default=10)
[command] = The name of the command that the remote daemon should run
[arglist] = Optional arguments that should be passed to the command. Multiple
arguments should be separated by a space. If provided, this must be
the last option supplied on the command line.
[/nice_info]

Vous pouvez maintenant configurer vos scripts nagios 😉