Supervision VMware ESXi-6.7 avec Centreon

65

Nous allons voir ensemble comment superviser votre infrastructure VMware afin d’assurer le bon fonctionnement des machines virtuelles et éviter les pannes. Comme d’habitude, nous allons utiliser Centreon et Centreon Plugins Packs pour la supervision ainsi que le module Centreon-vmware.

Ce qu’il vous faut :

Infrastructure requise :

Documentation Centreon : 

UPDATE #1 : SUPERVISION VIA CENTREON WEB

UPDATE #2 : CENTREON 19.04.3  |  VMWARE PERL SDK 6.7   |  CENTREON_VMWARE 3.0.0

UPDATE #3 : CENTREON 19.10.4  |  VMWARE PERL SDK 6.7   |  CENTREON_VMWARE 3.1.0 |  VSAN SDK PERL 6.7

Install VMware Perl SDK

Pour fonctionner correctement, le connecteur Centreon-VMware utilise VMware vSphere Perl SDK. Téléchargez la bonne version (64bits) selon vos serveurs ESXi sur le site VMware et transférez le fichier sur votre serveur Centreon.

Remarque : je n’ai rien installé sur le serveur Centreon. Lors de l’installation du connecteur VMware et SDK Perl, nous allons surement rencontrer des erreurs de dépendances et nous verrons comment les résoudre.

J’ai transféré le fichier dans le répertoire /tmp :

[root@centreon ~]# cd /tmp/
[root@centreon tmp]# chmod 775 VMware-vSphere-Perl-SDK-6.7.0-8156551.x86_64.tar.gz
[root@centreon tmp]# tar xvf VMware-vSphere-Perl-SDK-6.7.0-8156551.x86_64.tar.gz
[root@centreon tmp]#
[root@centreon tmp]# cd vmware-vsphere-cli-distrib/
[root@centreon vmware-vsphere-cli-distrib]# ll
total 100
drwxr-xr-x 10 root root   124  2 avril 11:09 apps
drwxr-xr-x  2 root root  4096  2 avril 11:09 bin
drwxr-xr-x  3 root root    89  2 avril 11:09 doc
drwxr-xr-x  2 root root    26  2 avril 11:09 etc
-r--r--r--  1 root root 93828  2 avril 11:09 FILES
drwxr-xr-x  9 root root    94  2 avril 11:09 lib
-r--r--r--  1 root root  3340  2 avril 11:09 Makefile.PL
drwxr-xr-x  2 root root    23  2 avril 11:09 man
drwxr-xr-x  2 root root    87  2 avril 11:09 resources
lrwxrwxrwx  1 root root    35  2 avril 11:09 vmware-install.pl -> bin/vmware-uninstall-vSphere-CLI.pl

Lancez l’installation :

[root@centreon vmware-vsphere-cli-distrib]# ./vmware-install.pl
  • Appuyez sur Entrée 2x
  • Défiler la licence avec la barre Espace
  • Acceptez la licence : yes

Ne pas tenir compte des erreurs WARNING

Erreur 1 : 

  • Can’t locate Module/Build.pm
  • Module : ExtUtils::MakeMaker, Version: 6.96
  • Module : Module::Build, Version: 0.4205
Do you accept? (yes/no) yes
Thank you.

WARNING: The http_proxy environment variable is not set. If your system is
using a proxy for Internet access, you must set the http_proxy environment
variable .

If your system has direct Internet access, you can ignore this warning .

WARNING: The ftp_proxy environment variable is not set.  If your system is
using a proxy for Internet access, you must set the ftp_proxy environment
variable .

If your system has direct Internet access, you can ignore this warning .

Please wait while configuring CPAN ...

# Can't locate Module/Build.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
BEGIN failed--compilation aborted.
Below mentioned modules with their version needed to be installed,
these modules are available in your system but vCLI need specific
version to run properly

Module: ExtUtils::MakeMaker, Version: 6.96
Module: Module::Build, Version: 0.4205
# Do you want to continue? (yes/no) no

Il faut annuler l’installation et résoudre ce problème.

Installez les packages suivants :

[root@centreon ~]# yum install perl-libwww-per perl-XML-LibXML perl-Class-MethodMaker perl-Crypt-SSLeay perl-SOAP-Lite perl-UUID perl-ZMQ-LibZMQ3
[root@centreon ~]# yum install gcc gcc-c++

Installez ensuite ce module Perl

[root@centreon ~]# yum install perl-Module-Build.noarch
Installation :
 perl-Module-Build                          noarch               2:0.40.05-2.el7                    base         281 k
Installation pour dépendances :
 perl-CPAN-Meta                             noarch               2.120921-5.el7                     base         113 k
 perl-CPAN-Meta-Requirements                noarch               2.122-7.el7                        base         24 k
 perl-CPAN-Meta-YAML                        noarch               0.008-14.el7                       base         24 k
 perl-ExtUtils-CBuilder                     noarch               1:0.28.2.6-292.el7                 base         67 k
 perl-IPC-Cmd                               noarch               1:0.80-4.el7                       base         34 k
 perl-JSON-PP                               noarch               2.27202-2.el7                      base         55 k
 perl-Locale-Maketext-Simple                noarch               1:0.21-292.el7                     base         50 k
 perl-Module-CoreList                       noarch               1:2.76.02-292.el7                  base         85 k
 perl-Module-Load                           noarch               1:0.24-3.el7                       base         11 k
 perl-Module-Load-Conditional               noarch               0.54-3.el7                         base         18 k
 perl-Module-Metadata                       noarch               1.000018-2.el7                     base         26 k
 perl-Params-Check                          noarch               1:0.38-2.el7                       base         18 k
 perl-Parse-CPAN-Meta                       noarch               1:1.4404-5.el7                     base         14 k
 perl-Perl-OSType                           noarch               1.003-3.el7                        base         20 k
 perl-version                               x86_64               3:0.99.07-3.el7                    base         84 k

Résumé de la transaction
=============================================================================================================================
Installation   1 Paquet (+15 Paquets en dépendance)

Taille totale des téléchargements : 926 k
Taille d'installation : 2.1 M
# Is this ok [y/d/N]: y

Si vous relancez l’installation, il n’y a plus d’erreur. Cependant, nous avons toujours un problème de version avec certains module Perl.

  • Module : ExtUtils::MakeMaker, Version: 6.96
  • Module : Module::Build, Version: 0.4205

On peut vérifier les versions déjà installé par défaut. Ouvrir le Shell CPAN

[root@centreon vmware-vsphere-cli-distrib]# cpan
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.
cpan[1]#>

Vérifiez la version des deux modules :

cpan[1]#> i ExtUtils::MakeMaker
Reading '/root/.cpan/Metadata'
  Database was generated on Sun, 22 Jul 2018 00:17:02 GMT
Module id = ExtUtils::MakeMaker
    CPAN_USERID  BINGOS (Chris Williams <chris@bingosnet.co.uk>)
    CPAN_VERSION 7.34
    CPAN_FILE    B/BI/BINGOS/ExtUtils-MakeMaker-7.34.tar.gz
    UPLOAD_DATE  2018-03-19
    MANPAGE      ExtUtils::MakeMaker - Create a module Makefile
    INST_FILE    /usr/share/perl5/vendor_perl/ExtUtils/MakeMaker.pm
#   INST_VERSION 6.68


cpan[2]#> i Module::Build
Module id = Module::Build
    CPAN_USERID  LEONT (Leon Timmermans <fawaka@gmail.com>)
    CPAN_VERSION 0.4224
    CPAN_FILE    L/LE/LEONT/Module-Build-0.4224.tar.gz
    MANPAGE      Module::Build - Build and install Perl modules
    INST_FILE    /usr/share/perl5/vendor_perl/Module/Build.pm
#   INST_VERSION 0.4005


cpan[3]>

Mettez à jour les deux modules via CPAN Shell pour avoir la dernière version.

cpan[3]#> upgrade ExtUtils::MakeMaker
cpan[4]#> upgrade Module::Build

Installez également ces deux modules :

cpan[5]#> install YAML
cpan[6]#> install Time::Piece

Quittez le CPAN : exit

Relancez l’installation :

[root@centreon vmware-vsphere-cli-distrib]# ./vmware-install.pl

Setup Perl CPAN Perl SDK VMware

Patientez …

In which directory do you want to install the executable files?
[/usr/bin]

Laissez le répertoire par défaut et Entrée.

Install SDK Perl VMware For Centreon

N’hésitez pas à mettre à jour les modules Perl sur l’image ci-dessus. Exemple pour mettre à jour le module Try::Tiny v 0.28 

[root@centreon tmp]# cpan
...
cpan[1]#> upgrade Try::Tiny
Reading '/root/.cpan/Metadata'
...
Package namespace         installed    latest  in CPAN file
Try::Tiny                      0.12      0.30  ETHER/Try-Tiny-0.30.tar.gz
Running install for module 'Try::Tiny'
Running make for E/ET/ETHER/Try-Tiny-0.30.tar.gz
...
...

Installation Centreon-VMware

Passons maintenant à l’installation du connecteur Centreon-vmware sous le serveur Centreon.

Installer le connecteur VMWare :

[root@hd-centreon plugins]# yum install centreon-plugin-Virtualization-VMWare-daemon.noarch

Installer le client :

[root@centreon plugins]# yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin.noarch

Téléchargez le package depuis Github :

[root@centreon ~]# cd /tmp
[root@centreon tmp]# git clone https://github.com/centreon/centreon-vmware.git
Cloning into 'centreon-vmware'...
remote: Counting objects: 1469, done.
remote: Total 1469 (delta 0), reused 0 (delta 0), pack-reused 1469
Receiving objects: 100% (1469/1469), 801.22 KiB | 565.00 KiB/s, done.
Resolving deltas: 100% (922/922), done.
[root@centreon tmp]#
[root@centreon tmp]# cd centreon-vmware/
[root@centreon centreon-vmware]#
[root@centreon centreon-vmware]# ll
total 36
drwxr-xr-x 4 root root    34 22 juil. 17:26 centreon
-rw-r--r-- 1 root root  1451 22 juil. 17:26 centreon_vmware.pl
-rw-r--r-- 1 root root  1562 22 juil. 17:26 changelog
drwxr-xr-x 5 root root    48 22 juil. 17:26 contrib
drwxr-xr-x 4 root root    26 22 juil. 17:26 doc
-rw-r--r-- 1 root root 11358 22 juil. 17:26 LICENSE
-rw-r--r-- 1 root root 11357 22 juil. 17:26 LICENSE.txt
-rw-r--r-- 1 root root  3462 22 juil. 17:26 README.md
[root@centreon centreon-vmware]#

Exécutez ces commandes l’une après l’autre :

[root@centreon centreon-vmware]# cp centreon_vmware.pl /usr/bin/
[root@centreon centreon-vmware]# cp contrib/config/centreon_vmware-conf.pm /etc/centreon/centreon_vmware.pm
[root@centreon centreon-vmware]# cp contrib/redhat/centreon_vmware-init /etc/init.d/centreon_vmware
[root@centreon centreon-vmware]# cp contrib/redhat/centreon_vmware-sysconfig /etc/sysconfig/centreon_vmware
[root@centreon centreon-vmware]# chmod 775 /etc/init.d/centreon_vmware /usr/bin/centreon_vmware.pl
[root@centreon centreon-vmware]#
[root@centreon centreon-vmware]# mkdir -p /usr/lib/perl5/vendor_perl/centreon/vmware/ /usr/lib/perl5/vendor_perl/centreon/script/
[root@centreon centreon-vmware]# cp centreon/vmware/* /usr/share/perl5/vendor_perl/centreon/vmware/
[root@centreon centreon-vmware]# cp centreon/script/centreon_vmware.pm /usr/share/perl5/vendor_perl/centreon/script/
[root@centreon centreon-vmware]#
[root@centreon centreon-vmware]# chkconfig --level 2345 centreon_vmware on
[root@centreon centreon-vmware]# 
[root@centreon centreon-vmware]# cp -R /usr/lib/centreon/plugins /usr/share/perl5/vendor_perl/centreon/

Activer le démarrage automatique :

[root@centreon centreon-vmware]# systemctl daemon-reload
[root@centreon centreon-vmware]# systemctl enable centreon_vmware

Ajoutez les droits Centreon à ces deux fichiers :

[root@centreon plugins]# chmod 775 /var/log/centreon/centreon_vmware.log
[root@centreon plugins]# chmod 775 /tmp/centreon_vmware/
[root@centreon plugins]# chown centreon: /var/log/centreon/centreon_vmware.log
[root@centreon plugins]# chown centreon: /tmp/centreon_vmware/

Configuration de Centreon-VMware afin que l’on puisse se connecter sur le vCenter Server (vSphere Web Client) automatiquement.

Ouvrir le fichier de configuration et ajoutez-y les informations de votre vCenter Server.

[root@centreon centreon-vmware]# cd /etc/centreon

Éditez le fichier :

[root@centreon centreon]# nano centreon_vmware.pm
%centreon_vmware_config = (
        vsphere_server => {
                        'default' => {'url' => 'https://172.16.1.7/sdk',
                                     'username' => 'administrator@vpshere.local',
                                     'password' => 'Pa$$w@rd'}
                        }
);

1;

‘default’ = c’est le nom du container. Il est possible de le modifier et d’en rajouter d’autres vCenter à superviser dans ce fichier même.

Testez à l’aide de la commande suivante :

[root@centreon centreon]# /usr/bin/perl /usr/bin/centreon_vmware.pl --config=/etc/centreon/centreon_vmware.pm

Vous devez avoir quelque chose dans ce genre :

"my" variable $be masks earlier declaration in same statement at /usr/share/perl5/vendor_perl/centreon/vmware/cmdnethost.pm line 209.
"my" variable $exit masks earlier declaration in same scope at /usr/share/perl5/vendor_perl/centreon/vmware/cmdnethost.pm line 271.
2018-07-22 19:31:04 - Create vsphere sub-process for 'default'
2018-07-22 19:31:04 - [Server accepting clients]
2018-07-22 19:31:04 - 'default' init begin
2018-07-22 19:31:04 - 'default' init done
2018-07-22 19:31:04 - 'default' Vsphere connection in progress
2018-07-22 19:31:05 - 'default' Vsphere connection ok
2018-07-22 19:31:05 - 'default' Create perf counters cache in progress
2018-07-22 19:31:05 - 'default' Create perf counters cache done

Ctrl + C pour arrêter.

Mise à jour Centreon-VMWare

Avec la dernière version des plugins packs centreon, vous allez avoir droit à l’erreur suivante :

UNKNOWN: response format incorrect - need connector vmware version >= 3.x.x

Il suffit de recommencer l’opération avec la dernière version du module Centreon-vmware en écrasant les anciennes fichiers. (Il faut donc re-télécharger le module centreon-vmware)

Remarque : pour écraser les fichiers d’un seul coup, utiliser la commande CP de cette manière : /bin/cp …

Redémarrer ensuite le service centreon_vmware :

[root@centreon plugins]# service centreon_vmware status
centreon_vmware.pl (pid  2560 2531) en cours d'exécution...
[root@centreon plugins]#
[root@centreon plugins]# service centreon_vmware restart
Stopping centreon_vmware:                                  [  OK  ]
Starting centreon_vmware:                                  [  OK  ]
[root@centreon plugins]#

Si vous avez l’erreur :

Cannot bind ipc '/tmp/centreon_vmware/routing.ipc': Adresse déjà utilisée

Ajoutez les droits Centreon à ces deux fichiers :

[root@centreon plugins]# chmod 775 /var/log/centreon/centreon_vmware.log
[root@centreon plugins]# chmod 775 /tmp/centreon_vmware/
[root@centreon plugins]# chown centreon: /var/log/centreon/centreon_vmware.log
[root@centreon plugins]# chown centreon: /tmp/centreon_vmware/

Passons maintenant à la supervision des serveurs ESXi.

Supervision VMware ESXi (CLI)

Getmap List ESXi

Avant de commencer, faisons un test pour vérifier le bon fonctionnement de notre installation. Nous allons lister les hôtes ESX et les machines virtuelles :

Depuis votre serveur Centreon :

[root@centreon ~]# cd /usr/lib/centreon/plugins

Lancez la commande suivante :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=getmap

J’ai bien la liste :

List ESX host(s):
  vm-esxi.pixelabs.local [v6.7.0] :
      vcenter [poweredOff]
[root@centreon plugins]#

Et c’est bien le cas :

Getmap VMware vCenter Server ESXi Centreon

A vous de jouer maintenant. Voici les modes disponibles :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --list-mode

Plugin Description:
    Check VMWare with centreon-vmware connector.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

    --custommode
            Choose a custom mode.

    --list-custommode
            List available custom modes.

    --multiple
            Multiple custom mode objects (some mode needs it).

Modes Available:
   alarm-datacenter
   alarm-host
   countvm-host
   cpu-host
   cpu-vm
   datastore-countvm
   datastore-host
   datastore-io
   datastore-iops
   datastore-snapshot
   datastore-usage
   datastore-vm
   device-vm
   discovery
 # getmap
   health-host
   limit-vm
   list-clusters
   list-datacenters
   list-datastores
   list-nichost
   maintenance-host
   memory-host
   memory-vm
   net-host
   service-host
   snapshot-vm
   stat-connectors
   status-host
   status-vm
   swap-host
   swap-vm
   thinprovisioning-vm
   time-host
   tools-vm
   uptime-host
   vmoperation-cluster 
[root@centreon plugins]#

Check-health-ESXi

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=health-host --esx-hostname='vm-esxi.pixelabs.local'
...
OK: 'vm-esxi.pixelabs.local' 0 health checks are green | 'problems'=0;;;0;0
[root@centreon plugins]#

Check-status-ESXi

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=status-host --esx-hostname='vm-esxi.pixelabs.local'
...
OK: 'vm-esxi.pixelabs.local' is OK |
[root@centreon plugins]#

Check-datastore-usage

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=datastore-usage --datastore-name=datastore1 --warning-usage=80 --critical-usage=90
...
OK: Datastore 'datastore1' Total: 56.50 GB Used: 31.41 GB (55.59%) Free: 25.09 GB (44.41%) Provisioned: 34.58 GB (61.21%) | 'used'=33722204160B;0:48533130444;0:54599771750;0;60666413056 'provisioned'=37134115263B;;;0;60666413056
[root@centreon plugins]#

Check-memory-ESXi

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=memory-host --esx-hostname='vm-esxi.pixelabs.local' --warning-consumed-memory=80 --critical-consumed-memory=90 --sampling-period=20
...
OK: 'vm-esxi.pixelabs.local' Memory Total: 8.00 GB Used: 1.11 GB (13.86%) Free: 6.89 GB (86.14%), Memory state : high | 'used'=1190117376B;0:6871515136;0:7730454528;0;8589393920 'overhead'=0B;;;0; 'state'=0;;;0;3
[root@centreon plugins]#

Afficher de l’aide pour voir les options de seuil : ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --mode=memory-host --help

–sampling-period : Choose the sampling period (can change the default sampling for counters). Should be not different than 300 or 20.

Supervision VMware ESXi vCenter Server

Check-status-vm

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=status-vm --vm-hostname=vcenter                          
...
OK: 'vcenter' is OK |
[root@centreon plugins]#

Check-CPU-ESXi

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=cpu-host --esx-hostname='vm-esxi.pixelabs.local'
...
OK: 'vm-esxi.pixelabs.local' Total Average CPU usage '9.98%' on last 5 min | 'cpu_total'=9.98%;;;0;100 'cpu_total_MHz'=676.00MHz;;;0;6784 'cpu0'=8.57%;;;0;100 'cpu1'=11.38%;;;0;100
[root@centreon plugins]#

Check-net-host (traffic)

Check-traffic ESXi

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=net-host --esx-hostname='vm-esxi.pixelabs.local' --sampling-period=20
...
OK: 'vm-esxi.pixelabs.local' Interface 'vmnic0' Traffic In : 8.19Kb/s (0.00 %), Out : 0.00b/s (0.00 %), Packets In Dropped : 0.00 % (0/208 packets), Packets Out Dropped : 0.00 % (0/24 packets) | 'traffic_in'=8192.00b/s;;;0;1048576000 'traffic_out'=0.00b/s;;;0;1048576000 'packets_dropped_in'=0.00%;;;0;100 'packets_dropped_out'=0.00%;;;0;100
[root@centreon plugins]#

Check-VSAN-Cluster-Usage

Ce nouveau mode nécessite la mise à jour de Centreon_vmware vers la dernière version (3.1.0 à ce jour) et l’installation du package VSAN Perl SDK 6.7+. Sinon, vous allez vous retrouver avec l’erreur suivante :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=vsan-cluster-usage
UNKNOWN: Vsan is not enabled in vmware connector |
[root@hd-centreon plugins]#

Il faut donc télécharger et installer (de la même manière ci-dessus) la dernière version de Centreon_vmware ainsi que le package VSAN Perl SDK 6.7.0 (voir le lien au début de l’article). J’ai pris la même version que VMWare Perl SDK (6.7).

Uploader l’archive VSAN Perl SDK sur votre serveur Centreon dans le dossier /tmp et dézipper l’archive :

[root@centreon plugins]# unzip vsan-sdk-perl.zip

Copier les deux fichiers qui se trouvent dans le répertoire “bindings” à l’emplacement suivant :

[root@centreon plugins]# cp /tmp/vsan-sdk-perl/bindings/* /root/perl5/lib/perl5/VMware/
[root@centreon plugins]# cp /tmp/vsan-sdk-perl/bindings/* /usr/lib/vmware-vcli/VMware/share/VMware/
[root@centreon plugins]# cp /tmp/vsan-sdk-perl/bindings/* /usr/local/share/perl5/VMware/
[root@centreon plugins]# cp /tmp/vsan-sdk-perl/bindings/* /usr/share/perl5/VMware/
[root@centreon plugins]# cp /tmp/vsan-sdk-perl/bindings/* /usr/share/perl5/perl5/

Relancer le connecteur vmware :

[root@centreon ~]# systemctl restart centreon_vmware
[root@centreon ~]#
[root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=vsan-cluster-usage --cluster-name=DMZ
OK:  |
[root@centreon plugins]#

Remarque : si vous n’avez pas les mêmes variables d’environnement que moi. Les deux fichiers en question doivent se trouver dans les même répertoires que le fichier suivant :  VIM25Runtime.pm

Pour cela, vous devez effectuer une recherche pour voir ou se trouve ce fichier. Pour effectuer facilement une recherche, installer le package MLOCATE

Lancer la recherche :

[root@centreon ~]# updatedb
[root@centreon ~]#
[root@centreon ~]# locate VIM25Runtime.pm
/root/perl5/lib/perl5/VMware/VIM25Runtime.pm
/usr/lib/vmware-vcli/VMware/share/VMware/VIM25Runtime.pm
/usr/local/share/perl5/VMware/VIM25Runtime.pm
/usr/share/perl5/VMware/VIM25Runtime.pm
/usr/share/perl5/perl5/VMware/VIM25Runtime.pm
[root@centreon ~]#

Nous avons donc 5 emplacements. Il faut donc copier les deux fichiers VIM25VsanmgmtRuntime.pm et VIM25VsanmgmtStub.pm dans ces emplacements.

UPDATE #1 : SUPERVISION VIA CENTREON WEB

Supervision VMware ESXi (Centreon Web)

Connectez-vous à l’interface web de Centreon. Nous allons commencer par créer des macros, les commandes, l”hôte ESXi et les services.

  • Allez dans : Configuration > Collecteurs > Ressources 
  • Ajoutez les macros ci-dessous :
    • $_SERVICECONNECTOR$
    • $_SERVICECONTAINER$
    • $_SERVICEMODE$
    • $_SERVICEESXNAME$
    • $_SERVICEOPTION$
    • $_SERVICEWARNING$
    • $_SERVICECRITICAL$

Création de macros Centreon

Commande-Check-Health-ESXi

Nous allons maintenant créer les commandes. Je vous montres quelques exemples et à vous de faire le reste. En cas de besoin, n’hésitez surtout pas à me demander en commentaire.

  • Allez dans Configuration > Commandes > Ajouter
  • Nom de commande : Check-Health-ESXi
  • Ligne de commande : copier/coller
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --custommode=connector --connector-hostname=$_SERVICECONNECTOR$ --container=$_SERVICECONTAINER$ --mode=$_SERVICEMODE$ --esx-hostname=$_SERVICEESXNAME$ $_SERVICEOPTION$

Rappel : $USER2$ chemin des plugins Centreon.

Check health ESXi Centreon

  • Décrire les macros
  • Sauvegarder

Commande-Check-Memory-ESXi

  • Allez dans Configuration > Commandes > Ajouter
  • Nom de commande : Check-Memory-ESXi
  • Ligne de commande : copier/coller
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --custommode=connector --connector-hostname=$_SERVICECONNECTOR$ --container=$_SERVICECONTAINER$ --mode=$_SERVICEMODE$ --esx-hostname=$_SERVICEESXNAME$ --warning-consumed-memory=$_SERVICEWARNING$ --critical-consumed-memory=$_SERVICECRITICAL$ $_SERVICEOPTION$
  • Décrire les macros
  • Sauvegarder

Commande-Check-CPU-ESXi

  • Allez dans Configuration > Commandes > Ajouter
  • Nom de commande : Check-CPU-ESXi
  • Ligne de commande : copier/coller
$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --custommode=connector --connector-hostname=$_SERVICECONNECTOR$ --container=$_SERVICECONTAINER$ --mode=$_SERVICEMODE$ --esx-hostname=$_SERVICEESXNAME$ --warning-total-cpu=$_SERVICEWARNING$ --critical-total-cpu=$_SERVICECRITICAL$
  • Décrire les macros
  • Sauvegarder

Création d’hôte ESXi

  • Allez dans Configuration > Hôte > Ajouter
  • Adapter les paramètres :

Creation Hote Centreon Monitoring

  • Sauvegarder

Remarque : voici la commande check_centreon_ping :

$USER1$/check_icmp -H $HOSTADDRESS$ -n $ARG1$ -w $ARG2$ -c $ARG3$

ou encore :

$USER1$/check_centreon_ping -H $HOSTADDRESS$ -w 200,20% -c 500,40%

C’est juste un ping d’hôte.

Création de services

Nous allons maintenant créer les services pour notre ESXi.

Service-Check-Health-ESXi

  • Allez dans Configuration > Services > Ajouter
    • Description : Check-Health
    • Lié aux hôtes : ESXi-HOST (votre serveur ESXi)
    • Commande de vérification : sélectionnez la commande : Check-Health-ESXi
    • PLUGIN : apps::vmware::connector::plugin

Check health ESXi Centreon Service

  • CONNECTOR : L’adresse de votre serveur Centreon (localhost ou l’adresse IP). On passe par le fichier de conf centreon_vmware ci-dessous :

Centreon vmware Conf vSphere vCenter

  • OPTION : --filter --disconnect-status='ok' --verbose
  • Valider la création du service:

Service-Check-CPU-ESXi

  • Allez dans Configuration > Services > Ajouter
    • Description : Check-CPU
    • Lié aux hôtes : ESXi-HOST (votre serveur ESXi)
    • Commande de vérification : sélectionnez la commande : Check-CPU-ESXi
    • PLUGIN : apps::vmware::connector::plugin

Check CPU ESXi Usage Centreon

  • Valider

Service-Check-Memory-ESXi

  • Allez dans Configuration > Services > Ajouter
    • Description : Check-Memory
    • Lié aux hôtes : ESXi-HOST (votre serveur ESXi)
    • Commande de vérification : sélectionnez la commande : Check-Memory-ESXi
    • PLUGIN : apps::vmware::connector::plugin

Check Memory ESXi Centreon

  • Enregistrer

Monitoring VMWare vCenter ESXi (Résultat)

Exporter la configuration pour prendre en compte les nouveaux services. Voir comment exporter la configuration ici : Exporter

Après quelques secondes, voici le résultat.

vCenter ESXi Monitoring Centreon Server

C’est terminé les amis. A vous de mettre en place les autres modes. Voir également mon pack d’icônes pour Centreon ici : centreon-icones-pack/

Mon projet sur la mise en place et la supervision d’un serveur VMWare ESXi est terminé . En cas de besoin, n’hésitez pas à me demander en commentaire ou via le forum.

Bonne journée et à bientôt.

La rédaction de cette documentation demande beaucoup de temps, de motivation, mais surtout beaucoup de café 🙂
Vous aimez pixelabs ?
Offrez moi un petit café en cliquant sur la tasse ci-dessous.
pixelans_donation
Merci !

65 réponses

  1. sysadmin sysadmin dit :

    Mise à jour de l’article. Ajout : Check-VSAN-Cluster-Usage

  2. Crowley dit :

    Hello,

    As-tu essayé le nouveau mode “vsan-cluster-usage” ? J’essaie de le faire marcher depuis quelques temps mais en vain.
    J’ai téléchargé les SDK vSAN 6.7. Copié les 2 fichiers .pm (VIM25VsanmgmtRuntime.pm et VIM25VsanmgmtStub.pm) dans /usr/share/perl5/VMware. Redmemarré le service centreon_vmware. Et à partir de là. Plus aucun plugin VMware ne fonctionne. Je me retrouve avec l’erreur “UNKNOWN: Container connection problem”.

    Dès que je retire les deux fichiers .pm tout repart comme il faut.

    J’ai pas trouvé grand chose sur internet

    • sysadmin sysadmin dit :

      Hello,
      Non, je n’ai pas encore testé les nouveaux modes.
      Je vais voir de mon côté des que possible et je mettrais à jour l’article si nécessaire 🙂
      Bonne journée.
      -sysadmin

  3. Biggie dit :

    Hello sysadmin,

    Je reviens vers toi car cela fais plusieurs fois, sans que j’arrive à déterminer la raison, que toutes mes commandes passent en état “UNKNOWN” et me retourne l’erreur : UNKNOWN: Cannot get response (timeout received).
    Puis reviennent à la normal, sans que je touche quoi que ce soit.
    Tous les services sont bien lancés, daemon-reload est bien activé aussi.
    Aurais-tu une idée de pourquoi cela se passe-t il ?

    • sysadmin sysadmin dit :

      Salut,
      Il me faut plus d’information. Il y a quoi dans les logs :

      tail -f /var/log/centreon/centreon_vmware.log

      -sysadmin

      • Biggie dit :

        Voici le détail des logs qui correspond à peu près avec l’horaire à laquelle mes services sont passés en UNKNOWN :

        length() used on @array (did you mean “scalar(@array)”?) at /usr/lib64/perl5/IO/Compress/Zlib/Extra.pm line 198.
        2019-10-24 09:43:34 – ‘default’ SOAP request error – possibly a protocol issue: 500 Server closed connection without sending any data back

        length() used on @array (did you mean “scalar(@array)”?) at /usr/lib64/perl5/IO/Compress/Zlib/Extra.pm line 198.
        2019-10-24 09:55:59 – ‘default’ SOAP request error – possibly a protocol issue: 500 Server closed connection without sending any data back

        Je n’ai effectué aucune manipulation, et ils sont revenues à la normal vers 10:02.

        • sysadmin sysadmin dit :

          Tu peux mettre à jour ces modules perl pour voir ce que ça donne :

          [root@vm-centreon ~]# cpan Compress::Raw::Bzip2
          [root@vm-centreon ~]# cpan Compress::Raw::Zlib
          [root@vm-centreon ~]# cpan IO::Socket::SSL
          [root@vm-centreon ~]# cpan Net::SSLeay
          [root@vm-centreon ~]# cpan IO::Compress::Zlib::Extra

          Tiens moi au courant.
          -sysadmin

          • Biggie dit :

            J’ai effectué les MAJ de ces modules perl, aucun changement d’état depuis! Parfait donc.
            J’ai une dernière question concernant le plugin alcatel::oxe.
            Je souhaite superviser l’état de mes T2 Alcatel, or lorsque je supervise via ce plugin, il ne met l’état UP/DOWN que du serveur directement et non des T2. Aurais-tu une idée de comment configurer ce plugin pour seulement superviser l’état des T2 ?

            Cordialement.

          • sysadmin sysadmin dit :

            Salut,
            Aucune idée, désolé.
            Bonne journée.
            -sysadmin.

  4. Biggie dit :

    Bonjour,

    Tout d’abord, merci beaucoup pour ce tutoriel complet!
    Grâce à lui je n’ai eu aucun mal à superviser mon ESXi.

    j’ai une petite question concernant le mode “snapshot-vm” du plugin.
    Est-il possible de modifier la valeur de la durée de ce mode ?

    Je m’explique, lorsque je rentre une donnée type pour “WARNING” & “CRITICAL”, le check s’effectue toujours en secondes. J’aimerais changer le check en jours et non en secondes. Après une multitude de recherche je n’arrive pas à trouver la réponse.

    Merci par avance!

    Cordialement.

    • sysadmin sysadmin dit :

      Salut Biggie,
      Oui, c’est possible. Voici la commande :

      [root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=snapshot-vm --unit='d' --warning=2 --critical=5 --vm-hostname='VM-PIXEL' --filter
      CRITICAL: Snapshots for VM older than 5 days: [VM-PIXEL - Applications pixelabs] | 'num_warning'=0;;;0; 'num_critical'=1;;;0;
      [root@centreon plugins]#

      Voici les paramètres pour –unit :

      --unit : 's' for seconds, 
               'm' for minutes, 
               'h' for hours, 
               'd' for days, 
               'w' for weeks.

      Bonne journée,
      -sysadmin.

      • Biggie dit :

        Merci beaucoup c’est parfait !!!!
        Auriez-vous une commande qui résume toutes les options d’un plugin ?
        Autre que –list-mode ? En effet le “-unit=” je ne l’ai vu nul part.

        Bonne journée également,

        • sysadmin sysadmin dit :

          Tu peux afficher les paramètres depuis la page aide du plugin :

          [root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=snapshot-vm --help

          -sysadmin.

  5. lyes dit :

    Bonjour,

    Meme problème que Martial :

    Lorsque je veux tester la connexion ( avec la commande ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=getmap ) ca part en Timeout

    le service centreon_vmware est bien démarré et les versions esxi et perl-SDK me paraissent correctes (6.7.0)

    Et merci pour ton article.

    • sysadmin sysadmin dit :

      Salut,
      Il me faut plus d’info.
      ça donne quoi les logs ?

      tail -f /var/log/centreon/centreon_vmware.log

      et le service centreon_vmware :

       systemctl status centreon_vmware

      Le module se connecte bien à ton serveur vCenter ?

      /usr/bin/perl /usr/bin/centreon_vmware.pl --config=/etc/centreon/centreon_vmware.pm

      Penses à mettre à jour les plugins Centreon.
      -sysadmin

      • lyes dit :

        Voici pour les logs :

        [root@sv-centreon plugins]# tail -f /var/log/centreon/centreon_vmware.log                                                                                               
        Use of uninitialized value in transliteration (tr///) at /usr/local/share/perl5/VMware/VICommon.pm line 495.                                                            
        2019-10-18 13:54:39 - 'default' SOAP request error - possibly a protocol issue: Server closed connection without sending any data back at /usr/local/share/perl5/Net/HTT
        P/Methods.pm line 391.
        
        2019-10-18 14:00:13 - 'default' SOAP request error - possibly a protocol issue: Server closed connection without sending any data back at /usr/local/share/perl5/Net/HTT
        P/Methods.pm line 391.
        
        2019-10-18 14:29:43 - SOAP request error - possibly a protocol issue: Server closed connection without sending any data back at /usr/local/share/perl5/Net/HTTP/Methods.
        pm line 391. 

        Le service :

        centreon_vmware.service - Centreon VMWare                                                                                                                             
           Loaded: loaded (/etc/systemd/system/centreon_vmware.service; enabled; vendor preset: disabled)                                                                       
           Active: active (running) since Fri 2019-10-18 13:59:35 CEST; 2h 42min ago                                                                                            
         Main PID: 18468 (perl)                                                                                                                                                 
           CGroup: /system.slice/centreon_vmware.service                                                                                                                        
                   ├─18468 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
                   └─18475 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error

        Oct 18 13:59:35 sv-centreon systemd[1]: Stopped Centreon VMWare.
        Oct 18 13:59:35 sv-centreon systemd[1]: Started Centreon VMWare.

        et le module à l’air de se connecter :

        [root@sv-centreon plugins]# /usr/bin/perl /usr/bin/centreon_vmware.pl --config=/etc/centreon/centreon_vmware.pm                                                         
        2019-10-18 16:42:31 - Create vsphere sub-process for 'default'                                                                                                          
        2019-10-18 16:42:31 - [Server accepting clients]                                                                                                                        
        2019-10-18 16:42:31 - 'default' init begin                                                                                                                              
        2019-10-18 16:42:31 - 'default' init done                                                                                                                               
        2019-10-18 16:42:31 - 'default' Vsphere connection in progress                                                                                                          
        2019-10-18 16:42:31 - 'default' Vsphere connection ok                                                                                                                   
        2019-10-18 16:42:31 - 'default' Create perf counters cache in progress                                                                                                  
        2019-10-18 16:42:31 - 'default' Create perf counters cache done
        • sysadmin sysadmin dit :

          Effectivement, tout va bien et le module fonctionne très bien. Les plugins Centreon sont à jour ?
          Si oui, essaies d’augmenter la valeur Timeout. (Ta commande fonctionne très bien chez moi sans le paramètre timeout).
          Ajoutes le paramètre Timeout=60 voici la commande :

          ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=getmap --timeout=60

          En tous cas, côté Centreon tout à l’air bon.

          • lyes dit :

            bonjour,

            J’ai mis à jour les plugins mais les màj effectuées concernaient seulement les applis AWS …
            la commande part toujours en timeout malgré l’ajout de l’argument –timeout=60

            sur l’interface vSphere il n’y aurait pas une config à faire pour accepter les connexions venant de Centreon ?

            merci

          • sysadmin sysadmin dit :

            Salut,
            C’est vraiment bizarre !
            Non, je n’ai fait aucune conf côté vCenter (sauf si tu as un firewall qui bloque)
            Tu peux me montrer la configuration de ton fichier centreon_vmware.pm ? C’est dans cd /etc/centreon
            -sysadmin

          • lyes dit :

            le vCenter n’est pas dans le même LAN que centreon mais j’ai une règle de routage qui autorise.

            voici le fichier centreon_vmware.pm :

            %centreon_vmware_config = (
            vsphere_server => {
            ‘default’ => {‘url’ => ‘https://192.168.x.x/sdk’,
            ‘username’ => ‘administrator@vsphere.local’,
            ‘password’ => ‘XXXXXXXX’}
            }
            );

            1;

          • sysadmin sysadmin dit :

            Nickel la conf, je ne vois aucun problème côté Centreon. Regardes tes règles de routage si ça passe dans les deux sens.
            Sinon, je ne sais pas désolé :-/
            bonne journée.
            sysadmin.

  6. sysadmin sysadmin dit :

    Mise à jour de l’article. Testé avec la dernière version de Centreon (19.04.3) = OK

  7. Thor dit :

    Bonjour,
    J’ai un problème, lorsque j’execute la commande : /usr/bin/perl /usr/bin/centreon_vmware.pl –config=/ etc/centreon/centreon_vmware.pm
    je me retrouve avec un message d’erreur

    Can’t locate JSON/XS.pm in @INC (@INC contains: /usr/lib64/perl5/libwww-perl-5.8 37/lib /usr/lib64/perl5 /usr/bin /usr/local/lib64/perl5 /usr/local/share/perl5 / usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/share/perl5 .) at /usr/share/perl5/vendor_perl/centreon/script/centreon_vmware.pm line 31.
    BEGIN failed–compilation aborted at /usr/share/perl5/vendor_perl/centreon/scrip t/centreon_vmware.pm line 31.
    Compilation failed in require at /usr/bin/centreon_vmware.pl line 23.
    BEGIN failed–compilation aborted at /usr/bin/centreon_vmware.pl line 23.

    j’ai essayé de réinstaller cpan mais toujours le même soucis.
    As tu une idée ?

    • sysadmin sysadmin dit :

      Salut,
      Il te manque des modules perl. Tu peux les installer :

      [root@centreon ~]# cpan -i YAML
      [root@centreon ~]# cpan -i JSON
      [root@centreon ~]# cpan -i JSON::XS

      Bonne journée.
      -sysadmin

  8. Crowley dit :

    Bonjour,
    Je me permets de t’embêter encore un peu désolé 🙂
    Sais-tu si il est possible de monitorer les ressources (CPU, Memory) d’un cluster complet. Pas forcément des hosts un par un.
    En gros remonter les infos que l’on peut trouver dans l’onglet Summary du Cluster.

    Merci !

  9. Crowley dit :

    Bonjour,

    Merci pour tes tuto très clairs et complets 🙂
    Je bloque a l’installation des SDK. Apparemment le script n’arrive pas à changer les droit d’accès sur /usr/bin/esxcli.

    In which directory do you want to install the executable files?
    [/usr/bin]

    Please wait while copying vSphere CLI files…

    Unable to change the access rights of the file /usr/bin/esxcli.

    Execution aborted.

    L’installeur est lancé en root

  10. Landregen dit :

    Bonjour, merci pour ce tuto.
    Je n’arrive pas à faire démarrer le service centreon_vmware, j’ai le message suivant :

    [root@srvsup01 centreon]# service centreon_vmware status                                                                                                           
    ● centreon_vmware.service - SYSV: centreon_vmware is a Centreon program that manage Vpshere Checks
       Loaded: loaded (/etc/rc.d/init.d/centreon_vmware; bad; vendor preset: disabled)
       Active: failed (Result: exit-code) since mer. 2019-06-05 10:34:48 CEST; 44s ago
         Docs: man:systemd-sysv-generator(8)
      Process: 9774 ExecStart=/etc/rc.d/init.d/centreon_vmware start (code=exited, status=1/FAILURE)
       CGroup: /system.slice/centreon_vmware.service
               ├─6232 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
               └─6467 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
    
    juin 05 10:34:48 srvsup01 systemd[1]: Starting SYSV: centreon_vmware is a Centreon program that manage Vpshere Checks...
    juin 05 10:34:48 srvsup01 centreon_vmware[9774]: Starting centreon_vmware: cannot start centreon_vmware: centreon_vmware is already running.[ÉCHOUÉ]
    juin 05 10:34:48 srvsup01 systemd[1]: centreon_vmware.service: control process exited, code=exited status=1
    juin 05 10:34:48 srvsup01 systemd[1]: Failed to start SYSV: centreon_vmware is a Centreon program that manage Vpshere Checks.
    juin 05 10:34:48 srvsup01 systemd[1]: Unit centreon_vmware.service entered failed state.
    juin 05 10:34:48 srvsup01 systemd[1]: centreon_vmware.service failed.
    • sysadmin sysadmin dit :

      Salut,
      Même en RElançant le service : systemctl restart centreon_vmware
      Peux-tu me montrer le fichier log :
      tail -f /var/log/centreon/centreon_vmware.log

      -Pixel.

      • landregen dit :

        edit by sysadmin :

        2019-06-18 14:07:49 - Cannot bind ipc '/tmp/centreon_vmware/routing.ipc': Adresse déjà utilisée
        2019-06-18 14:07:49 - Maybe dirctory not exist. We try to create it!!!
  11. Markus dit :

    Bounjour,

    excusez mon mauvais français, s’il vous plaît 🙂
    J’ai une probléme avec “check-memory”
    Je ne peux pas utiliser “warning” et “critical” paramètre.

    "./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=XXX-VC01 --mode=memory-host --no-memory-state --warning=85 --critical=90"
    
    "Unknown option: warning at /usr/lib64/nagios/plugins/centreon/plugins/alternative/Getopt.pm line 67."

    Any idea?
    Thanks in advance for your help 🙂

    Meilleur souvenir d’Allemagne !

    • sysadmin sysadmin dit :

      Hello Markus 🙂
      Yeh, I’ll update the article.
      With the latest version of Centreon Plugins Pack, it is now necessary to put :

      --warning-consumed-memory and --critical-consumed-memory

      like this :

      /centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=XXX-VC01 --mode=memory-host --no-memory-state --warning-consumed-memory=85 --critical-consumed-memory=90

      This is full help :

      ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --mode=memory-host --help

      Mode:
          Check ESX memory usage.
      
          --esx-hostname
                  ESX hostname to check. If not set, we check all ESX.
      
          --filter
                  ESX hostname is a regexp.
      
          --scope-datacenter
                  Search in following datacenter(s) (can be a regexp).
      
          --scope-cluster
                  Search in following cluster(s) (can be a regexp).
      
          --units Units of thresholds (Default: '%') ('%', 'B').
      
          --free  Thresholds are on free space left.
      
          --unknown-status
                  Set warning threshold for status (Default: '%{status} !~
                  /^connected$/i'). Can used special variables like: %{status}
      
          --warning-status
                  Set warning threshold for status (Default: ''). Can used special
                  variables like: %{status}
      
          --critical-status
                  Set critical threshold for status (Default: ''). Can used
                  special variables like: %{status}
      
          --warning-consumed-memory
                  Threshold warning (can use unit option).
      
          --critical-consumed-memory
                  Threshold critical (can use unit option).
      
          --warning-overhead-memory
                  Threshold overhead.
      
          --critical-overhead-memory
                  Threshold critical.
      
          --warning-state-memory
                  Threshold warning. For state != 'high': --warning-state=0
      
          --critical-state-memory
                  Threshold critical. For state != 'high': --warning-state=0
      
          --no-memory-state
                  Don't check memory state.

      Edit command to :

      $USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --custommode=connector --connector-hostname=$_SERVICECONNECTOR$ --container=$_SERVICECONTAINER$ --mode=$_SERVICEMODE$ --esx-hostname=$_SERVICEESXNAME$ --warning-consumed-memory=$_SERVICEWARNING$ --critical-consumed-memory=$_SERVICECRITICAL$ $_SERVICEOPTION$

      Bonne journée 🙂
      -Pixel.

  12. sysadmin sysadmin dit :

    mise à jour de l’article :
    Centreon-vmware

  13. stef dit :

    Hello Pixel
    je sèche lors du test du script :
    /usr/bin/perl /usr/bin/centreon_vmware.pl --config=/etc/centreon/centreon_vmware.pm

    j’obtiens cette erreur…

    Can't locate JSON/XS.pm in @INC (@INC contains: /usr/bin /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/5.16.3 /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5 /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/share/perl5/vendor_perl/centreon/script/centreon_vmware.pm line 31.
    BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/centreon/script/centreon_vmware.pm line 31.
    Compilation failed in require at /usr/bin/centreon_vmware.pl line 23.
    BEGIN failed--compilation aborted at /usr/bin/centreon_vmware.pl line 23.

    JSON me semble installé?

    sudo cpan JSON
    Reading '/root/.cpan/Metadata'
      Database was generated on Mon, 08 Apr 2019 02:29:02 GMT
    JSON is up to date (4.02).
    • sysadmin sysadmin dit :

      Hello stef,
      Installe le module perl XS.pm :

      [root@pixelabs ~]# cpan -i JSON::XS

      tiens moi au courant.
      -Pixel.

      • stef dit :

        j’ai passé cette erreur >> merci
        maintenant le script n’est pas compris

         /usr/bin/perl /usr/bin/centreon_vmware.pl -config=/etc/centreon/centreon_vmware.pm
        Unknown option: c
        Unknown option: o
        Unknown option: n
        Unknown option: f
        Unknown option: i
        Unknown option: g
        Unknown option: =
        Unknown option: /
        Unknown option: e
        Unknown option: t
        • sysadmin sysadmin dit :

          hm, je n’ai aucune idée, désolé :-/
          je te conseil de refaire l’installation du module centreon_vmware.
          Je peux tenter de mon côté, mais j’ai besoin de savoir la version de Centreon et VMWare perl SDK que tu utilises.
          -Pixel.

          • stef dit :

            le script passe maintenant!
            mais j’ai une autre erreur sur la suite..

             ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=X.X.X.X --container=default --mode=getmap
            /usr/bin/perl: symbol lookup error: /usr/lib64/perl5/auto/UUID/UUID.so: undefined symbol: Perl_Gthr_key_ptr
          • sysadmin sysadmin dit :

            Essaies d’installer les modules perl suivant :

            [root@pixelabs ~]# cpan
            cpan[1]> install CPAN
            cpan[1]> install IO::CaptureOutput
            cpan[1]> install Mock::Config
            cpan[1]> install JSON::XS
            cpan[1]> install JSON::PP
            cpan[1]> exit
            [root@pixelabs ~]# yum install uuid-perl libuuid-devel

            -Pixel

  14. Moody dit :

    Hello,
    Merci pour ce tutorial, je dois monter de version le Centreon de ma société et j’aurai aimé savoir si pour superviser un ESXi j’étais obligé de prendre les plugins pack Centreon et donc la licence IMP ?
    Merci pour ton aide.

    • sysadmin sysadmin dit :

      Hello Moody,
      Si tu as une licence Centreon IMP, tout est déjà présent et préconfiguré. Ainsi, les plugins seront accessibles directement depuis Centreon sous forme d’une liste comme ici : https://www.centreon.com/catalogue-plugins-packs/

      Sans la licence (et donc avec la version open source de Centreon) les plugins packs centreon sont gratuit et disponible sur GitHub de Centreon, mais nécessite l’installation et l’utilisation manuellement (comme sur mes articles centreon).

      J’espère que j’ai répondu à ta question.
      Bonne journée.
      -Pixel.

      • Moody dit :

        Hello Pixel,

        Merci pour ta réponse rapide, hélas ma société ne souhaite pas dépenser un sous pour l’outil de supervision (moins de 20 hotes supervisé et environ 150 services). Actuellement sur notre ancienne version Centreon l’ensemble des commandes de supervision sont opérationnelles hormis celle de la mémoire de l’ESX. Je vais donc suivre ton tutorial afin d’essayer de superviser la mémoire de l’ESX sur la nouvelle version de Centreon.

        • sysadmin sysadmin dit :

          La versions open source est largement suffisante. Tu as tout ce qu’il faut sur le site pour mettre en place la supervision avec les plugins packs centreon.
          -Pixel

  15. Crowley dit :

    Bonjour,
    Merci pour ce tuto très intéressant 🙂
    Je suis en train d’étudier le fait de passer sous Centreon pour le monitoring de notre infra VMware. Le seul point qui me bloque et sur lequel je n’ai pas trouvé d’info c’est la possibilité de faire de l’autodiscover d’ESX. L’infra sur laquelle je travaille recense plus de 500 ESX et ça ne fait qu’augmenter. Je n’ai pas forcément envie de créer les hosts un par un dans Centreon.
    Sais-tu si cette fonctionnalité est disponible ? Je sais que l’autodiscover de service est possible (interfaces, disques, etc…) mais je n’ai rien trouvé concernant l’autodisover d’host.
    Merci

  16. Martial dit :

    Bonjour,
    je rencontre un problème lors de l’exécution de la commande

    [root@centreon-prod plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=adresse ip de mon vcenter --container=default --mode=getmap

    qui me retourne le message d’erreur ci-dessous

    UNKNOWN: Cannot get response (timeout received) |

    Savez-vous pourquoi ?
    Cordialement,

    • sysadmin sysadmin dit :

      Bonjour,
      Peux-tu me montrer le contenu du fichier centreon_vmware.pm ?
      Quelle est la version ESXi et la version perl-SDK ?
      Cordialement,
      -Pixel.

      • martial dit :

        Bonjour,
        problème lors du start /stop / ou restart

        [root@centreon-prod init.d]# service centreon_vmware stop
        /etc/init.d/centreon_vmware: line 77: log_daemon_msg: command not found
        /etc/init.d/centreon_vmware: line 61: start-stop-daemon: command not found
        /etc/init.d/centreon_vmware: line 80: log_end_msg: command not found
        [root@centreon-prod init.d]#
        [root@centreon-prod init.d]#
        [root@centreon-prod init.d]# service centreon_vmware start
        /etc/init.d/centreon_vmware: line 69: log_daemon_msg: command not found
        /etc/init.d/centreon_vmware: line 50: start-stop-daemon: command not found
        /etc/init.d/centreon_vmware: line 72: log_end_msg: command not found
        [root@centreon-prod init.d]#
        [root@centreon-prod init.d]#
        [root@centreon-prod init.d]# service centreon_vmware restart
        /etc/init.d/centreon_vmware: line 88: log_daemon_msg: command not found
        /etc/init.d/centreon_vmware: line 61: start-stop-daemon: command not found
        /etc/init.d/centreon_vmware: line 50: start-stop-daemon: command not found
        /etc/init.d/centreon_vmware: line 95: log_end_msg: command not found
        [root@centreon-prod init.d]#

        Une idée sur ce qui pourrais posé problème

        • sysadmin sysadmin dit :

          Bonjour,
          Hum, aucune idée…
          A mon avis, soit tu as un problème d’installation du connecteur centreon_vmware soit un problème de version.
          Si tu as la dernière version de Centreon (18.x.x), je n’ai pas testé avec cette version.
          Essaies une autre version de VMWare perl SDK. (5.1.0). Penses à mettre à les plugins Centreon également.

          Les recommandations sont ici : https://github.com/centreon/centreon-vmware/blob/master/doc/en/installation/index.rst
          Choisi selon la version de ton systéme

          Si je trouve quelque chose, je mettrais à jour le poste.
          -Pixel.

          • martial dit :

            Salut,
            j’ai refait l’installation et cela marche parfaitement, une coquille dans l’installation surement.
            Merci pour tes tutos 😉 et tes conseils
            @+

          • sysadmin sysadmin dit :

            Salut,
            C’est super !
            bonne journée.
            -Pixel.

  17. sysadmin sysadmin dit :

    Mise à jour : Supervision via l’interface Web de centreon 🙂

  18. DUFOUR Hugo dit :

    Salut,

    JE vois que tu as réussi a faire marcher les commandes via le serveur Centreon directement mais qu’en est il pour la configuration de l’hôte ESXi ainsi que les services et les commandes correspondantes à celles effectuées via linux mais passant par l’interface graphique web de Centreon.
    Je bloque depuis quelques temps dessus et tu me serai d’une grande aide.

    • sysadmin sysadmin dit :

      Bonjour Hugo,

      Et bien, je vais essayer de te faire ça très très rapidement et avec plaisir 🙂
      Supervision via l’interface Web Centreon en utilisant les macros et les plugins Centreon 🙂
      Je mettrais l’article à jour dés que possible.

      Tu as réussi également à faire marcher le plugin en ligne de commande ?

      Bonne journée.
      -Pixel.

  19. Georges dit :

    Bonjour,
    Tout d’abord, merci pour ce tuto.
    La commande de test sur mon centreon ne répond pas.

    ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=getmap
    UNKNOWN: Cannot get response (timeout received) |

    Je voie que le service centreon_vmware est en démarrage au boot. Mais impossible de le démarrer. les log sne parle pas bien.

    oct. 10 11:36:15  systemd[1]: Starting SYSV: centreon_vmware is a Centreon program that manage Vpshere Checks...
    oct. 10 11:36:23  centreon_vmware[9804]: [45B blob data]
    oct. 10 11:36:23  systemd[1]: centreon_vmware.service: control process exited, code=exited status=1
    oct. 10 11:36:23  systemd[1]: Failed to start SYSV: centreon_vmware is a Centreon program that manage Vpshere Checks.
    oct. 10 11:36:23  systemd[1]: Unit centreon_vmware.service entered failed state.
    oct. 10 11:36:23  systemd[1]: centreon_vmware.service failed.

    Pas d’erreurs sur l’installation refaite deux fois.
    Merci de votre aide.

    • sysadmin sysadmin dit :

      Bonjour Georges,

      Si, les logs en disent beaucoup. La dernière ligne indique que le daemon centreon_vmware (service) n’est pas démarré (échec) :
      oct. 10 11:36:23 systemd[1]: centreon_vmware.service failed.

      Tu as donc un problème d’installation du module. Il ne démarre pas.
      Vérifie ensuite le compte vCentre dans le fichier : centreon_vmware.pm

      Est-ce que tu peux tester la supervision directement sur un ESXi (via son adresse IP) sans passer par le vCenter (donc sans passer par le module centreon_vmware) pour être sûr que tout le reste fonctionne

      Si besoin, n’hésite surtout pas.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *