
Nagios – Suivi avec NRPE
Puits, Puits… Mettons un peu plus de txitxa dans nos Nagios, Centreon ou tout ce que nous avons obtenu, Nous allons continuer avec quelque chose de très intéressant pour ceux qui veulent surveiller des articles plus avancés! Nous utiliserons un petit agent qui sera installé sur des ordinateurs Windows ou Linux distants, Pour quoi? Eh bien, entre autres, pour exécuter des scripts sur ces ordinateurs. Nous pouvons exécuter n’importe quel script PowerShell, Lot, VBScript, Perl… puis lire le résultat de la commande et en discuter avec Nagios!
Nagios Remote Plugin Executor (Le) il fonctionnera en tant que service ou démon sur les machines à surveiller et sera à l’écoute de sorte que depuis Nagios, avec la commande 'check_nrpe', Nous vous adressons des demandes. Dans d’autres documents futurs, nous verrons d’autres types d’agents, Aujourd’hui, il est temps de parler (Pour moi) des meilleurs!
Installation check_nrpe,
Nous avons commencé par télécharger et compiler 'check_nrpe', Nous avons préalablement installé les exigences, Voici les étapes suivies, À la fin, nous déplaçons le binaire sur le chemin des plugins et le testons!
[Code source]
Yum Install -y GCC GLIBC GLIB-Common OpenSSL-Devel Perl WGET Git
cd /usr/src/
git clone https://github.com/NagiosEnterprises/nrpe
CD nrpe/
./Poser
Tout faire
cp src/check_nrpe /usr/lib/nagios/plugins/
cd /usr/lib/nagios/plugins/
./check_nrpe[/Code source]
Installation de l’agent,
Pas mal, pour cela, nous utiliserons NSClient++, le téléchargé à partir de leur site Web, et en principe, nous utiliserons la dernière version, dans cet exemple, nous allons utiliser le binaire Windows x64.
Nous commençons l’installation de NSClient, “Prochain”,
Nous sélectionnons 'Générique', “Prochain”,
Regardons l’option “Coutume”,
Et nous sélectionnons les plugins qui nous intéressent, Je vais tous les marquer, Pourquoi je vais les utiliser dans d’autres exemples, dans ce cas, il suffirait de marquer NRPE Support.
Il nous indique le fichier INI que nous allons utiliser pour appliquer la configuration, “Prochain”,
Il faudra ajouter l’adresse IP de la machine Nagios ou Centreon qui exécutera les requêtes, ainsi que de check_nt permettre si nous sommes intéressés, ce que je suis sûr de faire, Vous verrez =), nous sélectionnons également le mode de sécurité NRPE, dans ce cas, je n’utiliserai pas de mot de passe lors de l’utilisation du mode non sécurisé, dans un environnement d’entreprise, Au moins, nous sélectionnerons un mode sans échec. “Prochain”,
Pas mal, Pressé “Installer” pour installer ce petit agent…
… Attendez quelques secondes…
Et c’est tout, “Finir”.
Il ne reste plus qu’à exécuter une commande de notre équipe Nagios pour tester s’il y a de la connectivité, Un exemple très simple serait le suivant:
[Code source]
./check_nrpe -H IP_EQUIPO_REMOTO -C check_uptime
[/Code source]
Si nous voyons qu’il se connecte et nous dit depuis combien de temps cette machine est en marche, Nous pouvons commencer!! Il ne reste plus qu’à alimenter les machines Windows ou Linux avec des scripts et exécuter ce que nous voulons à distance, Dans de futurs documents, je donnerai des exemples intéressants, Mais nous devrons d’abord suivre ce document.
Créer la commande dans Centreon,
Il reste donc à enregistrer la Commande que nous utiliserons lorsque nous créerons les Services qui nous intéressent et qui surveillent les ordinateurs distants. Nous allons “Configuration” > “Commandes” > “Ajouter” et créez la commande suivante:
- Nom de la commande: Nous donnons un nom à la commande, Pour l’associer, il est préférable de le mettre de la même manière que le nom du script qu’il exécute., Dans ce cas, 'check_nrpe'.
- Type de commande: Sélectionnez « Vérifier »..
- Ligne de commande: Comme d'habitude, nous indiquons ce que Centreon ou Nagios va réellement exécuter lorsque vous appelez cette commande, Cela ressemblerait à quelque chose comme: '/usr/lib/nagios/plugins/check_nrpe -H IP_EQUIPO_REMOTO -c $ARG 1$ -t 30'.
Dans ce cas, Si nous regardons, J’ajoute un délai d’attente à la commande à la fin de 30 Secondes, car peut-être que certaines commandes que nous exécutons à distance prendront un certain temps, ne? Puits, chacun comme il le souhaite, Cliquez sur “Décrire les arguments” et nous avons défini l’argument que nous avons mis en place pour que lorsque nous créons le Service, nous nous souvenions de ce qui doit être rempli; qui sera le check/command que nous définissons dans le nsclient.ini. Nous verrons des exemples dans de futurs documents.
Exemple de script dans nsclient.ini
L’opération serait la suivante, sur la machine distante sur laquelle nous avons installé le NSClient, Nous aurons le fichier de configuration 'nsclient.ini', Que nous devrons y aller (Je) en ajoutant les scripts qu’il exécutera, et (Ii) Ajout des alias qui font référence au script. Exemple:
[Code source]
[/paramètres/scripts externes/scripts]
comando_bat = scripts\archivo.bat
[/paramètres/scripts externes/alias]
alias_bat = comando_bat
[/Code source]
Dernier, nous devons copier le script PowerShell, vbScript, Java, lot… que nous avons dans le dossier 'scripts'’ par NSClient. Chaque fois que nous modifions le fichier de configuration 'nsclient.ini’ nous devrons redémarrer le service Windows “NSClient++” pour recharger la configuration et nous pouvons appeler ce script depuis le Nagios distant, dans l’exemple ci-dessus avec:
[Code source]
./check_nrpe -H IP_EQUIPO_REMOTO -C alias_bat
[/Code source]
Utilisation d’arguments,
Imaginons alors, C’est ce que nous allons exécuter, le script côté Windows/Linux, nécessite des arguments, et nous voulons vous les transmettre depuis la machine Nagios. À titre d’exemple facile à comprendre, On pense à un script qui surveille les sauvegardes, D’accord? Soit par PowerShell ou autre. Et à ce script, je vais passer en argument le nom de la tâche de sauvegarde, Oui? Si je veux, éviter de le définir 5 temps dans l’INI (Depuis que j’ai 5 Tâches de sauvegarde), Je vais vous transmettre l’argument de Nagios/Centreon directement de Job. Voici un exemple de la configuration nécessaire dans le 'nsclient.ini', Tout d’abord, nous allons lui permettre de passer des arguments locaux et externes, puis nous définissons la commande qu’il exécutera, suivie des arguments qu’il attend (dans l’exemple un script PowerShell):
[Code source]
[/paramètres/NRPE/serveur]
allow arguments=true
[/paramètres/scripts externes]
allow arguments=true
[/paramètres/scripts externes/scripts]
check_copias = cmd /c scripts d’écho\check_copias_seguridad.ps1 $ARG$1 $ARG$2; sortie($lastexitcode) | powershell.exe -commande –
[/paramètres/scripts externes/alias]
alias_copias = check_copias
[/Code source]
Et puis nous pouvons à partir de la machine Nagios exécuter une commande en lui passant des arguments, que nous définirons plus tard à partir de Centreon avec GUI de manière plus confortable:
[Code source]
./check_nrpe -H IP_EQUIPO_REMOTO -c alias_copias -a "premier argument" « Deuxième argument"
[/Code source]
Ce que j’ai dit, nous verrons dans de futurs documents des exemples concrets d’utilisation du NRPE, Comment, avec certains scripts, nous pouvons tirer le meilleur parti de toutes les informations qui nous intéressent. Souvent, nous devrons faire nos propres scripts, Et pourquoi pas? Si nous transférons tous nos besoins à Nagios, Nous les contrôlerons et nous pourrons nous reposer beaucoup plus sereinement avec notre organisation entièrement surveillée!