NAGIOS REMOTE PLUGIN EXECUTOR Tutoriel sur NRPE CAILLET Mélanie Session 2012-2014 Option SISR
SOMMAIRE I. NRPE (Nagios Remote Plugin Executor)... 2 II. Installation du plugin NRPE... 3 A. Sur Nagios... 3 B. Sur le système distant... 3 1. Configuration du NRPE... 4 C. Définitions des commandes & des hôtes... 5 D. Surveillance de la mémoire... 7 I. NRPE (Nagios Remote Plugin Executor) 2
Schéma représentant le fonctionnement du NRPE. II. Installation du plugin NRPE A. Sur Nagios Avant de faire une installation qui ne serait pas obligatoire, regarder dans les plugins de Nagios sur le plugin NRPE n est pas déjà installé. Sinon le paquet à installer est nagios-nrpe-plugin. Ce paquet est à installer sur la machine de supervision, soit sur le serveur où Nagios est installé. B. Sur le système distant Sur les machines à superviser, le paquet à installer sur chacune d entre elles est nagios-nrpe-server. Quelque explication sur le fonctionnement du NRPE : 3
Sur Nagios, la commande faite à partir du chekc_nrpe va communiquer avec ma machine à superviser. Le nrpe serveur de la machine linux cliente va interroger les plugins dont elle dispose & les informations vont être transmises au nrpe du serveur Nagios. 1. Configuration du NRPE Le fichier de configuration est nrpe.cfg. Il se situe dans /etc/nagios. Dans ce fichier de configuration, il faut renseigner l adresse IP du serveur Nagios pour que les informations puissent être envoyées. La ligne à modifier est allowed_hosts. UN PETIT PLUS : L installation de chkconfig. Ce paquet sert au démarrage automatique du paquet nagios-nrpe-server. Nous pouvons, ensuite, lancer la commande qui permet le démarrage de nagios-nrpe-server. Puis, on démarre le paquetage. Maintenant, nous effectuons une commande sur le serveur nagios concernant la check commande «check_nrpe». Voyons le résultat. Voici l analyse du résultat : 0.57 représente la charge moyenne de la dernière minute. 0.14 représente la charge moyenne des cinq dernières minutes. 0.05 représente la charge moyenne des quinze dernières minutes. Load1, load5 & load15 sont les détails des valeurs reçues dans le load average. A SAVOIR : si vous avez un load average supérieur à 1, cela signifie que votre machine est surchargée. Ensuite, on cherche à savoir qu elle est la version NRPE que nous avons sur notre serveur. Maintenant, penchons nous sur le fichier de configuration si situant dans «/etc/nagios». De nouvelles modifications vont être apportées. On peut voir qu il y a déjà des commandes prédéfinies telle que la check_load. La commande check_hda1 n est pas correcte. Remplacez plutôt hda1 par sda1 ainsi qu à la fin de cette même ligne. 4
On essaye la commande check_disk sur notre serveur. Voici le résultat obtenu : Le serveur nous dit que cette commande n est pas définie. Nous allons donc la rajouter dans le fichier de configuration, là ou se trouve déjà les autres commandes prédéfinies. On re-test la commande & voici ce qu on reçoit : On a bien l espace disque de la partition de sda1. Puis, nous envoyons les informations sur le serveur nagios. C. Définitions des commandes & des hôtes Dans le ficiher «check_nrpe.cfg» qui se situe dans /etc/nagios-plugins/config, on rajoute les commandes suivantes : 5
Maintenant, on définit les hôtes & leurs services : Explication : Le premier paragraphe est la définition de l hôte. On le définit en tant qu hôte générique (hôte lambda), son nom, son alias (souvent le même que son nom ou alors son service) & son adresse IP. Les paragraphes suivants sont les définitions des services, c est à dire, tout ce qu on voudra superviser sur notre serveur nagios. Tous les services importants à surveiller pour le bon fonctionnement du projet. On définit l utilisation du service, donc le service générique, le nom de la machine auquel appartient le service que l on définit, la description du service puis sa commande. ATTENTION! CHARQUE DÉFINITION D HÔTE OU DE SERVICE DOIT RESPECTER UNE SYNTAXE : Définition de l hôte : 6
Define host { Use Host_name Alias Address } Définition de service : Define service { use host_name service_description check_command } Lorsque l on retourne sur la machine XP qui nous sert pour observer le fonctionnement des machines serveurs, on voit les services que l on vient de définir ainsi que l hôte. Dans le fichier generic-service_nagios2.cfg, on modifie l intervalle de transmission de l information. Configuration de base Après modification D. Surveillance de la mémoire 7
On télécharge la check_command check_memory.pl. Elle permet la surveillance de la mémoire de la machine souhaitée. Une fois le fichier téléchargé, on le place dans /usr/lib/nagios/plugins/. (La capture ci-dessous est une récupération du fichier sur une machine Windows qui était configuré avec un FTP server, la machine linux s est connectée sur la machine XP & l a téléchargé.). Il faut lui donner l autorisation du droit d exécution avec la commande chmod +x check_memory.pl C est a faire dans le serveur nagios mais aussi sur le serveur linux à superviser. Explication des couleurs : Blanc : ce sont les fichiers qui ne sont pas exécutables. Vert : ce sont les fichiers qui on le droit en exécution. Bleu : lien symbolique donc un raccourci. Ce fichier est écrit en langage perl, il faut donc installer les paquetages pouvant lire le perl. 8
La syntaxe qui est utilisée pour le plugin est : Ensuite, on revient dans le fichier de configuration nrpe.cfg pour y ajouter la check commande concernant le check_memory. Voici le détail de la commande que l on définira pour l hôte en tant que service. Chez nous ce sera pour la machine Passfrw. Dans la capture ci-dessous, on observe bien les informations obtenues concernant la mémoire de la machine souhaitée. 9