Nagios & NRPE : Surveiller l’utilisation de la mémoire

J’ai récemment suivi le Tuto du bien connu dans ce domaine Nicolargo.
Je ne vais donc pas m’attarder sur l’installation de Nagios qu’il explique très bien mais plus sur un problème que j’ai rencontré en espérant pouvoir aider d’autres personnes qui se retrouveront peut-être dans le même cas que moi.

1 – Installation de NRPE sur le serveur (CentOS chez 1and1 dans mon cas)

Donc voici un copié/collé du blog de Nicolargo concernant l’installation serveur et client de NRPE (afin de ne pas vous faire jongler entre les 2 blogs)

sudo yum install nagios-plugins-nrpe

Il faudra contrôler que les lignes suivantes sont bien présentes dans le fichier “/usr/local/nagios/etc/objects/commands.cfg” (dans mon cas elles n’y étaient pas)

######
# NRPE
######
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

C’est là que ça a coincé sur mon installation, c’est que l’installation du plugin NRPE s’effectue dans “/usr/lib64/nagios/plugins/” or tous les plugins de mon installation de nagios depuis les sources sont dans “/usr/local/nagios/libexec/”…

Ce qui a eu pour effet de me retourner l’erreur suivante : “Return code of 127 is out of bounds – plugin may be missing” car il ne trouvait pas le plugin NRPE dans libexec

J’ai donc tout implement copié le plugin dans le bon dossier :

sudo cp /usr/lib64/nagios/plugins/check_nrpe /usr/local/nagios/libexec/

2 – Installer La partie cliente sur le serveur à surveiller

Sur Ubuntu :

sudo apt-get install nagios-nrpe-server
sudo apt-get install nagios-plugins //Normalement ils seront installés en même temps que NRPE-server

Sur CentOS :

Utilisation du repo EPEL (en root) :

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

Installation :

sudo yum install nrpe
sudo yum install nagios-plugins-all

Ensuite éditer le fichier /etc/nagios/nrpe.cfg pour renseigner l’IP de votre serveur Nagios et l’autoriser à accéder au service NRPE :

allowed_hosts = Mettre ici l'adresse IP de votre serveur Nagios

(Jusqu’ici rien de différent par rapport à l’installation décrite chez Nicolargo)

3 – Installer le script de surveillance de la mémoire

On commence par récupérer le script et le copier avec les autres plugins :

Une petite recherche sur le site http://exchange.nagios.org sur le mot clé check_mem vous permettra de trouver le script perl qui permet de surveiller la mémoire de votre client.

J’ai juste modifié la fin du script pour retourner un affichage plus complet car par défaut il n’affiche que la mémoire libre. [Script check_mem Modifié par moi-même]

Donc une fois que vous aurez copié ce script dans votre réperoire de plugins nagios : /usr/lib/nagios/plugins, rendez-le executable :

sudo chmod +x /usr/lib/nagios/plugins/check_memory.pl

Puis testez-le :

cd /usr/lib/nagios/plugins
sudo ./check_memory.pl

Si vous êtes dans le même cas que moi, vous aurez un message d’erreur car il manque Nagios::Plugin

Pour l’installer sur ubuntu :

sudo apt-get install libnagios-plugin-perl

Pour l’installer sur CentOS (un peu plus compliqué car à la mano, suivre les instructions) :

perl -MCPAN -e 'install Nagios::Plugin'

Une fois l’installation terminée, testez à nouveau le script perl :

sudo ./check_memory.pl
#CHECK_MEMORY OK - Free : 520M / Used : 454M / Total : 974M | free=545787904b;;

Si tout s’est bien passé, il vous aura retourné les informations sur la mémoire

On renseigne maintenant le fichier /etc/nagios/nrpe.cfg pour y intégrer ce plugin :

//Ajouter ce plugin avec les autres déjà renseignés :
command[check_mem]=/usr/lib64/nagios/plugins/check_memory.pl -w 100: -c 1%

4 – Vous pouvez donc démarrer le service NRPE

Sur Ubuntu :

sudo /etc/init.d/nagios-nrpe-server start

Sur Centos :

sudo services nrpe start

5 – Ajouter NRPE en démarrage automatique

Avec chkconfig, regardez si NRPE est planifié au démarrage :

# sudo chkconfig --list
...
nrpe           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
...

Clairement non…

On ajoute alors le service au démarrage

sudo chkconfig --levels 345 nrpe on

On liste les préférences de démarrage pour être sur :

# sudo chkconfig --list
...
nrpe           	0:off	1:off	2:off	3:on	4:on	5:on	6:off
...

Voilà tout devrait maintenant parfaitement remonter sur votre serveur Nagios via NRPE

Sinon il y a aussi...