Voici un petit billet de plus sur Nagios. Nous aborderons le sujet de la supervision à distance de la mémoire vive (RAM) de nos serveurs.
Nous allons pour cela utiliser deux plugins, le premier est NRPE (il permet de lancer des commandes à distance sur d’autres machines), le second est un script permettant d’obtenir un état de la mémoire vive à un instant “t”.
Nous utiliserons donc le schéma suivant:
Installation de NRPE
Ce premier plugin doit être installé sur le serveur Nagios et sur toutes les machines à superviser.
Pour une procédure d’installation sous GNU/Linux, lire ce billet. Si vous voulez surveiller des machines FreeBSD, lire celui là.
A ce stade vous devez donc avoir un plugin NRPE opérationnel entre votre serveur Nagios et les machines à surveiller.
Installation du plugin de supervision de la mémoire
Il existe un grand nombre de méthodes pour obtenir la mémoire libre sur une machine. Personnellement j’utilise les deux scripts suivants selon que je sois:
- sous Linux: check_memory
- ou sous FreeBSD: check_mem
Mais, si le coeur vous en dit, vous pouvez écrire vous-même le plugin le plus adapté à votre système (Windows, Unix divers et varié…).
Une fois connecté sur votre machine à superviser, il faut mettre le plugin dans le répertoire /usr/local/libexec/nagios/ et lui donner les droits en lecture et exécution:
cp ./check_memory.pl /usr/local/libexec/nagios/
chmod 555 /usr/local/libexec/nagios/check_memory.pl
Vous pouvez tester localement le plugin grâce la commande suivante:
/usr/local/libexec/nagios/check_memory.pl -f -w 90 -c 50
Memory WARNING - 87.5% (1879588864 kB) free |pct=87.5
Configuration de NRPE pour prendre en compte le script check_memory
Toujours sur la machine cible, il faut éditer le fichier de configuration de NRPE pour y ajouter la définition du plugin check_memory:
vi /usr/local/etc/nrpe.cfg
…
command[check_mem]=/usr/local/libexec/nagios/check_memory.pl -f -w 30 -c 15
…
Dans la configuration ci-dessus, on demande à check_memory de déclencher une alerte (warning) si la mémoire passe en dessous des 30% et une erreur (critical) si elle descend en dessous des 15%. Avous d’adpater ces valeurs selon vos besoins.
Pour que NRPE prenne en compte la nouvelle configuration il faut relancer le daemon:
Sous Linux:
service nrpe2 restart
ou
/etc/init.d/nrpe2 restart
Sous FreeBSD:
/usr/local/etc/rc.d/nrpe2 restart
Configuration du serveur Nagios
Il ne reste plus qu’à modifier la configuration du serveur Nagios pour ajouter le service à superviser, voici un exemple:
# Mon serveur
define host{
use generic-host
host_name monserveur
alias Mon beau serveur
address 192.168.0.200
}
define service{
use generic-service
host_name monserveur
service_description Memoire vive
check_command check_nrpe!check_mem
}
Et voila le résultat: