Vous êtes ici:

Menu


Stacks Image 16850
Nous allons étudier le fonctionnement du plugin apps::nsclient::restapi::plugin. Celui-ci va réaliser une connexion Rest API avec un agent NSClient. Nous verrons comment activer le mode web pour l'agent Linux et l'agent Windows. Ensuite nous passerons à la configuration du plugin Rest API sur un serveur Debian 8.

1 Activation du serveur Web NSClient

1.1 CentOS 7

L'agent NSClient est installé comme indiqué dans cet article chapitre 1. Activons le mode web.
nscp web install --password supervision

Enabling WEB from (currently not supported): 172.16.209.80/24
HTTP(s) is enabled using /usr/share/nsclient//security/certificate.pem.
Point your browser to https://localhost:8443
Point your browser to http://localhost:8443
Login using:supervision
Pour changer le mot de passe, utilisez cette commande
nscp web password --set monitoring
Password updated successfully, please restart nsclient++ for changes to affect.
Redémarrez le service pour prendre en compte la nouvelle configuration.
systemctl restart nsclient.service

1.2 Windows

L'agent NSClient est installé comme indiqué dans cet article chapitre 2. Activons le mode web.
c:\Program Files\NSClient++>nscp web install
Enabling WEB from (currently not supported): 127.0.0.1,192.168.0.35,192.168.0.174,192.168.0.174,192.168.0.250
HTTP(s) is enabled using c:\Program Files\NSClient++/security/certificate.pem.
Point your browser to https://localhost:8443
Point your browser to http://localhost:8443
Login using:udrtsu0mLbg3cctY
Le mot de passe est celui donné lors de l'installation de l'agent. Pour le changer, lancer cette commande (attention, faire attention aux tirets) :
c:\Program Files\NSClient++>nscp web password -- -set monitoring
Password updated successfully, please restart nsclient++ for changes to affect.
Redémarrez le service pour prendre en compte la nouvelle configuration.
net stop nscp
net start nscp

2 Test du serveur Web NSClient

Connectez-vous à l'url https://<IP>:8443. Si vous avez des ennuis avec le certificat, lisez cet article : Gérer le certificat NSClient pour l'API Rest
Stacks Image 1243573
Page de connexion de l'agent NSClient
Saisissez le mot de passe défini précédemment.
Stacks Image 1243576
Page d'accueil d'un agent Linux
Sélectionnez le menu Queries
Stacks Image 1243581
Les contrôles de vérifications disponibles
Cliquez par exemple sur check_uptime
Stacks Image 1243584
check_uptime
Sélectionnez l'onglet Run
Stacks Image 1243591
L'onglet run permettant de lancer un check
Cliquez sur le bouton vert Run pour exécuter le check.
Stacks Image 1243596
Lancement du check_uptime
Maintenant, nous allons utiliser le plugin Centreon pour utiliser le Rest API de NSClient.

3 Utilisation du plugin Centreon

Nous utiliserons un serveur Debian 8 avec la dernière version de Centreon. Pour l'installation de Centreon, consultez cette page Full Centreon 2.8.14 en téléchargeant les derniers paquets. Il est important de récupérer la dernière version de Centreon-Plugins. Télécharger le paquet nécessaire au fonctionnement du plugins.
Stacks Image 17041
Vérifier le Rest API avec curl
Il est possible de vérifier le fonctionnement du Rest API avec curl. Installez le programme
apt-get install curl

Lancez la commande suivante
curl -k -H 'password: monitoring' 'https://172.16.209.168:8443/query/check_uptime'

Vous devriez avoir ce résulat :
{"header":{"source_id":""},"payload":[{"command":"check_uptime","lines":[{"message":"CRITICAL: uptime: 02:7h, boot: 2018-01-06 05:18:57 (UTC)","perf":[{"alias":"uptime_uptime","int_value":{"critical":86400,"value":7639,"warning":172800}}]}],"result":"CRITICAL"}]}
apt-get install liburi-encode-perl
Vérifions que nous avons la bonne version du plugin en lançant cette commande.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query  --help | grep SSL_VERIFY_NONE
Le résultat de la commande doit vous retourner cette ligne, vous avez la bonne version du plugin.
--ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE").

3.1 CentOS 7

Supposons que nous avons une machine CentOS à superviser. Elle dispose d'un agent NSClient et est joignable à l'adresse 172.16.209.168. Le mot de passe pour la connexion Rest API est monitoring.

3.1a check_uptime

La première commande que nous utiliserons :
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query --legacy-password='monitoring' --hostname=172.16.209.168 --command='check_uptime' --ssl-opt='SSL_verify_mode => SSL_VERIFY_NONE'
La commande retournera le résultat suivant
CRITICAL: uptime: 04:29h, boot: 2018-01-06 05:18:56 (UTC) | 'uptime_uptime'=16163;172800;86400;0;0

3.1b check_memory

Voici une autre utilisation avec check_memory.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query  --legacy-password='monitoring' --hostname=172.16.209.168 --command='check_memory' --ssl-opt='SSL_verify_mode => SSL_VERIFY_NONE'
OK: physical = 1.297GB, cached = 1.238GB, swap = 0B | 'physical'=1.297GB;1.424;1.603;0.000;1.781 'physical %'=73.000%;80.000;90.000;0.000;100.000 'cached'=1.238GB;1.424;1.603;0.000;1.781 'cached %'=70.000%;80.000;90.000;0.000;100.000 'swap'=0.000GB;2.400;2.700;0.000;3.000 'swap %'=0.000%;80.000;90.000;0.000;100.000

3.2 Windows

Nous utiliserons cette fois-ci un serveur Windows ayant pour adresse 192.168.0.175.

3.2a check_drivesize

La première commande que nous utiliserons :
/usr/lib/centreon/plugins# /usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query --legacy-password='monitoring' --hostname=192.168.0.175 --command='check_drivesize' --ssl-opt='SSL_verify_mode => SSL_VERIFY_NONE'
La commande retournera le résultat suivant
OK All 4 drive(s) are ok | 'D:\ used'=1.444GB;78.047;87.803;0.000;97.559 'D:\ used %'=1.000%;80.000;90.000;0.000;100.000 'C:\ used'=24.389GB;160.346;180.389;0.000;200.433 'C:\ used %'=12.000%;80.000;90.000;0.000;100.000 'E:\ used'=0.000B;0.000;0.000;0.000;0.000 'F:\ used'=0.000B;0.000;0.000;0.000;0.000

3.2b check_cpu

Voici une autre utilisation avec check_cpu.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::nsclient::restapi::plugin --mode=query --legacy-password='monitoring' --hostname=192.168.0.175 --command='check_cpu' --ssl-opt='SSL_verify_mode => SSL_VERIFY_NONE'
OK: CPU load is ok. | 'total 5m'=0%;80;90;0;0 'total 1m'=0%;80;90;0;0 'total 5s'=9%;80;90;0;0
Les messages d'erreurs ne sont pas bloquant notre utilisation. C'est terminé pour aujourd'hui, nous verrons plus tard l'intégration de ce plugin dans l'interface de Centreon.
comments powered by Disqus