Bonjour à tous,

Cédric, nous a déjà parlé des hôtes, services et commandes sous Centreon. Aujourd’hui, nous allons voir un peu plus en détail comment monitorer un système Windows à partir de Nagios/Centreon.

Pré-requis :

  • un serveur Nagios/Centreon fonctionnel avec les nagios-plugins d’installés (nous avons besoin de check_nt)
  • un système Windows, ici nous utiliserons un Serveur Windows 2008
  • une connexion internet

Avant de commencer, il faut savoir qu’il existe plusieurs méthodes pour surveiller ses serveurs Microsoft, dans cet article nous allons voir la méthode la plus simple (à mon sens) : l’utilisation d’un agent : NSClient++.

1. Installation de NSClient++

Dans un premier temps, nous allons télécharger le client, choisissez la dernière version correspondant à votre architecture (32 ou 64 bits)  parmi cette liste, et téléchargez le package (msi)  : http://nsclient.org/nscp/downloads

Installez cet agent, il n’y a rien de particulier à part cet écran :

  • L’adresse IP correspond à l’adresse IP du serveur Nagios qui interrogera cet hôte.
  • Le mot de passe NSClient sera nécessaire pour la commande check_nt, il sera présent dans toutes les transactions.
  • Nous n’avons pas besoin des autres modules (NRPE est un check actif, NSCA est un check passif et WMI sont des requêtes systèmes windows).

Une fois l’installation fini cocher « Start service », et vérifier que NSClient est bien autorisé dans les propriétés du parefeu.

Si vous avez fait une erreur de configuration vous pouvez toujours modifier le fichier NSC.ini qui se trouve dans le dossier d’installation (par défaut C:\Program Files\NSClient++), il faudra ensuite redémarrer le service pour que les informations soient prises en compte.

2. Tests de fonctionnement

Allons maintenant sur notre serveur Nagios pour vérifier si la communication fonctionne bien entre le serveur de monitoring et l’hôte que l’on souhaite surveiller.

On se connecte avec l’utilisateur nagios et on va dans le dossier contenant nos plugins (cd /usr/local/nagios/libexec).

./check_nt -H serveur_windows -p 12489 -v CLIENTVERSION -s motdepasse

  • check_nt : c’est le plugin Nagios qui permet d’interroger un agent NSClient
  • -H serveur : nom d’hôte ou adresse IP du serveur à supervision
  • -p 12489 : port utilisé, NSClient écoute par défaut sur le 12489
  • -v CLIENTVERSION : l’option -v permet de définir ce que l’on souhaite obtenir, ici le numéro de version de l’agent
  • -s motdepasse : le mot de de passe saisie lors de l’installation

Si tout a fonctionné vous devez obtenir ceci :

Si ce n’est pas le cas, vérifiez votre installation et vos éléments réseaux qui serait susceptible de bloquer cette transaction (pare-feu (autoriser le port), routeur (redirection de port) …).

3. Choix des éléments à monitorer

Pour obtenir plus d’informations sur la commande check_nt, il faut taper :

./check_nt –help

On découvre ainsi la liste de toutes les options et plus particulièrement le descriptif du fameux -v :

  • CLIENTVERSION : nous venons de la tester, elle renvoie le numéro de version et indique que tout ok
  • UPTIME : renvoie depuis combien de temps la machine est allumée
  • USEDISKSPACE : renvoie la taille et le pourcentage de l’utilisation d’un disque donné en paramètre
  • MEMUSE : renvoie la taille et le pourcentage d’utilisation de la mémoire vive
  • SERVICESTATE : renvoie l’état d’un ou plusieurs service passé en paramètre
  • PROCSTATE : pareil que SERVICESTATE mais pour un processus
  • COUNTER et INSTANCE : nous n’aborderons pas ces 2 options maintenant, elles feront l’objet d’un article prochainement. Pour information, elles sont utilisés en association avec le compteur de performance de Windows.

4. Configuration de Centreon

Maintenant que nous connaissons les principales possibilités de check_nt, vous allez pouvoir utiliser ce plugin pour créer un service et le lier à son hôte. Je passerais cette partie rapidement, Cédric ayant déjà présenté la création d’hôte, de service et de commande.

La méthodologie est la suivante :

1. Création d’un hôte

2. Création d’un service en utilisant la commande check_centreon_nt. Voici la commande suivi de quelques remarques :

$USER1$/check_centreon_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ -l $ARG2$ -s $ARG3$ -w $ARG4$ -c $ARG5$

  • Le port est configuré directement dans la commande, si vous souhaitait le modifier soit vous le faites dans la commande, soit vous rajoutez un argument (ce qui implique de renommer tous les autres, l’ordre des options est important ici)
  • Pour certaines propriétés du -v, il n’est pas toujours nécessaire de remplir tous les paramètres, je pense par exemple au UPTIME, dans ce cas vous passerez les arguments ainsi : !UPTIME!!motdepasse!!!
  • Il existe des commandes déjà pré-configuré dans Centreon (check_nt_memuse, check_nt_disk et check_nt_cpu), faites attention en les utilisant. Je vous conseil de d’abord allez les voir dans Configuration – Commandes. Par exemple pour check_nt_disk, le port est défini à 1248 en dur, ce qui dans notre exemple ne fonctionnera pas puisque nous utilisons 12489.

Vous savez maintenant monitorer un Windows simplement … Vous avez juste à installer l’agent sur votre hôte et ensuite si vous avez créer des templates dans Centreon cela va trés vite …

Il faut savoir qu’il existe d’autre moyen de superviser un système Microsoft, par exemple grâce à SNMP, nous verrons cela une prochaine fois …