Monitor ESX3.5i avec Nagios3 Centreon2 (1/2)

Je cherchais un moyen de surveiller des serveurs VMWare ESX3.5i (et plus généralement des ESX3*) avec Centreon2. J’ai rapidement trouvé le plugin check_esx3. Sur le papier, c’est un petit bijou! Chose qui se confirme dans la pratique. Cependant, sur ma Debian 4 (oui je sais la 5 est sortie), il me manquait des dépendances Perl, et le script a raler.

Dans l’histoire, il faut obtenir un compte sur le serveur ESX (utiliser le profil « read only ») car le script va se logguer sur le DataCenter/VirtualCenter.

Sans plus tarder, les étapes de l’installation !

  • Nagios::Plugin via CPAN (on en profitera pour updater son CPAN qui peut être assez long)
# perl -MCPAN -e shell
cpan> install Bundle::CPAN
cpan> reload CPAN
cpan> install Nagios::Plugin
cpan> install Crypt::SSLeay
cpan> install Compress::Zlib
cpan> exit
# tar zxvf VMware-VIPerl-*.tar.gz
# cd vmware-viperl-distrib/
# chmod +x vmware-install.pl
# ./vmware-install.pl

Il faut bien sûr accepter les conditions, et valider la petite question qui suit.

  • Tests du plugin, la commande remonte le %CPU sur la machine hôte (ne pas garder les crochets).
# cd /usr/local/nagios/libexec (ou tout autre répertoire contenant le plugin check_esx3)
# chmod +x check_esx3
# ./check_esx3 -H  -u  -p  -l CPU -s "usage" -w 70 -c 90
# CHECK_ESX3 OK - cpu usage=10.88 % | cpu_usage=10.88%;70;90

Si tout va bien, vous devez avoir une réponse dans ce genre 😉

Pour finir, la société qui édite ce plugin vous simplifie grandement la vie en listant les commandes et services à saisir dans nagios/centreon !

http://www.op5.com/support/documentation/how-to/400-monitoring-vmware-esx-3x-and-vmware-esxi

Merci op5 🙂

Au prochain épisode : exemple d’intégration dans Centreon2 (ou comment utiliser les macros).

Les versions ESXi n’ont pas besoin d’OS et compliquent sérieusement la tâche dès qu’il s’agit de monitorer le matériel. Travaillant sur des serveurs DELL, j’utilise OpenManager pour récupérer les informations qui n’est plus accessible (ni « instalable ») avec les ESXi ! Bilan, on retourne sur du RHEL+OpenManager+ESX3.5.

23 réflexions sur « Monitor ESX3.5i avec Nagios3 Centreon2 (1/2) »

  1. Bonjour,

    Alors voilà après avoir suivis ce tutoriel, j’ai un petit soucis lorsque j’exécute la commande suivante :
    – # ./check_esx3 -H -u -p -l CPU -s « usage » -w 70 -c 90

    /usr/bin/perl: symbol lookup error: /usr/local/lib/perl/5.10.0/auto/XML/LibXML/Common/Common.so: undefined symbol: Perl_Tstack_sp_ptr

    Pourriez vous m’aider à résoudre ce problème s’il vous plait ?

    Merci d’avance.

    Thibaut

  2. Visiblement un problème avec le module XML de Perl. As tu bien effectué toute la partie de mise à jour CPAN ? Au passage, si tu pouvais préciser la distrib utilisée car il semble que Debian Lenny ai quelques déboires avec Perl.
    Si c’est le cas, soit il faut forcer un « Downgrade » de Perl, soit essayer la manip suivante (que je n’ai pas testée !) :

    # cpan
    cpan> force install XML::LibXML::Common
    cpan> exit
    # cd ~/.cpan/build/XML-LibXML-Common-0.13-* (hmmm, ou tenter de locate la location de se dossier…)
    # perl Makefile.PL
    # make
    # make test
    # make install

  3. Ok je te remercie d’avoir pris le temps pour me répondre :), A mon tour maintenant !

    Alors effectivement j’ai la DEBIAN5 Lenny et après dse recherches sur des forums ou j’ai posté quelques messages, ils m’ont retournés le même cas que toi ou c’est la version de mon perl qui n’est pas bon et me conseillent de downgrader mon PERL.
    Cependant j’ai tout de même testé les commandes que tu m’as dit de faire et à la suite de mon make install voici ce qu’il y a eu :

    LINNAGIOS:~/.cpan/build/XML-LibXML-Common-0.13-5I863o# make install
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    Installing /usr/local/lib/perl/5.10.0/auto/XML/LibXML/Common/Common.so
    Installing /usr/local/lib/perl/5.10.0/auto/XML/LibXML/Common/Common.bs
    Installing /usr/local/man/man3/XML::LibXML::Common.3pm
    Appending installation info to /usr/lib/perl/5.10/perllocal.pod

    VOILA.
    Mais j’ai tout de même la même erreur quand je relance ma commande avec le plugin.
    Est ce qu’il serait possible de me faire parvenir les commandes à taper pour downgrader mon PERL ayant commencé depuis peu Linux, mes connaissances sont assez limitées.

    Je te remercie d’avance et attend ta réponse.

  4. Pour downgrader, ceci devrait être bon :

    apt-get remove perl –purge
    apt-get update
    aptitude install perl=5.8.8-7etch6 perl-base=5.8.8-7etch6 perl-modules=5.8.8-7etch6 perl-doc=5.8.8-7etch6

    Puis reprendre la procédure d’install 🙂

  5. Je suis tombé sur ce site en faisant une recherche et, j’ai eu le même problème que Thibault. Pour régler ce problème, j’ai désinstaller « vmware-viperl-distrib » et réinstaller les librairies correspondante. Une fois réinstallé, j’ai réinstallé « vmware-viperl-distrib ».

    J’ai eu un autre problème similaire concernant la libraire compress::Zlib (de mémoire) et j’ai effectué le même mode opératoire sans aucune problème.

    En éspérant en aider plus d’un avec ces informations!

  6. Bonjour,

    mon souci est lors de l’exécution du check j’ai un message d’erreur Can’t Locate Params/Validate.pn in @INC (suivi de plusieurs chemin, suivi de BEGIN failed–compilation aborted at « chemin » Plugin.pm line 4 (et aussi pour d’autre).
    Quelqu’un a eu un problème similaire?

    Merci
    Nicolas

  7. L’erreur est exactement « Params/Validate.pn » ? Si c’est (étrangement) le cas, il faut modifier le .pn en .pm dans le code 🙂
    Sinon, il manque probablement un module, essaye ceci :

    #cpan
    cpan[2]> install Params::Validate

  8. Merci,
    Pour le « n »–>grosse faute de frappe.

    Après avoir testé install Params::Validate, j’ai eu le droit à d’autre message du même type que j’ai résolu sur le même principe.
    Par contre, maintenant j’ai l’erreur « Global symbol « $perl_module_instructions » requires explicit package name at /usr/….libexec/check_esx3 line 65″
    Est-ce que ca peut être du au fait que j’ai installé « VMware-vSphere-SDK…1-4.0.0 ». Le « VMware-VIPerl-* » n’était plus en téléchargement (ou je suis nul en recherche).

    Merci.

  9. J’ai bien fait le « install Bundle::CPAN » (même plusieurs fois), lors de mes premières erreurs.
    Si ça ne te déranges pas, je veux bien le VIPerl, comment veux tu procéder?

  10. Bonjour,

    Merci pour ce tuto qui correspond exactement à ce que je cherchais, j’ai une petite question concernant l’installation. Voici l’erreur que j’obtiens quand je lance une commande dans le shell CPAN:

    CPAN: Storable loaded ok (v2.18)
    Going to read /root/.cpan/Metadata
    Warning: Cannot install Bundle::CPAN, don’t know what it is.
    Try the command

    i /Bundle::CPAN/

    to find objects with matching identifiers.
    CPAN: Time::HiRes loaded ok (v1.9711)

    Une idée?

    Merci 🙂

  11. A tout hasard, essaye la commande :
    i /Bundle.*CPAN/

    Histoire de vérifier que CPAN est pas planqué dans un coin. Sinon, peux-tu me préciser ton OS/Distrib, version de Perl … ?

  12. Bonsoir, merci pour ta réponse, j’ai réussi à corriger le souci avec une commande CPAN Recent. Mais après plusieurs déboires, voilà où j’en suis avec l’erreur : /usr/bin/perl: symbol lookup error: /usr/local/lib/perl/5.10.0/auto/XML/LibXML/Common/Common.so: undefined symbol: Perl_Tstack_sp_ptr.

    J’ai effectivement une Debian et je vois qu’il y a un souci d’incompatibilité.

    Pour tout vous dire, je vais en fait redéployer mon serveur Nagios sous une autre distribution qui est Ubuntu Server LTS 8.04.2, j’aimerais savoir si , en vous donnant la version Perl actuellement installée, je vais rencontré la même erreur? Il me semble que sur ubuntu c’est la version 5.8 qui est présente.

    Merci d’avance

  13. Tu trouveras la solution plus haut dans les commentaires, cette version de Perl (je suppose que tu as installé la dernière, la 5.10) est connue pour poser quelques problèmes avec Lenny. Il faut donc forcer une installation en 5.8.

  14. Concernant la debian, effectivement je suis en version 5.10 donc la solution serait de downgrader.

    Pour ma Ubuntu, je confirme qu’en faisant un « perl -v » voici ce que j’obtiens:

    This is perl, v5.8.8 built for i486-linux-gnu-thread-multi

    Penses tu que le plugin ESX va fonctionner ? Le Perl Toolkit Vmware ne va pas installer la 5.10 de Perl?

    Merci pour ton aide 😉

  15. Le toolkit n’étant pas un package, il n’installera rien. Au pire il ralera car il manque des dépendances mais si tu suis le tuto tu ne devrais pas avoir de problèmes 🙂

  16. Bonjour,

    J’ai suivi tous les commentaires de ce post mais cela ne fonctionne toujours pas !!

    Le sujet m’interresse beaucoup surtout que je commence à avoir plusieurs ESXi.

    Tournant sur DEBIAN Lenny, je suis emmbêté par perl et sa version 5.10.

    Je veux bien dowgrader la version mais pas mal de paquets sautent !

    Je me retrouve avec le plugin check_esx3 fonctionne mais plus le logiciel de supervision !!!

    Je retourne sur Etch : à suivre

  17. Je viens de faire la même manip sur un serveur de pré-prod. Effectivement c’est un peu la zizanie après cette manœuvre et en plus il a réinstallé perl5.10.

    Le plus simple et soit de partir sur Etch, soit downgrader lors de l’install de Lenny.

  18. Bonjour,

    Merci pour ce tuto qui m’a permis de dégrossir le travail.
    Je suis un peu débutant dans le domaine du monitoring par Nagios et j’ai donc un problème de débutant je pense.
    Je dispose d’un serveur ESXi 4.0 et de Nagios 3.1.2 sur une Ubuntu server 8.04 LTS.
    J’ai tout suivi le tuto, mais lorsque je lance le plugin check_esx, il m’affiche le texte suivant:
    In this example we use VMware-vSphere-SDK-for-Perl-4.0.0-161974.x86_64.tar.gz,
    but the instructions should apply to newer versions as well.

    Upload the file to your op5 Monitor server’s /root dir and execute:

    cd /root
    tar xvzf VMware-vSphere-SDK-for-Perl-4.0.0-161974.x86_64.tar.gz
    cd vmware-vsphere-cli-distrib/
    ./vmware-install.pl
    etc…
    comme ci le SDK n’est pas installé, alors que j’ai installé exactement la version cité.
    Une idée?
    Merci.

  19. Bonjour,

    déjà, es-tu certain que le SDK perl est bien installé (pas d’erreurs à l’installation) ?
    Peut être un problème de PATH sinon (et donc le script qui ne trouve pas les libs).

    9a va être compliqué car je n’ai pas retouché à du monitoring VMWare depuis un bout de temps 🙂

  20. Bonjour,

    Merci pour ta réponse.
    Le SDK Perl est bien installé.

    Voici des détails concernant l’erreur que je rencontre:

    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 530.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 540.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 561.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 587.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 668.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 682.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 687.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 692.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 706.
    Variable « @_ » will not stay shared at /usr/local/share/perl/5.8.8/VMware/VIM2Runtime.pm line 711.
    ESX3 UNKNOWN – Missing perl module VMware::VIRuntime. Download and install ‘VMware Infrastructure (VI) Perl Toolkit’, available at http://www.vmware.com/download/sdk/

    Merci.

  21. Ha oui, comme l’erreur l’indique, il te manque le VI perl toolkit … qui devrait être dans le sdk vsphere (http://www.vmware.com/support/developer/viperltoolkit/). J’ai aps trop de temps pour me plonger bien dans les détails mais il faut que tu regardes si la librairie VIRuntime est manquante et si oui trouver un moyen d’installer le VI Perl Toolkit.
    Hésite pas à poster ton avancement et les points bloquants, j’essayerai de voir si j’ai des ressources.

Laisser un commentaire