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
#
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 ;)
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. :)
@+
L’avantage de WMI est qu’il n’y a rien à installer sur les serveurs Windows ;)
Le lien pour WMI sur zenoss n’est plus bon.
Meme probleme que Jerome! WMI sur zenoss ne marche plus! y a t-il une alternative? merci
Voila, pour la plus grande joie de tous, j’ai hébergé le fichier wmi-1.3.16 sur mon propre serveur ;)
le liens ici : http://alexnogard.com/wp-content/uploads/wmi-1.3.16.tar.bz2
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
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 ?
Bonjour,
Pouvez vous faire un “which python” et me donner la réponse s’il vous plait
Merci
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
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
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
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
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
Bonjour, excellent tuto.
Petite question le version des scripts perl référencées “BAD” posent elles un problème ?
Merci
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.
Bonjour Alexandre,
A tu prévu d actualiser ton tuto, je suis en centos 7 , Centreon 20.04.3.,check_wmi_plus.v1.65.tar.gz
je n’arrive pas à savoir ou déplacer et comment modifier les fichiers.
Mes requêtes wmic -U foncionnent
wmic -U wmiagent –option=”client ntlmv2 auth”=Yes //192.168.1.90 “SELECT FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3”
Password for [WORKGROUP\wmiagent]:
CLASS: Win32_LogicalDisk
DeviceID|FreeSpace|Name|Size
C:|36295688192|C:|53317988352
j’ai décompressé l archive check_wmi_plus.v1.65.tar.gz dans /tmp/
[root@centreon-central nagios]# cd /
[root@centreon-central /]# cd tmp/
[root@centreon-central tmp]# ls
centreon-autodisco
check_wmi_plus_help.pl
check_wmi_plus.makeman.sh
check_wmi_plus.pl
check_wmi_plus.README.txt systemd-private-df35be5fafcf441d9b9142d08aa97eb3-httpd24-httpd.service-znn2dT
check_wmi_plus.v1.65.tar.gz
etc
event_generic.pl
gorgone
par-726f6f74
[root@centreon-central tmp]#
Merci pour tonaide