Nagios : Surveiller le Numfile sur serveurs virtuels VPS

Les serveurs virtuels bas de gamme sont souvent très justes niveau perfs, alors quand on leur ajoute de base Plesk. Le nombre de fichiers ouverts par le système explose assez rapidement jusqu’à planter le serveur…
J’ai codé vite fait un petit script à partir d’un autre en perl qui permet de relever le nombre de fichiers ouverts et la limite hard critique afin d’alerter en cas d’approche critique.

La mise en place du script nécessite quelques modifications système car le fichier /proc/user_beancounters n’est pas accessible à Nagios par défaut.

Cet aide mémoire est rédigé pour Centos

1 – Récupérer le script Check_Numfile.pl et l’installer

Comme je suis gentil, je vous donne mon script, libre à vous de le modifier si besoin de surveiller une autre valeur que Numfile : Télécharger check_numfile.pl

cd /usr/lib64/nagios/plugins
wget http://rrr.favrat.net/DEMOS/DL/check_numfile.pl.zip
unzip check_numfile.pl.zip
chmod +s check_numfile.pl
yum install perl-suidperl

2 – Test et correction

Pour tester le script, donnez le droit de se logger à l’utilisateur nagios :
Editer le fichier /etc/htpasswd et supprimer “:/sbin/nologin” à l’utilisateur nagios
Ensuite pour se connecter sous le compte nagios executer su – nagios

NOTE : Ne pas oublier de supprimer le droit de se logger à nagios une fois le script testé !

On teste ensuite le script :

/usr/lib64/nagios/plugins/check_numfile.pl -c 5% -w 10%

Si tout se passe bien vous devriez avoir un retour de ce type :

CHECK_NUMFILE OK - Fichiers ouverts : 2339 / Reste : 1757 / Limite : 4096 ( w:409.6: / c:204.8: / 5726 ) | OpenFiles=2339;409.6:;204.8:

Si le srcipt retourne une erreur il faut alors supprimer le module Validate de Perl

On cherche le module Validate :

find /usr/lib{,64}/perl5 -name Validate.so

Une fois trouvé l’emplacement on renome le dossier Validate contenant le module Validate.so :

mv /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Params/Validate /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Params/Validate-OLD

Ensuite il suffit d’intégrer ce plugin avec NRPE 🙂 et vous aurez ce genre de remontées dans Nagios :

Sinon il y a aussi...