Monitorer Windows avec Nagios / Centreon : PARTIE I

Logo Nagios

Pour monitorer des systèmes et logiciels Windows, nous allons utiliser le plugin ” check_wmi_plus “, un plugin en perl qui envoie des requêtes WMI à windows et qui enregistre ensuite les logs sur notre serveur ( un CentOs 6 64Bit).

Avant de commencer, un petit tuto sur comment installer WMI sur un windows server : Installer WMI sur un serveur Windows

Le site officiel de se plugin : http://www.edcint.co.nz/checkwmiplus/

Commencez par télécharger le plugin :

 # cd /usr/lib64/nagios/plugins/
 # wget http://edcint.co.nz/checkwmiplus/sites/default/files/check_wmi_plus.v1.50.tar.gz
 # tar -xvf check_wmi_plus.v1.50.tar.gz

Avant de pouvoir utiliser Check_wmi_plus.pl, il va falloir installer WMIC, application nécessaire au bon fonctionnement de check_wmi_plus.pl

Nous allons récupérer les package nécessaires à la bonne installation de wmic :

# yum install autoconf python

 

Nous allons ensuite récupérer le package wmi :

# wget http://alexnogard.com/wp-content/uploads/wmi-1.3.16.tar.bz2
# bunzip2 wmi-1.3.16.tar.bz2
# tar xf wmi-1.3.16.tar
# cd wmi-1.3.16/

Ensuite, il faut ouvrir le GNUmakefile pour le modifier comme suit :

Ajouter des # aux lignes suivantes :

ZENOSS_BINDIR     = $(ZENHOME)/bin # Ligne 20
ZENPYTHON         = $(ZENOSS_BINDIR)/python # Ligne 21
USE_BREAKPAD = 1 # Ligne 73
$(call check,directory,$(ZENHOME),"ZENHOME") # Ligne 111
$(call check,directory,$(ZENHOME),"ZENHOME") # Ligne 130

Ensuite, Ligne 22, modifier comme suit :

PYTHON           ?= /usr/bin/python

( Faites un wich python pour connaitre le bon chemin ),

Il faut ensuite modifier le pyinclude.py, dernière ligne :

print os.path.join(sys.prefix, ‘lib64’, ‘python’ + version)

Il ne reste plus qu’à faire un :

# make

Puis patienter cinq minutes, une fois ceci effectué, faites un :

# cp Samba/source/bin/wmic /usr/bin

Enfin, on test si Wmic est correctement installé en appelant une commande WMI sur un serveur distant :

# wmic 

Dernière étape pour faire fonctionner notre plugin, l’installation des scripts perl necessaires, nous allons utiliser Cpan. Pour connaitre les modules perl  à ajouter, faites :

# /usr/lib64/nagios/plugins/check_wmi_plus.pl -d -d | head -n 20

ensuite :

cpan install Config::IniFiles Data::Dumper Getopt::Long DateTime Scalar::Util Storable

Une fois tous les pré-requis installés, nous allons pouvoir configurer le plugin check_wmi_plus :
Nous allons éditer les fichiers suivant : check_wmi_plus.pl, check_wmi_plus.conf.

Check_wmi_plus.pl :
modifier : our $base_dir=’/opt/nagios/bin/plugins’;   —> /usr/lib64/nagios/plugins
my $conf_file=’/opt/nagios/bin/plugins/check_wmi_plus.conf’;  —> /usr/lib64/nagios/plugins/check_wmi_plus/check_wmi_plus.conf
use lib “/usr/lib/nagios/plugins”;  —> use lib “/usr/lib64/nagios/plugins”;

Check_wmi_plus.conf :

 # mv check_wmi_plus.conf.sample check_wmi_plus.conf

Modifier : use lib “/usr/lib/nagios/plugins”; use lib “/usr/lib64/nagios/plugins”;

Le plugin check_wmi_plus est installé et opérationnel.

Vous pouvez maintenant passer à son utilisation dans l’article suivant : Monitorer Windows avec Centreon et check_wmi_plus : PARTIE II

Si vous avez des questions quant à l’install de check_wmi_plus ou  wmi-1.3.16, n’hésitez pas à utiliser les commentaires ;)

About Alexandre Nogard

Check Also

Bash Scripting : Creation de vhosts automatisés avec Certificat Lets Encrypt

Bonjour à tous, Il y a quelques temps, j’avais posté un script bash permettant de …

Centreon : EventHandler Restart de Borne Wifi / DECT automatique Cisco & Ascom

Vous est il déjà arrivé d’avoir des bornes Wifi / DECT qui perdent la connexion, …

CentOs / RHEL : Rollback de mise à jour avec Yum history

Une mise à jour de php ou d’apache qui tourne mal, ça nous est déjà …

16 comments

  1. Bien, Bien.

    Il y a aussi NSClient ++ Pour monitorer windows avec nagios.

    Il permet, en plus d’effectuer des checks passif avec les snmp traps. :)

    @+

  2. L’avantage de WMI est qu’il n’y a rien à installer sur les serveurs Windows ;)

  3. Le lien pour WMI sur zenoss n’est plus bon.

  4. Meme probleme que Jerome! WMI sur zenoss ne marche plus! y a t-il une alternative? merci

  5. Bonjour :)
    Merci d’abord pour cet exellent tuto. je compte tester ça pour mettre en place une supervision d’une infrastructure Windows (architecture distribuée). ma plateforme tourne avec un nagios core 3.4, et apparement les chemeins des répértoires sont un peu différents. le “/usr/lib64/nagios/plugins” devient “/usr/local/nagios/libexec” je pense. ya t’il d’autre changement concernant l’installation? (celle de wmic surtout)
    merci :)

    • Bonjour, Merci,
      Tout dépend de votre distribution, celle que j’utilise est une CentOs 6 en 64bit, vous devez surement utiliser une version 32bit, donc pour wmic il y aura quelques changements à ne pas appliquer, comme :
      print os.path.join(sys.prefix, ‘lib64′, ‘python’ + version)

      ou les modifications a effectuer dans le plugin check_wmi_plus ;)

      Cordialement,
      Alexandre

  6. Hello,
    j’ai un soucis lorsque je lance le “make” :
    Missing: PYTHON /usr/bin/python

    Alors que python est au bon endroit.. Je suis sur une CentOS 5.9

    Aute question, qu’on soit bien ok, quand tu indiques “ajouter des #” tu parles bien de passer en commentaires les lignes citées ?

  7. Lo!

    Je rencontre les mêmes problèmes que le voisin du dessus, c-a-d:

    # @if [ “directory” = “directory” ]; then if [ ! -d “” ];then echo “ZENHOME” | awk ‘{printf(“Missing: %-20s\n”,$1)}’; exit 1 ; else echo “”ZENHOME” ” | awk ‘{printf(“Found: %-20s %20s\n”,$1,$2)}’ 1>/dev/null; fi ; fi
    Missing: PYTHON /usr/bin/python
    make: *** [build-prereqs] Erreur 1

    J’utilise une redhat 5 x64.

    Merci d’avance et super ce tuto!

    Jrm

  8. Bonjour,

    J’ai un message d’erreur lorsque je fais make

    Checking prequisites for building WMI
    Missing: ZENHOME
    make: *** [build-prereqs] Error 1

    J’utilise centos 6.4, le plugin se trouve dans usr/local/nagios/plugins
    Je n’ai rien modifié pour la dernière ligne du fichier pyinclude.py: car je ne sais pas quoi mettre.
    Pouvez-vous m’aider ?
    Merci

  9. Bonjour.
    Je suis sous CentOS 6.4 x64. Mes plugins se trouvent dans /sur/local/nagios/libexec.
    Voici l’erreur :
    /sur/bon/ar bin/static/libheimdal_roken_programme_h.a :ni such file or directory

    Merci par avance

  10. Bonjour,
    sympa ton tuto mais moi j’ai une erreur lors du paasage de la commande make dans le répertoire wmi-1.3.16

    Checking prequisites for building WMI
    Missing: ZENHOME
    make: *** [build-prereqs] Erreur 1

    As-tu une idée de ce qui provoque cette erreur ?
    Merci d’avance

  11. Bonjour,

    Pour les prochains qui ne connaissent pas bien Linux, les # à ajouter dans le fichier GNUmakefile se mettent AVANT les ligne (donc devant) et non après.

    De plus, avant de lancer le “make”, vous devez installer des modules :
    yum install “samba”
    yum groupinstall “Development tools”

    Ca marche nickel merci pour le tuto

  12. Bonjour, excellent tuto.
    Petite question le version des scripts perl référencées “BAD” posent elles un problème ?
    Merci

  13. Bonjour,

    Ce tutoriel est-il toujours d’actualité pour CES 3.3 ?

    Je rencontre l’erreur suivante lors de la vérification des prérequis Perl avec check_wmi_plus v1.61 :

    [root@CESTEST plugins]# /usr/lib64/nagios/plugins/check_wmi_plus.pl -d -d | head -n 20
    Can’t locate Number/Format.pm in @INC (@INC contains: /usr/lib64/nagios/plugins /usr/lib/nagios/plugins /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/nagios/plugins/check_wmi_plus.pl line 54.
    BEGIN failed–compilation aborted at /usr/lib64/nagios/plugins/check_wmi_plus.pl line 54.

    Merci.

Leave a Reply

Your email address will not be published. Required fields are marked *