Vous êtes ici:

Menu


Stacks Image 9724
NRPE (Nagios Remote Plugin Executor) est à la fois un agent de supervision et un protocole de communication sécurisé (ou non si ssl est désactivé). Il permet l'exécution de sonde (plugin) sur un hôte distant. Cela réduit la charge sur le serveur de supervision car l'exécution de la sonde se réalise sur 'hôte distant. On peut aussi exécuter une sonde sur l'hôte distant pour superviser un hôte distant différent. Cette autre solution peut être intéressante pour des petites infrastructures éloignées et éviter l'installation d'un poller.
Il faut bien comprendre le fonctionnement de l'agent NRPE :
- NRPE installé sur le serveur de supervision fonctionne comme une sonde, envoie les commandes de sonde à exécuter et reçoit les informations en retour.
- NRPE installé sur l'hôte distant fonctionne en daemon et attends les instructions du serveur de supervision, exécute la sonde quand on lui donne l'ordre et renvoie les informations au serveur de supervision.
Le protocole de communication NRPE est le 5666 par défaut.
Nous avons deux installations distinctes à réaliser en fonction du rôle de la machine : supervision ou hôte. L’exemple ci-dessous a été réactualisé avec la dernière installation de Centreon 3.4.6
Il existe deux versions de NRPE actuellement : la version 2 et la version 3. Voici les améliorations de la version 3 :
  • Augmentation de la taille du buffer retournant les information à 64 Ko. la version précédente était limité par défaut à 1 Ko mais configurable avec l'option m.
  • Amélioration de la sécurité SSL avec un chiffrage à 2048 bits et possibilité d'utiliser des certificats.
Il est certain qu'il faut privilégier la version 3 mais j'ai laissé la version 2 dans mes articles car elle est encore très utilisée.
Stacks Image 19246
schéma de principe

1 - Version 3

Nous commencerons par l'installation la plus facile, le démon NRPE étant installé sur un serveur poller. Nous installerons seulement le client NRPE sur le Central.
yum install centreon-nrpe3-plugin

1.2 Vérification du fonctionnement

Pour vérifier le fonctionnement de notre plugin, nous pouvons, par exemple, utilisez un poller Centreon avec NRPE installé en daemon.
/usr/lib/centreon/plugins/check_centreon_nrpe3 -H 192.168.0.133
NRPE v3.2.0
Un autre exemple, utilisez un serveur Windows avec comme agent nsclient++
/usr/lib/centreon/plugins/check_centreon_nrpe3 -H 192.168.0.175
I (0.5.1.46 2017-09-24) seem to be doing fine...

1.3 Configuration du plugin dans Centreon

Nous utiliserons les plugins Centreon pour réaliser notre supervision et nous baserons sur les bonnes pratiques de Centreon (command -> template de service -> template d'hôte). Le plugin pack base-generic doit être installé. le serveur cible sera équipé d'un démon nrpe avec les plugins Centreon. Nous verrons l'installation dans l'article suivant.Pour configurer notre sonde (plugin), nous aurons besoin d'une commande. Sélectionnez Configuration -> Commands -> Checks
Stacks Image 1170839
la commande check_nrpe3
$CENTREONPLUGINS$/check_centreon_nrpe3 -H $HOSTADDRESS$ -p $_HOSTNRPEPORT$ -c $_SERVICECOMMAND$ -a '$_SERVICEPLUGINS$' '$_SERVICEMODE$' '--warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$'
Notez la macro d'hôte $_HOSTNRPEPORT$ c'est le port utilisé par nrpe, elle ne sera renseignée seulement à la création de l'hôte.

1.3b Le template de service pour vérifier le cpu

Nous utiliserons la commande pour créer un template de service. La bonne pratique est de créer un template par type de vérification (Cpu, Mémoire, swap, etc). Pour l'exemple, nous créons un template de service pour le Cpu.
Stacks Image 1170846
le template de service OS-Linux-Cpu-NRPE3
Le template sera basé sur le template generic-active-service-custom des plugins pack. La valeur de la macro COMMAND sera expliquée dans le prochain article. Nous utiliserons le plugin os::linux::local::plugin et le mode cpu.

1.3c Le template d'hôte pour superviser un hôte avec NRPE3

Nous pouvons maintenant créer notre template d'hôtes qui servira aux machines Linux équipées du démon Nrpe. Il sera basé sur le template d'hôte generis-active-host-custom. Celui-ci ajoutera automatiquement un service ping lors de la création d'un hôte.
Stacks Image 1170851
le template d'hôte OS-Linux-NRPE3
Dans l'onglet relation de notre template d'hôte, réalisons une relation avec notre template de service précédent. Vous pouvez ajoutez autant de templates que vous avez besoin.
Stacks Image 1170854
le template d'hôte OS-Linux-NRPE3 avec les relations de templates de service

1.3d Configuration d'un hôte

Nous arrivons à la création de l'hôte. Ajoutons notre hôte test-nrpe3 et le template d'hôte OS-Linux-NRPE3. Nous devrons renseigner la macro NRPEPORT, par défaut nous indiquerons 5666.
Stacks Image 1170861
Création de l'hôte
Après la sauvegarde de notre hôte, nous pouvons vérifier la création des services de notre hôte.
Stacks Image 1170864
Application des services

1.3e Exemple de supervision de l'hôte

Après application de la configuration, notre hôte est supervisé.
Stacks Image 1170867
Vérification du fonctionnement
Pour l'installation du démon NRPE3, vous pouvez continuer avec l'article suivant DAEMON NRPE CENTREON

2 - Version 2

2.1 Installation de l'agent NRPE sur un central

Nous commencerons par l'installation la plus facile, le démon NRPE étant installé sur un serveur poller. Nous installerons seulement le client NRPE sur le Central.
yum install centreon-nrpe-plugin

2.2 Vérification du fonctionnement

Pour vérifier le fonctionnement de notre plugin, nous pouvons, par exemple, utilisez un poller Centreon avec NRPE installé en daemon.
/usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.233
NRPE v2.15
Un autre exemple, utilisez un serveur Windows avec comme agent nsclient++
/usr/lib/nagios/plugins/check_centreon_nrpe -H 172.16.209.204
I (0,4,1,105 2014-04-28) seem to be doing fine...
Si vous avez déjà installé un agent NSClient++ avec l'option NRPE, vous pouvez vérifiez le bon fonctionnement avec la commande suivante. Sinon, je vous invite à lire l'article sur l'agent NSCLient++.
/usr/local/plugins/libexec/check_centreon_nrpe -H 172.16.209.214 -c "alias_cpu"
OK CPU Load ok.|'5m'=0%;80;90 '1m'=0%;80;90 '30s'=0%;80;90
Si votre agent NRPE distant n'est pas sécurisé, ce qui n'est pas une bonne solution, vous avez la possibilité de lancer la commande sans cryptage avec l'option n.
/usr/local/plugins/libexec/check_centreon_nrpe -H 172.16.209.214 -n -c "alias_cpu"
OK CPU Load ok.|'5m'=0%;80;90 '1m'=0%;80;90 '30s'=0%;80;90

2.3 Configuration du plugin dans Centreon

Pour configurer notre sonde (plugin), nous aurons besoin d'une commande.
 

2.3a La commande check_nrpe

Stacks Image 19497
la commande check_nrpe
$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -p $_SERVICEPORT$ -c $_SERVICECOMMAND$ -a ""$_SERVICEARGUMENT$""
La macro $_SERVICEPORT$ étant obligatoire, nous devrons créer un template de base avec le port 5666 par défaut. Si vous ne voulez pas de template de base supprimer le paramètre -p et sa macro associée. La macro $_SERVICEARGUMENT$ est protégé par 2 double-quotes. Pour utiliser cette commande de vérification sans utiliser les arguments -a, nous devrons absolument mettre une valeur non significative sinon le moteur de supervision nous retournera une erreur.
Centreon-Clapi

centreon -u admin -p password -o CMD -a ADD -v 'check_nrpe;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -p $_SERVICEPORT$ -c $_SERVICECOMMAND$ -a ""$_SERVICEARGUMENT$""'

2.3b Le template de base pour check_nrpe

Stacks Image 19662
le template NRPE
Ce template de base nous évite de saisir le numéro de port 5666 par défaut. Il sera possible de le surcharger avec un numéro de port spécifique pour un service particulier.
Centreon-Clapi

centreon -u admin -p password -o STPL -a add -v "Modele_NRPE;NRPE;generic-active-service-custom"
centreon -u admin -p password -o STPL -a setparam -v "Modele_NRPE;check_command;check_nrpe"
centreon -u admin -p password -o STPL -a setmacro -v "Modele_NRPE;PORT;5666"
Pour superviser une machine Windows avec NSClient ++, je vous conseille de lire l'article suivant. Sinon vous pouvez continuer avec le mode démon NRPE.
comments powered by Disqus
 Vous êtes ici: