Compilation Installation et Configuration de l'addon Nagios : NRPE

nrpe nagios jpg

Très utilisée cette petite bête :)

NRPE (Nagios Remote Plugin Executor) est un Addons pour Nagios qui permet d'exécuter des plugins sur un serveur Linux/Unix distant. Cela permet de monitorer des ressources locales (Charge du processeur, utilisation de la mémoire, espace disque...etc...) qui ne sont normalement pas disponibles depuis d'autres machines.

Afin d'interroger un client NRPE il faut utiliser le plugin "check_nrpe" sur le serveur Nagios, et c'est ce que nous allons voir.

Petit schéma explicatif :

schema nrpe png

Pré-requis :

Avant ces deux compilations (nrpe et les plugins check) il vous faudra créer l'utilisateur Nagios :

adduser nagios -s /sbin/nologin

Sinon vous rencontrerez des erreurs lors du make install.

Vous aurez aussi besoin du paquet de développement de SSL :

yum install openssl-devel
ou
aptitude install libssl-dev

Téléchargement :

Rendez vous à cette url : http://www.nagios.org/download/addons/

cd /opt/SOURCES
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz?use_mirror=ignum
wget http://heanet.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
mkdir /opt/nrpe212
ln -s /opt/nrpe212/ /opt/nrpe

Compilation de Nrpe :

cd /opt/SOURCES/nrpe-2.12
./configure --prefix=/opt/nrpe/
make
make install

Configuration :

Copier le script d'init qui se trouve dans les sources :

#Redhat & Centos :
cp -a init-script /etc/init.d/nrpe
#Debian & Ubuntu :
cp -a init-script.debian /etc/init.d/nrpe

Pensez à le modifier pour qu'il colle à votre installation :

vi /etc/init.d/nrpe
chkconfig --add nrpe
chkconfig --level 35 nrpe on
chmod 755 /etc/init.d/nrpe

Fichier de configuration :

cp -a /opt/SOURCES/nrpe-2.12/

Compilation de Plugins Nagios :

cd /opt/SOURCES/nagios-plugins-1.4.13
./configure --prefix=/opt/nrpe
make
make install

Ici pas de configuration spécifique.

Installation :

Copie du fichier de configuration :

mkdir /opt/nrpe/etc
cp -a /opt/SOURCES/nrpe-2.12/sample-config/nrpe.cfg /opt/nrpe/etc/

Modification des droits :

chown -R nagios: /opt/nrpe212

Fichier nrpe.cfg :

  • <user> : utilisateur exécutant le serveur nrpe ( ex :nagios )
  • <nrpebin> : chemin du serveur nrpe (ex : /home/nagios/nrpe )
  • <nrpecfg> : chemin du fichier de config du serveur nrpe (ex : /home/nagios/nrpe.cfg )
  • <ipaddressx> : liste des adresse autorisé à ce connecter ( ex : ip de votre serveur nagios )

Démarrer Nrpe :

#Redhat & Centos
service nrpe start
ou
# Debian & Ubuntu
Invoke-rc.d nrpe start

Vérifiez qu'il se soit bien lancé :

netstat -ntlp | grep nrpe

qui devrait vous donner :

tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      16328/nrpe

Configuration dans Nagios :

Version 3.2.1

Il faudra installer nrpe aussi sur votre serveur Nagios, le compiler comme plus haut dans ce billet.

Une fois fait vous vous retrouverez avec le fichier check_nrpe dans : /checmin/nagios/libexec/ selon votre installation.

Premier petit test sur votre serveur Nagios :

nagios/libexec 4$ ./check_nrpe -H ip-client-nrpe
NRPE v2.12

Pour valider le bon fonctionnement il faut que cette commande vous renvoi la version de votre client Nrpe.

Deuxième test sur votre serveur Nagios :

Dans votre fichier nrpe.cfg sur votre serveur client vous dévirez avoir quelque chose comme :

# The following examples use hardcoded command arguments...

command[check_users]=/opt/nrpe/libexec/check_users -w 5 -c 10
command[check_load]=/opt/nrpe/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda1]=/opt/nrpe/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_sda3]=/opt/nrpe/libexec/check_disk -w 20% -c 10% -p /dev/sda3
command[check_zombie_procs]=/opt/nrpe/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/opt/nrpe/libexec/check_procs -w 150 -c 200

Sur votre serveur nagios voici les tests que vous pouvez effectuer : (prenez bien le nom entre crochet du fichier nrpe.cfg) :

./check_nrpe -H ip-serveur-client  -c check_load
OK - Charge moyenne: 0.17, 0.18, 0.22|load1=0.170;15.000;30.000;0; load5=0.180;10.000;25.000;0; load15=0.220;5.000;20.000;0;

./chepe -H ip-serveur-client -c check_total_procs
PROCS OK: 148 processus

etc....

Maintenant plus qu'a modifier sur votre serveur Nagios une dernière fois : le fichier services.cfg pour certain même si chez moi il n'existe pas Oo ou le fichier nom-serveur-client.cfg :

    # Charge CPU
    define service{
    use generic-service
    host_name remotehost
    service_description CPU Load
    check_command check_nrpe!check_load
    }

    # Memoire
    define service{
    use generic-service
    host_name remotehost
    service_description Memory
    check_command check_nrpe!check_mem
    }

Redémarrez Nrpe sur le serveur client et le tour est joué !

Vus : 501
Publié par System Linux : 211