Menu


Stacks Image 9724
Nous étudierons, dans cet article, l'installation du programme NRPE en mode démon (daemon). je vous propose l'installation sur un poller Centreon, nous verrons les différentes installations : protocole ssl ou non, passage des arguments ou non. L’exemple ci-dessous a été réactualisé avec la dernière installation de Centreon 3.4.
Stacks Image 35946
schéma de principe

1 Installation du daemon NRPE sur un hôte

Installez le paquets suivants
yum install centreon-nrpe-daemon

2 Configuration du daemon NRPE

Editez le fichier de configuration du démon nrpe.
vi /etc/nrpe/centreon-nrpe.cfg
Modifiez le paramètre only_from, ajoutez l'adresse IP de notre serveur de supervision.
allowed_hosts=127.0.0.1,172.16.209.230
Si vous utilisez des arguments dans votre commande, activez cette option.
dont_blame_nrpe=1
Redémarrez le service nrpe
service centreon-nrpe restart
Vérifiez le bon fonctionnement du daemon NRPE.
netstat -at | grep 5666
tcp        0      0 *:5666                      *:*                         LISTEN
tcp        0      0 *:5666                      *:*                         LISTEN

3 Vérification du fonctionnement

Stacks Image 1170855
Avertissement
Voici le message d'erreur reçu avec la version 2.15-3.el6 de centreon-nrpe-plugin
/usr/lib/nagios/plugins/check_centreon_nrpe -H 127.0.0.1
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

Le paramètre SIZE=8192 dans le script /etc/init.d/centreon-nrpe provoque cette erreur. En mettant le paramètre par défaut à 1024, vous n'avez plus ce message d'erreur. Sinon, il faudra mettre le même paramètre pour la commande check_centreon_nrpe.
Pour vérifier le fonctionnement de notre plugin, connectez-vous sur le serveur de supervision. Lancez la commande suivante :
/usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.230
NRPE v2.15

4 Test de fonctionnement

Stacks Image 1170858
Avertissement
Voici le message d'erreur reçu avec la version 2.15-3.el6 de centreon-nrpe-plugin lors de l'utilisation des commandes
/usr/lib/nagios/plugins/check_centreon_nrpe -H 127.0.0.1 -c check_load
NRPE: Unable to read output

Le problème vient des chemins erronés pour les alias dans le fichier de configuration /etc/nrpe/centreon-nrpe.cfg. Par exemple, il y a
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10

il faut
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10

Voici la copie d'écran du problème

pb_nrpe
Les commandes utilisées par NRPE sont enregistrées dans le fichier de configuration /etc/nrpe/centreon-nrpe.cfg. Les alias pré-configurés sont :
- check_users : vérification des utilisateurs connectés sur l'hôtes
- check_load : vérification de la charge de l'hôte
- check_hda1 : vérification du disque hda1 ( à configurer par rapport au matériel embarqué)
- check_zombie_procs : vérification du nombre de processus zombie
- check_total_procs : vérification du nombre de processus actifs.
Quatre autres commandes sont commentées, il s'agit de commandes utilisant des arguments. Si vous utilisez cette option, assurez-vous bien d'avoir une connexion TCP cryptée pour des raisons évidentes de sécurité. Nous verrons comment utiliser ces arguments. Pour l'instant, vous pouvez vérifier le fonctionnement du plugin NRPE sur le serveur de supervision.
check_users
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_users
UTILISATEURS OK - 2 utilisateurs actuellement connectés sur |users=2;5;10;0
check_load
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_load
OK - Charge moyenne: 0.03, 0.79, 0.71|load1=0.030;15.000;30.000;0; load5=0.790;10.000;25.000;0; load15=0.710;5.000;20.000;0;
check_zombie_procs
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_zombie_procs
PROCS OK: 0 processus avec ETAT = Z
check_total_procs
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_total_procs
PROCS OK: 117 processus

5 Configuration dans Centreon

5.1 Les templates de service

La configuration dans Centreon sera très simple. Nous utiliserons le template de base check_nrpe. Ensuite, il reste à réaliser les templates de service pour les commandes précédentes (check_users, check_load, check_zombie_procs, check_toatl_procs) avec la macro personnalisée $_SERVICECOMMAND$. Comme ces commandes n'ont pas besoin d'arguments supplémentaire, nous initialiserons la macro $_SERVICEARGUMENT$ par une valeur non significative. Astuce pour avoir la visualisation des templates de la même catégorie, nommez vos templates par le même préfixe comme ci-dessous : Modele_nrpe_users_linux, Modele_nrpe_load_linux, etc.
Stacks Image 36226
Exemple d'un template
Stacks Image 1170827
Templates de service
Centreon-Clapi

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_load_linux;LOAD_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_load_linux;COMMAND;check_load"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_load_linux;ARGUMENT;empty"

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_procs_linux;PROCS_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_procs_linux;COMMAND;check_total_procs"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_procs_linux;ARGUMENT;empty"

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_zombie_linux;ZOMBIE_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_zombie_linux;COMMAND;check_zombie_procs"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_zombie_linux;ARGUMENT;empty"

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_users_linux;USERS_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_users_linux;COMMAND;check_users"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_users_linux;ARGUMENT;empty"

5.2 Le template d'hôte

Ces quatre templates de service seront associés au modèle d'hôte OS-Linux-Nrpe.
Stacks Image 36263
Template d'hôte OS-Linux-Nrpe
Centreon-Clapi

centreon -u admin -p password  -o HTPL -a add -v "OS-Linux-Nrpe;Modele_OS_Linux_Nrpe;;generic-active-host-custom;Central;"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_users_linux;OS-Linux-Nrpe"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_load_linux;OS-Linux-Nrpe"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_zombie_linux;OS-Linux-Nrpe"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_procs_linux;OS-Linux-Nrpe"

6 Résultats dans l’interface de Centreon

On applique ce template à notre hôte linux. Et voici le résultat :
Stacks Image 36300
Les plugins en mode de fonctionnement

7 Utilisation des arguments avec NRPE

7.1 Configuration de la configuration sur l'hôte

Editez le fichier /etc/nrpe/centreon-nrpe.cfg. Vérifiez la ligne suivante et décommentez l'alias check_disk
dont_blame_nrpe=1
.......
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
Redémarrez le service nrpe
service centreon-nrpe restart
Nous pouvons vérifier le fonctionnement du daemon NRPE en lançant la commande suivante depuis le serveur de supervision.
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_disk -a 80 90 /var
DISK OK - free space: / 14468 MB (86% inode=94%);| /=2212MB;17501;17491;0;17581
Dans un précédent article, j'avais indiqué qu'il fallait protéger par double-quotes les arguments pour le fonctionnement dans Centreon. Mais ce n'est pas suffisant, comme vous pouvez le constater il manque une valeur max dans les données de performances.
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_disk -a "80 90 /var"
DISK OK - free space: / 14468 MB (86% inode=94%);| /=2212MB;17501;;0;17581
Les arguments peuvent être protégés par 2 double-quotes comme l'exemple ci-dessous (fonctionnement dans Centreon) :
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_disk -a ""80 90 /var""
DISK OK - free space: / 14468 MB (86% inode=94%);| /=2212MB;17501;17491;0;17581
Autre exemple :
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_load -a 15,10,5 30,25,20
OK - Charge moyenne: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_load -a "15,10,5 30,25,20"
Utilisation:
check_load [-r] -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
[root@centreon35 plugins]# /usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233 -c check_load -a ""15,10,5 30,25,20""
OK - Charge moyenne: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
Merci à Daman pour sa remarque judicieuse 👍

7.2 Configuration dans Centreon

7.2.a Les templates de service

Nous devrons créer un template de service pour chaque système de fichiers comme l'exemple ci-dessous. Par contre, il sera basé sur le template Model_NRPE en prenant en compte les arguments.
Stacks Image 36459
Templates de service pour l'alias check_disk
Faites de même pour tout les systèmes de fichiers : /, /home, /tmp etc. Il faudra les associer au template d'hôte OS-Linux-Nrpe.
Centreon-Clapi

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_var_linux;VAR_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_var_linux;COMMAND;check_disk"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_var_linux;ARGUMENT;90 80 /var"
centreon -u admin -p password -o STPL -a setparam -v "Modele_nrpe_var_linux;graph;Traffic"

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_root_linux;ROOT_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_root_linux;COMMAND;check_disk"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_root_linux;ARGUMENT;90 80 /"

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_home_linux;HOME_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_home_linux;COMMAND;check_disk"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_home_linux;ARGUMENT;90 80 /home"

centreon -u admin -p password -o STPL -a add -v "Modele_nrpe_tmp_linux;TMP_linux;Modele_NRPE"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_tmp_linux;COMMAND;check_disk"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_tmp_linux;ARGUMENT;90 80 /tmp"

centreon -u admin -p password  -o STPL -a addhost -v "Modele_nrpe_var_linux;OS-Linux-Nrpe"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_root_linux;OS-Linux-Nrpe"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_home_linux;OS-Linux-Nrpe"
centreon -u admin -p password -o STPL -a addhost -v "Modele_nrpe_tmp_linux;OS-Linux-Nrpe"

7.2.b Vérifications et résultats

On applique de nouveau la configuration à l'hôte et on admire le résultat :-)
Stacks Image 36488
Les plugins avec arguments ont été rajoutés

7.2.b Amélioration des graphes

Les valeurs des disques renvoyées par les données de performances ne sont pas satisfaisantes et les valeurs Critical et Warning ne correspond pas à ce que nous souhaiterions. Exemple du système de fichier /tmp qui est de 975 Mo. la valeur Warning devrait être à 780 Mo et la valeur Critical à 877 Mo. Et si vous prenez le système de fichier /var, vous avez une échelle de valeur complètement erroné (au lieu de 2 Go vous avez 2.00k )
Stacks Image 1170852
Il s'agit d'une mauvaise utilisation du plugin check_disk. Nous allons plutôt utiliser les pourcentages d'utilisation des espaces mais il faudra inverser les valeurs :
Warning : nous utiliserons 20% au lieu de 80,
Critical : nous utiliserons 10% au lieu de 90.
Et pour finir nous utiliserons l'option k pour afficher en kilobytes pour être conforme à l'utilisation des graphes avec centreon.
Modifier les templates comme ceci :
centreon -u admin -p password -o STPL -a setmacro -v "Modele_nrpe_var_linux;ARGUMENT;10% 20% /var"
et l'alias check_disk comme ceci :
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ -k
N'oubliez pas de redémarrer centreon-nrpe et voici le résultat pour le système de fichier /tmp.
Stacks Image 1170871
comments powered by Disqus