Auteur:
NicoLargo

Date:
11/10/2007

Catégories:
Open-source
Reseau

Tags:





Surveiller vos serveurs Windows avec Nagios

Dans la longue série des billets sur Nagios, en voici un tout spécialement dédié aux lecteurs qui ont à administrer des machines sous Windows. Nous allons décrire l’installation de NSClient, un plugin permettant de récupérer un nombre important de d’informations à surveiller sur une machine Windows.

Comme les plugins NRPE et NSCA (disponible seulement sous Linux et Mac OS X), NSClient se base sur une architecture client/serveur. La partie cliente (nommée check_nt), doit être disponible sur le serveur Nagios. La partie serveur (NSClient++) est à installer sur chacune des machines Windows à surveiller.

Installation de check_nt

Il y a de forte chance que le plugin check_nt soit installé par défaut sur votre serveur Nagios. Pour le vérifier, il faut se rendre dans le répertoire Nagios ou se trouve vos plugins (/usr/lib/nagios/plugins sur Fedora).

# cd /usr/lib/nagios/plugins
# ls check_nt
check_nt

Si ce n’est pas le cas, il suffit de l’installer grâce aux commandes suivantes:

Fedora:
# sudo yum install nagios-plugins-nt

Ubuntu:
# sudo apt-get install nagios-plugins-nt

Installation de NSClient++

Remarque: cette opération est à faire sur l’ensemble des PC Windows à surveiller.

La première chose à faire est de télécharger la dernière version (0.2.5e ou supérieure) à l’adresse suivante: Sourceforge de NSClient++.

Ensuite il faut:

  • “dézipper” le client dans le répertoire c:\nsclient
  • ouvrir une commande DOS (cmd.exe)
  • puis entrer les commandes suivantes:
    • cd \nsclient
    • nsclient++ /install
  • Ouvrir le gestionnaire des services et vérifier que le service est autorisé à “Interagir avec le bureau”
  • Editer le fichier c:\nsclient\NSC.INI en:
    • décommentant tous les modules listé dans la section [modules] sauf CheckWMI.dll et RemoteConfiguration.dll
    • décommentant la ligne allowed_hosts dans la section [Settings] et en y ajoutant l’adresse du serveur Nagios.
  • puis entrer les commandes suivantes dans votre fenêtres DOS:
    • cd \nsclient
    • nsclient++ /start

Pour tester que l’installation à bien marché, le plus simple est de faire un test depuis le serveur Nagios. Pour cela, il faut:

# cd /usr/lib/nagios/plugins

# ./check_nt -H IPMACHINEWINDOWS -v CLIENTVERSION -p  12489

Si tout ce passe bien, le client doit envoyer la version de NSClient (0.2.5e)

Si cela ne fonctionne pas, il faut peut être vérifier que la requête (TCP sur port 12489) n’est pas bloqué par un Firewall.

Configuration de Nagios pour surveiller vos machines Windows

Une fois le client et le serveur installé, il faut configurer Nagios de la manière suivantes. Il faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par défaut) et y ajouter votre machine Windows:

define host {
use generic-host
host_name billgates
alias Ma machine Win
address 192.168.6.66
}

Puis ajouter les services offerts par NSClient (dans le fichier services.cfg):

# Affiche la version du NSClient
define service {
use generic-service
host_name billgates
service_description VERSION
check_command check_nt!CLIENTVERSION
}

# Temps écoulé depuis le dernier reboot (uptime)
define service {
use generic-service
host_name billgates
service_description UPTIME
check_command check_nt!UPTIME
}

# Charge CPU
# WARNING si charge > 80% pendant plus de 5 minutes
# CRITICAL si charge > 90% pendant plus de 5 minutes
define service {
use generic-service
host_name billgates
service_description CPU
check_command check_nt!CPULOAD!-l 5,80,90
}

# Etat de la mémoire vive libre
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description MEM
check_command check_nt!MEMUSE!-w 80 -c 90
}

# Etat de la mémoire disque libre (sur disque c:)
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description DISK
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

Il est également possible de surveiller l’état d’un service (SERVICESTATE) ou d’un processus (PROCSTATE).

111 commentaires


  1. PL, le 19/06/2009 (#6562)

    Tite précision : je veux monitorer un pc et non pas un serveur^^ ca doit etre possible non?


  2. brochard, le 31/07/2009 (#6695)

    Bonjour, j’ai un probleme avec le check_nt MEMUSE
    C’est a dire que lorsque je lance la requete dans le terminale elle fonctionne trés bien:

    [root@NAGIOS plugins]# ./check_nt -H 192.168.11.15 -p 12489 -v MEMUSE -w 80 -c 9 0
    Memory usage: total:3947.44 Mb – used: 575.05 Mb (15%) – free: 3372.39 Mb (85%) | ‘Memory usage’=575.05Mb;3157.95;3552.70;0.00;3947.44

    Alors que dans nagios, j’ai ok pour le status et (No Output) pour le status information.

    Pouvez-vous m’aider.

    Merci


  3. Jodu31, le 31/07/2009 (#6696)

    bjr,
    Il me semble qu’il manque le paramètre “-s motdepasse” et qu’il y a un espace de trop sur le chiffre 9_0 du paramètre “-c”.

    Jo


  4. Tototimes, le 23/09/2009 (#6884)

    Bonjour, j’aurais souhaité savoir si on pouvait monitorer des raids (l’état des disques pour savoir si un disque dur tombe) sous windows avec nsclient?
    Si oui, une petite piste?

    Merci d’avance


  5. immi, le 30/09/2009 (#6910)

    Bonjour,
    merci bien nico pour ce tuto,
    svp pourriez vous maider dans mon probleme.

    jai pu faire toutes les étapes que ta demmandé,
    mon serveur nagios me renvoi la version de nsclient mais je vois pas ma machine windows sur l’interface graphique de nagios.

    merci d’avance


  6. christian, le 24/02/2010 (#7690)

    slt Nico ,tous ce ki est en haut pour mois c ‘est ok (espace disque ,processeur,uptime,servicestate,procestate,version nsclient…) ,et maintenant je vais surveiller mon serveur de base oracle avec check_oracle ,svp pourriez vous me donner les étapes à suivre pour ce genre de pbm (les syntaxe de commande que je ve mettre sns ……)

    cordialement


  7. selassi, le 10/05/2010 (#8180)

    Salam , Merci nico tu as apporté un grand plaisir pas vos tuto .
    Pour la supervision des switchs , machines , imprimantes tous ca marche bien , le probléme que j ai rencontré c est l installation de NSclient sous Windows Server 2003 (Pack 2) . il me dit que cette version n est pas pour cette windows .
    Merçi cordialement .


  8. asma, le 12/05/2010 (#8218)

    Bonjour Nicol
    j’ai un problème lorsque je tape la commande
    ./check_nt -H (IP) -v VERSIONCLIENT
    j’ai cette message d’erreur
    impossible de décomposé les arguments
    je suis bloqué et je sais pas quel est le problème

    merci de me répondere


  9. asma, le 12/05/2010 (#8219)

    Bonjour Nicol
    Merci pour ton tutorial il est clair
    mais j’ai un problème loersque je tape la commande ./check_nt -H (IP) -v VERSIONCLIENT
    j’ai ce message d’erreur et je sais pas d’ou vient le problème
    merci de me repondre je suis bloqué
    Merci
    Cordialement
    Asma


  10. NicoLargo, le 12/05/2010 (#8220)

    @asma: quel message d’erreur ?


  11. asma, le 13/05/2010 (#8226)

    Bonjour,
    merci pour votre reponse
    désolé j’ai oublié de te dire le message d’erreur
    connexion impossible
    le serveur est introuvable
    et j’ai désactivé le firewall et le port est:12489
    mais lorsque je démarre le nsclient++ il s’affiche la boite de dialogue ne pas envoyer envoyer le rapport d’erreu nsclient++ à rencontrer un problème et doit fermé
    merci de me repondre
    cordialement


Laisser un message

Les informations saisies resteront privées.