NSClient++ (NSCP) est un logiciel de surveillance capable de travailler avec Nagios.

Ce tutoriel est la suite de celui sur l’installation et la configuration de Nagios, il explique comment utiliser le NSCP avec Nagios 3 et a été réalisé sous Debian 7.11.0. Si vous utilisez une distribution (ou version) différente il pourrait y avoir quelques divergences de paramétrage.

Vos machines supervisés doivent possède le service NSClient, si ne n’est pas encore fait, vous pouvez suivre le tutoriel sur l’installation et la configuration de NSClient++.

Ce tutoriel sera cours, si vous avez bien suivi  le précédent, vous devez déjà savoir créer des services pour vos hôtes. Ici la configuration d’un service reste la même, c’est seulement le greffon utilisé qui est différent.

Toutes les manipulations à venir seront à effectuer en tant que  super-utilisateur de la machine.


Configurer des services

Nous utiliserons le plugin check_nt, qui permet de récupérer des données collectées par le service NSClient, à partir du serveur Nagios.

Nous allons créer ensemble quelques services. Voici le fichier check_nt, contenant les définitions du plugin check_nt (dont celles que nous allons utiliser). Vous pouvez le télécharger et le placer dans le dossier /etc/nagios-plugins/config/ de votre serveur Nagios si vous le souhaitez, ou bien créer vous-même ce fichier et créer vos propres définitions en vous aidant de ce site.

Attention, vous remarquerez que dans chaque définition se trouve [MotDePasse]. Vous devez remplacer cette chaîne par le mot de passe que vous avez renseigné pendant l’installation du logiciel NSClient++.

Le format de la commande que nous utiliserons dans les définitions sera le suivant :

/usr/lib/nagios/plugins/check_nt -H [IPHôte] -s [MotDePasse] -p 12489 -v [VARIABLE] [OPTIONS]
[IPHôte]

Adresse IP de l’hôte supervisé

[MotDePasse] Mot de passe que vous avez renseigné à l’installation de NSClient++ sur l’hôte en question
[VARIABLE]

Nom de la variable qu définit l’opérateur à effectuer. Vous trouvez la liste des variables disponible et leur description ici

[OPTIONS]

Arguments supplémentaire qui suivent la variables. En fonction de la variables utilisé vous devrez renseigner des arguments.

Si avant de commencer la supervision, vous voulez vous assurer que vous avez bien installé et configuré le NSClient++ sur vos hôte, vous pouvez utiliser la commande suivante :

/usr/lib/nagios/plugins/check_nt -H [IPHôte] -s [MotDePasse] -p 12489 -v CLIENTVERSION

La commande devrait vous retourner un résultat similaire à celui-ci :

NSClient++ 0.5.0.62 2016-09-14

Contrôler l’espace disque utilisé

Vous trouvez dans le fichier check_nt.cfg, fourni plus haut, la définition suivante (au début du fichier) :

define command{
command_name check_nt_disk
command_line /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -s [MotDePasse] -p 12489 -v USEDDISKSPACE -l $ARG1$ -w $ARG2$ -c $ARG3$
}

La variable utilisé USEDDISKSPACE et elle requise arguments :

  • $ARG1$ : Lettre associée au disque à contrôler (C par exemple) ;
  • $ARG2$ : Pourcentage d’espace utilisé pour le statue WARNING ;
  • $ARG3$ : Pourcentage d’espace utilisé pour le statue CRITICAL.

Si vous testez cette commande vous devriez obtenir un résultat similaire à celui-ci :

C:\ - total: 223,02 Gb - utilisé: 90,87 Gb (41%) - libre 132,15 Gb (59%) | 'C:\ Espace Utilisé'=90,87Gb;44,60;22,30;0.00;223,02

Ici c’est le lecteur C qui est contrôlé ;

Maintenant, supposons que nous voulons contrôler l’espace disque du Lecteur C et que le statue de service soit WARNING si 70% de l’espace disque est utilisé et qu’il soit CRITICAL si 90% de l’espace disque est utilisé. Le service sera donc configuré de la manière suivante :

define service{
       use generic-service ; Name of service template to use
       host_name [NomHôte]
       service_description PING
       check_command check_nt_disk!C!70!90
}

Pour rappel, chaque argument doit être séparé par un « ! ».

Contrôler la mémoire utilisée

Vous trouvez dans le fichier check_nt.cfg, fourni plus haut, la définition suivante :

define command{
command_name check_nt_memuse
command_line /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -s [MotDePasse] -p 12489 -v MEMUSE -w $ARG1$ -c $ARG2$
}

Ici seul la limite WARNING et CRITICAL sont a renseigné (toujours en pourcentage) comme argument ;

Si vous testez cette commande vous devriez obtenir un résultat similaire à celui-ci :

Mémoire utilisée: total:9858,66 Mb - utilisée: 5045,20 Mb (51%) - libre: 4813,46 Mb (49%) | 'Mémoire utilisée'=5045,20Mb;6901,06;8872,80;0.00;9858,66

Le service utilisant cette commande pourrait être configuré de la manière suivante :

define service{
       use generic-service ; Name of service template to use
       host_name windows
       service_description MEMORY
       check_command check_nt_memuse!70!90
}

Le statue de l’hôte est WARNING si 70% de la mémoire est utilisée et CRITICAL si 90% de la mémoire est utilisée.

Contrôler la charge du processeur

Vous trouvez dans le fichier check_nt.cfg, fourni plus haut, la définition suivante :

define command{
command_name check_nt_cpuload
command_line /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -s [MotDePasse] -p 12489 -v CPULOAD -l $ARG1$
}

La commande ne nécessite qu’un argument, mais celui-ci demande 3 paramètres :

  • -l [Intervale],[Seuil WARNING],[Seuil CRITICAL]

[Intervale] s’exprime en minutes (et les 2 seuil en pourcentage) et doit être inférieur à 1440 (soit 1 jour).

En indiquant l’intervalle, la commande va récupèrer la charge moyenne du processeur durant les X dernière minutes (si [Intervale] = 5 alors la moyenne sera fait sur les 5 dernières minutes d’utilisation du processeur) ;

Si vous testez cette commande vous devriez obtenir un résultat similaire à celui-ci :

Charge CPU 7% (5 moyenne minimale) | '5 Charge moyenne minimale'=7%;70;90;0;100

Le service utilisant cette commande pourrait être configuré de la manière suivante :

define service{
       use generic-service ; Name of service template to use
       host_name windows
       service_description MEMORY
       check_command check_nt_cpuload!5,70,90
}

L’intervalle est de 5, le statue de l’hôte est WARNING si 70% du CPU est utilisé et CRITICAL si 90% du CPU est utilisé.


Ce tutoriel est terminé. Vous pouvez continuer la supervision en supervisant hôte Linux via NRPE ou encore des actifs via SNMP.

Si vous avez des problèmes, où que vous trouvez que certains points sont mal expliqués (ou faux), n’hésitez pas à m’avertir.