Supervision VMware ESXi-6.7 avec Centreon

  • Auteur/autrice de la publication :
  • Dernière modification de la publication :22 novembre 2023
  • Post category:Supervision
  • Temps de lecture :27 min de lecture
  • Commentaires de la publication :123 commentaires

Nous allons voir dans cet article comment mettre en place la supervision des serveurs ESXi, vSphere ainsi que les machines virtuelles. 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 d’abord le 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ées 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 Shell 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.

Démarrer le service :

[root@centreon centreon]# systemctl start centreon_vmware
[root@hd-centreon plugins]# systemctl status centreon_vmware
● centreon_vmware.service - Centreon VMWare
   Loaded: loaded (/etc/systemd/system/centreon_vmware.service; enabled; vendor preset: disabled)
   Active: active (running) since sam. 2020-07-11 16:19:01 CEST; 2s ago
 Main PID: 22406 (perl)
   CGroup: /system.slice/centreon_vmware.service
           ├─22406 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
           └─22413 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error

juil. 11 16:19:01 hd-centreon.cg31.priv systemd[1]: Started Centreon VMWare.
juil. 11 16:19:02 hd-centreon.cg31.priv perl[22406]: Cannot open file /var/log/centreon/centreon_vmware.log: est un dossier
[root@hd-centreon plugins]#

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@hd-centreon ]# systemctl start centreon_vmware
[root@hd-centreon ]# systemctl status centreon_vmware
● centreon_vmware.service - Centreon VMWare
   Loaded: loaded (/etc/systemd/system/centreon_vmware.service; enabled; vendor preset: disabled)
   Active: active (running) since dim. 2020-07-12 10:15:33 CEST; 4s ago
 Main PID: 455 (perl)
   CGroup: /system.slice/centreon_vmware.service
           ├─455 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
           └─462 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error

juil. 12 10:15:33 hd-centreon.cg31.priv systemd[1]: Started Centreon VMWare.
[root@hd-centreon ]#

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.

Supervision Systèmes & Réseaux

Voir mes articles sur la supervision systèmes & réseaux :

Cet article a 123 commentaires

  1. Dechaseaux

    Bonjour,
    Merci pour ton tuto 😉
    J’ai bien envie de tester tout cela, en revanche, sais-tu si de cette manière (et non en passant par l’installation graphique du plugin vmware dans centreon) on est limité ou non à un certain nombre d’hôtes ?
    Ou bien, le fait de créer toi même tes commandes et services fait qu’il n’y a pas de limitations comparé aux templates tout fait.
    Par avance merci 😉

    1. sysadmin

      Non, aucune limite à ma connaissance.
      Tu as beaucoup d’hôtes ESXi ?

      1. Dechaseaux

        Non, seulement 16, mais j’avais cru comprendre que pour installer et utiliser des plugins centreon il y avait une limite totale d’hôtes tout confondu. Mais j’ai surement mal compris.
        Source : https://www.centreon.com/fr/editions-centreon/faq-it100/
        Je n’ai que 16 ESXi, mais plusieurs centaines d’autres types d’hôtes.
        Merci encore pour ton aide 😉

      2. Dechaseaux

        J’en ai 16, mais je pensais que c’était limité sur le nombre global d’hôtes, j’ai peut être mal compris comment fonctionne le Centreon IT-100.

        1. sysadmin

          Je comprends mieux.
          En utilisant les plugins pack manuellement comme dans l’article, il n’y a aucune limite.
          Mais la version Centreon IT-100, c’est une version commerciale gratuite avec les plugin pack intégrés directement dans Centreon et permet d’automatiser le déploiement des plugins (création auto de commande et modèles).
          Cependant, elle est limité à 100 hôtes maxi.
          Au delà de 100 hôtes, Centreon continue de fonctionner mais sans les plugins pack ni autres modules présent dans celle-ci.

          1. Dechaseaux

            Un grand merci pour tes éclaircissements, c’est beaucoup plus clair maintenant ! Plus qu’à mettre tout ça en place 😉

          2. sysadmin

            Y a pas de quoi. Tu as ce qu’il faut sur le blog pour utiliser les plugins pack manuellement 🙂
            Bon courage.

  2. Mickael

    Bonjour,

    J’ai un problème sur le check du vSAN, j’ai bien installé le VSAN Perl SDK 6.7.0 et la dernière version Centreon_vwmare, néanmoins j’ai plus le problème UNKNOWN: Vsan is not enabled in vmware connector.
    Mais j’ai l’erreur: UNKNOWN: Container connection problem

    Ca pourrait venir de quoi ?

    Merci
    Mickael

  3. AS 9

    Bonjour,

    Tout d’abord je me permet de te dire que tu fais un boulot de dingue.
    Merci beaucoup pour tous ses tutos.

    Je viens de mettre en place le plugin Vmware mais j’ai un soucis.

    ./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: |

    Cela me sort que des ok il n’y a rien a gauche ni à droite du Pipe 🙁
    Je mets également n’importe quel nom de machine et cela me sort toujours le résultat OK.
    Dans mon fichier log j’ai que ça comme erreur :

    'default' SOAP request error - possibly a protocol issue: Status read failed: at /usr/local/share/perl5/Net/HTTP/Methods.pm line 288.

    As tu une idée d’où cela peut venir?
    Je te remercie.

    1. sysadmin

      Hello,
      Merci pour ton message 🙂
      Essaies sans le paramètre --vm-hostname

      perl centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=127.0.0.1 --container=default --mode=status-vm --verbose

      Le service est bien Ok ?

      [root@centreon plugins]# systemctl status centreon_vmware
      ● centreon_vmware.service - Centreon VMWare
         Loaded: loaded (/etc/systemd/system/centreon_vmware.service; enabled; vendor preset: disabled)
         Active: active (running) since dim. 2021-03-14 10:16:48 CET; 6 months 2 days ago
       Main PID: 844 (perl)
         CGroup: /system.slice/centreon_vmware.service
                 ├─ 844 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
                 ├─1134 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
                 └─1135 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error

      Tu peux ignorer l’erreur dans le log, c’est pas grave.

      1. AS 9

        Bonjour ,

        toujours le même résultat
        OK |
        Le service est bien démarré.
        Je suis sur une ancienne version de centos ( 6.7) Est ce que cela peut venir de là?

        1. sysadmin

          Hum… je ne pense pas que ce soit la version, mais la seule manière de savoir est de faire un test sur une CentOS 7 ou plus…

          Sur la doc, on voir bien CentOS 6, reste à vérifier la version des composants : https://github.com/centreon/centreon-vmware/blob/master/doc/en/installation/index.rst

          Tu peux redémarrer le module centreon_vmware ?
          La commande suivante renvoi la même chose que sur mon tuto ?

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

      Bonjour,

      J’ai tapé la commande que tu m’as mis et le résultat est le même :
      ok : |

      Le service est bien ok également.
      Après j’ai une version de centos 6.10. Est ce que cela peut poser problème?

  4. iluvthisgame

    Salut,

    Tout d’abord merci pour ta contribution. Grâce à toi je suis passé en 3 jours de « Centreon ? » à avoir une supervision pour mon parc 😀 Je te passe les détails mais maintenant mais équipements réseaux (FWs, Switches, NAS, Serveurs DELL via IDRAC) sont supervisés et du coup me suis dit allez maintenant on supervise mes ESX !

    Bon sans trop y croire à la vue des commentaires plus bas j’ai tenté d’installer les derniers plugins (VMware-vSphere-Perl-SDK-7.0.0-16815913.x86_64.tar.gz) pour mes ESX 7.0.1 contrôlés par un VCenter 7.0.1. sur mon Centreon 21.04.

    Et malheureusement en suivant scrupuleusement ton tuto sans avoir AUCUNE erreur ou warning quand je lance la commande de test :

    [root@centreon plugins]# ./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)

    et en regardant les logs :

    [root@centreon plugins]# tail -f /var/log/centreon/centreon_vmware.log
    2021-06-21 13:35:26 - Maybe directory does not exist. Attempting to create it!!!
    2021-06-21 13:50:31 - SOAP request error - possibly a protocol issue: Status read failed: at /usr/local/share/perl5/Net/HTTP/Methods.pm line 288.

    Et la mes compétences me lâchent même après de nombreuses recherches sur internet 🙁

    1. sysadmin

      Hello,

      Est-ce que le connecteur vmware est bien démarré ?
      systemctl status centreon_vmware

      Peux-tu me montrer le fichier de configuration du connecteur vmware (remplace l’@IP et le password par autre chose)?

      Poste également le résultat de cette commande :
      /usr/bin/perl /usr/bin/centreon_vmware.pl --config=/etc/centreon/centreon_vmware.pm

      1. iluvthisgame

        Hello,

        [root@centreon plugins]# systemctl status centreon_vmware
        ● centreon_vmware.service - Centreon VMWare
           Loaded: loaded (/etc/systemd/system/centreon_vmware.service; enabled; vendor preset: disabled)
           Active: active (running) since lun. 2021-06-21 13:35:26 CEST; 2h 48min ago
         Main PID: 27593 (perl)
           CGroup: /system.slice/centreon_vmware.service
                   ├─27593 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
                   └─27600 /usr/bin/perl /usr/bin/centreon_vmware.pl --logfile=/var/log/centreon/centreon_vmware.log --severity=error
        
        
        juin 21 13:35:26 centreon systemd[1]: Started Centreon VMWare.
        
        

        pour le fichier de conf :

        %centreon_vmware_config = (
            vsphere_server => {
                    'default' => {'url' => 'https://IPduVCenter/sdk',
                           'username' => 'administrator@VSPHERE.ADEKMA.LOCAL',
                           'password' => 'passwordducomptecidessus'}
                    }
        );
        
        1;
        

        Et enfin la commande 😉

        [root@centreon centreon]# /usr/bin/perl /usr/bin/centreon_vmware.pl --config=/etc/centreon/centreon_vmware.pm
        2021-06-21 16:29:35 - Create vsphere sub-process for 'default'
        2021-06-21 16:29:35 - [Server accepting clients]
        2021-06-21 16:29:35 - 'default' init begin
        2021-06-21 16:29:35 - 'default' init done
        2021-06-21 16:29:35 - 'default' Vsphere connection in progress
        2021-06-21 16:29:35 - 'default' Vsphere connection ok
        2021-06-21 16:29:35 - 'default' Create perf counters cache in progress
        2021-06-21 16:29:36 - 'default' Create perf counters cache done
        

        Sur cette commande est ce normal que je doive CTRL+C pour retrouver l’usage de la console ?

        Merci de ton aide en tous cas

        1. sysadmin

          Le module est bien installé et fonctionne très bien.

          Sur cette commande est ce normal que je doive CTRL+C pour retrouver l’usage de la console ?

          Oui, c’est normal.

          Ce module Perl est bien installé ? lance cette commande directement :

          cpan -i Net::HTTP

          Tu as bien ajouté les droits à ces deux fichiers ,

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

          Tu as quoi dans : /tmp/centreon_vmware/ ?

          Essaies avec l’adresse IP de ton serveur Centreon ET localhost :

          ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=IP_Centreon --container=default --mode=getmap
          ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=localhost --container=default --mode=getmap

          Pas de firewall activé ?

          1. iluvthisgame

            Pour le module Perl apparemment oui :

            [root@centreon centreon]# cpan -i Net::HTTP
            Loading internal logger. Log::Log4perl recommended for better logging
            Reading '/root/.cpan/Metadata'
              Database was generated on Mon, 21 Jun 2021 10:41:03 GMT
            Net::HTTP is up to date (6.21).
            

            Pour les droits :

            drwxrwxr-x  2 centreon         centreon              25 21 juin  16:37 centreon_vmware
            -rwxrwxr-x 1 centreon centreon    797 21 juin  16:35 centreon_vmware.log
            

            Tu as quoi dans : /tmp/centreon_vmware/ ?

            pas grand chose à vrai dire 😀

            [root@centreon centreon]# ll /tmp/centreon_vmware/
            total 0
            srwxr-xr-x 1 root root 0 21 juin  16:37 routing.ipc
            

            Essaies avec l’adresse IP de ton serveur Centreon ET localhost :

            Idem pour les 2

            [root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=192.168.1.221 --container=default --mode=getmap
            UNKNOWN: Cannot get response (timeout received)
            [root@centreon plugins]# ./centreon_plugins.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=localhost --container=default --mode=getmap
            UNKNOWN: Cannot get response (timeout received)
            

            Et pour ce qui est du firewall :

            [root@centreon plugins]# systemctl status firewalld
            ● firewalld.service - firewalld - dynamic firewall daemon
              Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
              Active: inactive (dead)
               Docs: man:firewalld(1)
            
          2. sysadmin

            Bizarre…
            Peux-tu lancer la commande avec le compte centreon :

            su - centreon-engine

            Tout ça c’est Ok ?

            yum install perl-VMware-vSphere
            yum install centreon-plugin-Virtualization-VMWare-daemon
            yum install centreon-plugin-Virtualization-Vmware2-Connector-Plugin

            Relance le service centreon_vmware et dis moi ce que tu vois dans les logs centreon_vmware.

            Si ça ne fonctionne toujours pas, quelle est la version VMware SQK que tu as installé ?

            Pour moi tout à l’air Ok 🙁

          3. iluvthisgame

            Ca marche après le restart du service !!!
            Par contre je l’avais déjà fait !!!

            Du coup je comprends pas vraiment 😀

            Bon bah encore un newbie de sauvé ! 😀 un grand merci 😉 je vais maintenant voir ce qu’on peut faire avec tout ça !!!

          4. sysadmin

            Ah nickel 🙂
            Toujours contrôler ce service après un reboot du serveur.
            Tu peux maintenant superviser toute l’infra VMware 😉
            Amuses toi bien.

  5. Era31

    Merci beaucoup c’est super 😉

  6. gram

    Bonjour,
    je suis nouveau membre j’ai aussi le problème "KNOWN: Cannot find 'HostSystem' object |"
    par contre :

     "./centreon_plugins.pl --plugin=apps::vmware::connector::plugin  --custommode=connector --connector-hostname=localhost --container=default --mode=getmap "

    est ok

    Est-ce que quelqu’un peut m’aider? Merci

    1. sysadmin

      Salut gram,
      Tu peux me donner la commande qui te renvoie cette erreur ? “KNOWN: Cannot find ‘HostSystem’ object |”

      Et aussi le résultat de la commande avec le mode –mode=getmap

  7. sunnywest

    Bonjour ,

    J’ai souhaité mettre en place la supervision sur un esxi 6.0.0. J’ai donc suivi le tuto .
    Cependant, j’ai eu un souci. En ligne de commande, lorsque j’avais voulu voir l’état de santé de mon esxi, ça a fonctionné la première fois et depuis rien. J’ai le message d’erreur UNKNOW: Cannot get response (timeout received). J’ai regardé du côté du fichier de config : « nano centreon_vmware.pm » ça m’a l’air normal…mais , j’ai remarqué que je ne pouvais pas appliquer les droits :

    [root@centreon plugins]# chmod 775 /tmp/centreon_vmware/&
    [root@centreon plugins]# chown centreon: /tmp/centreon_vmware/ sur "centreon_vmware".
    

    Pouvez-vous m’aider à résoudre ce mystère ?

    1. sysadmin

      Bonjour,
      Il faut vérifier que le service centreon_vmware est bien démarré.
      systemctl status centreon_vmware

      1. sunnywest

        Bonjour,

        Oui ce service est bien démarré et toujours k.o

        cdl

        1. sysadmin

          Bonjour,
          Je peux y jeter un coup d’oeil à distance ? si c’est possible, envoies moi un mail : sysadmin[at]asysadminstory.fr
          bonne journée,
          -sysadmin.

          1. damprcd

            Bonjour,
            Avez-vous résolu ce problème ? J’ai le même soucis de mon côté et le service est bien démarré.
            J’ai ouvert le port TCP 5700 sur l’ESX aussi.

          2. sysadmin

            Bonjour,

            Le connexion se fait bien à l’ESXi via Centreon avec la commande suivante ?

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

            Le daemon centreon_vmware est bien démarré ?

            systemctl status centreon_vmware
            

            Il y a quoi dans les logs centreon_vmware ?

  8. sunnywest

    Bonjour,

    Pouvez-vous me diriger vers l’article sur la supervision des quotas (J’ai un quota monter en partage sur un serveur Windows 2012 R2 à superviser) svp ?

    Merci.

      1. sunnywest

        Bonjour,

        Merci pour votre réponse. J’aime vos articles…si vous pouvez nous en faire un sur le sujet ! 🙂 . Ici les détails sont clairs .

        cdt

          1. sunnywest

            Bonjour,
            Merci pour votre tutoriel . Il répond parfaitement à ma question .

            En vous souhaitant, une agréable journée .

            Merci

  9. jerome1988

    Bonjour Pixelabs,

    merci pour ces très bons tutos sur la supervision Centreon.

    J’ai un bug sur le plugin « état de santé » d’un ESXi, comme tu peux le voir ci-dessous, j’ai composant qui remonte en rouge sur ma sonde mais l’état ne change pas de « OK » à « CRITIQUE »

    J’ai vu dans les options qu’il y avait la possibilité de rajouter "--warning-* et --critique-*" avec "total_problems, problems_yellow, problems_red, etc..." mais cela ne fonctionne pas. J’au ce bug sur toute mes sondes

    As-tu une idée pour résoudre mon Bug ?

    Je te remercie. A bientôt

    Jérôme

    Statut détaillé	
    OK: 1 total health issue(s) found - Host '10.104.0.211' : status connected - 230 health checks are green, 230 total health issue(s) found, 0 yellow health issue(s) found, 1 red health issue(s) found - Memory: The physical element is failing
    Informations d'état étendues	
    checking host '10.104.0.211'
    status connected
    230 health checks are green, 230 total health issue(s) found, 0 yellow health issue(s) found, 1 red health issue(s) found
    Memory: The physical element is failing
    
    Données de performance	
    'total_problems'=1;;;0;231
    'problems'=230;;;0;231
    'problems_yellow'=0;;;0;231
    'problems_red'=1;;;0;231
    1. sysadmin

      Salut jerome1988,
      Peux-tu me donner la commande CLI ?
      Je vais voir si je peux filtrer le résultat de mon côté.

      1. jerome1988

        Veuillez m’excuser pour mon dernier commentaire en doublon. Vous pouvez le supprimer.

        Voici la commande:

        ./centreon_vmware_connector_client.pl --plugin=apps::vmware::connector::plugin --custommode=connector --connector-hostname=localhost --container=default --verbose --mode=health-host --esx-hostname=IP

        J’ai également essayé avec ./centreon_plugins.pl, le résultat est le même

        Merci,

        1. sysadmin

          Rajoutes le seuil CRITICAL suivant à ta commande : --critical-problems-red=':1'
          Cela concerne uniquement les problèmes critiques=rouge (et non warning=orange).

          Si tu veux avoir les deux (Critical et Warning), il faut mettre à la place : --critical-total-problems=':1'

          Tiens moi au courant 🙂

          1. jerome1988

            Bonjour,

            merci pour ton retour. Malheureusement mes sondes apparaissent toujours en état OK, que ce soit sur sur des problems red ou yellow. Le plugin n’intègre pas de changement d’état de la sonde, lorsqu’un problème est détecté ?

            Une autre question, peut-on superviser les partitions d’une VM (disque C:, D:, etc..), depuis le plugin vmware. Je n’ai pas trouvé l’option.

            Merci

            Jérôme

          2. sysadmin

            Salut,
            Je peux y jeter un coup d’oeil à distance, si c’est possible, envoies moi un mail (sysadmin[at]asysadminstory.fr).
            Pour les partitions disque de tes VM, tu dois passer par le plugin Windows.
            Bonne journée.
            -sysadmin.

  10. Valentin

    Bonjour,
    J’ai plusieurs serveurs ESXi a superviser, je fonctionne par « services par groupes d’hôtes » dans Centreon, comment puis-je procéder pour la variable « ESXNAME » ?

    1. sysadmin

      Salut Valentin,
      Je ne comprends pas ce que tu veux dire ?

    2. Valentin

      Je précise que j’ai essayé en ne mettant rien pour vouloir dire « tous » mais cela ne fonctionne pas, même en testant directement la ligne de commande sur le serveur centreon.

      1. sysadmin

        Montre moi la ligne de commande et dis moi ce que tu veux superviser sur l’ESX et quel mode tu veux utiliser ?
        Je ne sais toujours pas ce que tu veux faire. Tu veux superviser plusieurs serveur ESX avec une seule commande ?

        1. Valentin

          Je veux superviser pour le moment le basique comme tu as fais dans le tutoriel, sur 3 ESXi, à la différence que moi je fonctionne par services
          par groupe d’hôtes et non services par hôte. C’est à dire que dans la configuration d’un service (CPU par exemple), j’impacte les 3 ESXi directement et non pas un seul. Vois-tu ce que je veux dire ?

          Edit :
          Dans l’état actuel, je reçois un (No output returned from plugin) en statut détaillé.

          Edit :
          J’ai trouvé mon problème pour la partie (No output returned from plugin), par contre toujours le “UNKNOWN: Argument error: esx hostname cannot be null”.

          1. sysadmin

            A ma connaissance, c’est impossible, la macro ESXNAME ne peut pas être vide.
            Peux-tu me montrer la commande CLI ainsi que la commande Centreon Web ?

  11. Admin-SI

    Bonjour,

    Centreon me retourne uniquement « OK: » sur le détail du statut des ESX. il n’indique pas le reste du statut de la commande (par exemple le cpu).
    Et ce, peu importe la variable que j’introduis dans la sonde, même fausse. J’en conclu que la sonde ne fais pas correctement son travail.
    Auriez-vous une idée ?

    Edit :
    J’ai oublié de vous introduire les logs.
    Voici les logs :

    2020-03-02 09:30:41 - 'vcenter01' SOAP request error - possibly a protocol issue: 500 Server closed connection without sending any data back
    2020-03-02 09:30:58 - 'vcenter02' SOAP request error - possibly a protocol issue: 500 Server closed connection without sending any data back
    2020-03-02 09:31:08 - 'vcenter03' SOAP request error - possibly a protocol issue: 500 Server closed connection without sending any data back

    De plus, la commande « getmap » ne me retourne absolument aucune valeur, mais aucune erreur non plus.

    1. sysadmin

      Salut Admin-SI,
      Merci pour les logs 🙂
      Assures toi que les modules perl suivant sont installés :

      cpan -i LWP
      cpan -i SOAP
      cpan -i Crypt::SSLeay
      cpan -i IO::Socket::SSL

      tiens moi au courant 🙂
      Bonne journée.

      1. Admin-SI

        Bonjour sysadmin,

        Entre temps j’ai réussi à résoudre le problème.
        Suite à la migration de centroen 2.8.26 à la 18.10, je n’avais effectivement pas mis à jour les plugins Centreon; ce qui était la cause de mon problème.
        Très bon boulot de ta part et merci encore.

        Bonne journée également.

  12. Lud0

    Bonjour,
    Comme les autres je profite de vos excellentes compétences pour mettre en place un centreon dans ma boite et essaie de jouer un maximum avec les modèles de services et d’hôtes.
    Possédant quelques ESXi, j »essaie de garder la variable –esx-hostname=$_SERVICEESXNAME$ vide jusqu’à la configuration de l’hôte et seulement à ce moment-là, mettre le nom de l’hôte. Cela éviterait de multiplier les services pour chaque hôte, mais cette valeur n’est pas intégrée à la commande.

    C’est peut être le fonctionnement normal du produit. Avez-vous déjà procédé de cette manière ?
    Merci par avance pour votre temps.

    1. sysadmin

      Salut Lud0,
      Merci pour ton message.
      Voici un exemple de modèle de service à mettre en place : https://asysadminstory.fr/supervision-switch-cisco-centreon-partie-2-2/#Modele_3_Check-Traffic
      Dans cet exemple, le champ INTERFACE (on va dire que c’est –esx-hostname) reste toujours vide pour pouvoir utiliser ce service avec plusieurs switch (ou plusieurs ESXi) mais avec des noms d’interfaces différentes.
      J’espère que cela répond à ta question.
      Bonne journée,
      -sysadmin.

      1. Ludo

        Bonjour,
        Avec beaucoup de retard (on ne devrait pas prendre de congés ^^), merci pour votre retour.
        J’ai fais mon boulet entre les variables que l’on définie au niveau du service et à utiliser dans le service et celles que l’on peut définir pour l’hote… à utiliser dans la configuration de l’hote.

        Par contre, il m’est arrivé un souci d’espace disque sur mes hotes esxi : plus de place sur une partition. Cette erreur n’as pas été remontée par Centreon via les plugins qui interrogent VMWare et non pas l’OS de l’hote.
        Du coup pas d’erreur remontée.
        Il s’agt d’un bug sur les ISO vmware 6.5 Dell & HP pour info
        Quelq’un a-t’il deja mis en place une solution pour monitorer les espaces disques de l’hote ?

        Merci par avance pour le retour.

        1. sysadmin

          Salut Ludo,
          Merci pour le feedback.
          Pour l’espace disque d’un hôte, moi j’utilise le mode datastore-host.
          Bonne journée.

  13. sysadmin

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

  14. Crowley

    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

    1. sysadmin

      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

      1. Crowley

        Salut,

        Merci pour l’update concernant les SDK vSAN !
        Je viens d’essayer mais j’ai malheureusement le même soucis. Dès que je mets les fichiers .pm dans les répertoires et que je restart centreon_vmware, ça me flingue tout mes services qui intérrogent le connector VMware et qui n’ont rien à voir avec le vSAN.

        Les log me remontent cette erreur :
         » Login to VirtualCenter server failed: Undefined subroutine &vim25:InvalidRequest::get_property_list called at /usr/local/share/perl5/VMware/VICommon.pm line 2543.

        Si je retire les fichiers .pm VSAN, tout repasse au vert.

        Si tu as une idée je suis preneur 😉

        1. sysadmin

          Salut,
          Bizarre, c’est peut être un module perl qui te manque. Essaies d’installer ces modules

          cpan -i JSON
          cpan -i ZMQ::LibZMQ4
          cpan -i ZMQ::Constants
          cpan -i XML::LibXML

          Installes surtout le module LWP :

          cpan -i Bundle::LWP

          Rien trouvé concernant cette erreur :-/
          As-tu les mêmes versions que moi ? 6.7
          -sysadmin

  15. Biggie

    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 ?

    1. sysadmin

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

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

      -sysadmin

      1. Biggie

        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.

        1. sysadmin

          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

          1. Biggie

            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.

          2. sysadmin

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

  16. Biggie

    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.

    1. sysadmin

      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.

      1. Biggie

        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,

        1. sysadmin

          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.

  17. lyes

    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.

    1. sysadmin

      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

      1. lyes

        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
        1. sysadmin

          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.

          1. lyes

            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

          2. sysadmin

            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

          3. lyes

            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;

          4. sysadmin

            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.

  18. sysadmin

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

  19. Thor

    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 ?

    1. sysadmin

      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

  20. Crowley

    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 !

    1. sysadmin

      Salut,
      Aucune idée désole. Tu peux essayer de faire fonctionner ce plugin Centreon via NRPE :

      apps::cluster::mscs::local::plugin

      Tu as des exemples de commande ici : https://github.com/centreon/centreon-plugins/issues/368
      Si tu arrives à le faire marcher, n’hésites pas à faire un retour 🙂 merci
      Bonne journée.
      -sysadmin.

      1. Crowley

        Je vais jeter un oeil merci 🙂

  21. Crowley

    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

    1. Crowley

      C’est bon j’ai réglé mon soucis ahah. J’ai retéléchargé le SDK, relancé l’install et ça à fonctionné. Je ne sais pas ce qu’il s’est passé sur le premier SDK

      Merci

  22. Landregen

    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.
    1. sysadmin

      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.

      1. landregen

        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!!!
        1. sysadmin

          Salut,
          Le service vmware utilise l’utilisateur CENTREON (c’est un utilisateur système).
          Solution :

          rm -Rf /tmp/centreon_vmware/

          Bonne journée.
          -Pixel

          1. Baki

            Bonjour,

            même problème ! Failed to start SYSV: centreon_vmware is a Centreon program that manage Vsphere Checks.

            La solution « rm -Rf /tmp/centreon_vmware/ » n’a rien changé

          2. sysadmin

            Salut,
            Peux-tu me montrer les logs ?

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

            Merci.

          3. Baki

            Après la commande « tail -f /var/log/centreon/centreon_vmware.log » :

            2019-08-07 11:30:11 – 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.

  23. Markus

    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 !

    1. sysadmin

      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.

  24. stef

    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).
    1. sysadmin

      Hello stef,
      Installe le module perl XS.pm :

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

      tiens moi au courant.
      -Pixel.

      1. stef

        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
        1. sysadmin

          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.

          1. stef

            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
          2. sysadmin

            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

  25. Moody

    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.

    1. sysadmin

      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.

      1. Moody

        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.

        1. sysadmin

          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

  26. Crowley

    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

      1. Crowley

        Je vais regarder ça. Merci pour ton retour 🙂

  27. Martial

    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,

    1. sysadmin

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

      1. martial

        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

        1. sysadmin

          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.

          1. martial

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

          2. sysadmin

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

  28. sysadmin

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

  29. DUFOUR Hugo

    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.

    1. sysadmin

      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.

  30. Georges

    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.

    1. sysadmin

      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