check_esx3 devient check_vmware_api

Il fallait bien que ça arrive, check_esx3 ça commençait à faire vieillot, limite vintage. Alors que nous nous étions tourné vers une solution alternative, nous revenons de nouveau vers ce plugin nagios qui commence à compter quelques sérieux contributeurs et nous nous sommes retroussé les manches (très haut car en perl on y connait rien…) pour ajouter quelques features et faire un plugin cacti qui ne nécessite plus de créer un device par cluster.

Nous avons donc fait 2 fichiers xml (check_vmware_cluster.xml et check_vmware_datastore.xml à copier dans resource/script_queries) pour la partie “data queries” et un script bash (check_esx3_helper.sh à copier dans scripts) pour faire l’intermédiaire entre cacti et le script check_vmware_api.pl (à copier dans scripts).

Selon la version de votre vCenter, il est possible que vous ayez à tuner la variable $vi_timeshift dans check_esx3_helper.sh (il nous a fallu parfois jongler entre 300 et 600) à cause d’un bug vmware.

Une fois les fichiers copiés, il faut importer les templates (cacti_data_query_vmware_vpx_-_cluster_usage.xml et cacti_data_query_vmware_vpx_-_vmfs_usage.xml) dans cacti et les associer à votre vCenter :

Nous avons utilisé les credentials snmp v3 pour éviter de mettre un login/password dans les scripts donc si vous utiliser snmp sur votre vCenter, créez un compte équivalent ou créez un device dédié.

En ce qui concerne l’autentification, le fichier de session /tmp/check_esx3_session.dat, généré automatiquement, évite les logon/logoff à répétition et soulage le proxy mob.

Il ne vous reste plus qu’à choisir les clusters et les datastores que vous voulez monitorer (la dénomination VMFS est uniquement cosmétique, les datastores NFS sont évidement supportés) :

Vous pouvez ensuite regrouper vos graph par cluster :

Les graph on une fonction de remplissage automatique qui reprend la dernière bonne valeur connue pour éviter les vilains trous qui ne plaisent pas aux managers…

vi_host package

Tags: , , , , ,

73 Responses to “check_esx3 devient check_vmware_api”

  1. [...] MAJ 03/07/2012 : Un nouveau plugin est disponible [...]

  2. Salut Nitro,

    Merci pour cette info. Le script a donc totalement été porté/adapté pour vSphere 5 ?

    Qu’en est-il de la consommation de ressources comparé à check_esx3 et/ou check_vmware ? As-tu vu une nette amélioration ?

    Merci pour ton retour.

    Seb.

  3. Salut,
    Oui, 100% compatible vSphere 5 (les screenshots viennent d’infras 4.1 et 5.0) et les temps sont nettement meilleur grâce au fichier de session (qui marche nettement mieux quand le ticket expire).
    Pour te donner un ordre d’idée, avec un cacti 0.8.8a (obligé pour le multi tread vu que c’est le même host) on check 22 clusters et 80 datastore en 170 sec :)

  4. Les perf semblent vraiment fantastiques ! Dès que je test ça sur notre infra, qui est beaucoup plus modeste que la tienne ;-)

    En tout cas merci beaucoup pour ton article et cette news.

    Seb.

  5. Vincent Says:
    July 5th, 2012 at 9:38

    Très joli !

    Je suis en train de l’installer, tout semble bon mais les datasoruces ne sont pas alimentées et les graphes non crées. Le poller cache contient pourtant des appels qui semblent valides:
    Script: sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 login pass get CPU Bench
    RRD: /var/www/cacti/rra/vcenter_cpu_usage_415.rrd

    Le rrd n’existe pas et le script me retourne:
    CHECK_VMWARE_API.PL CRITICAL – Cluster “Bench” does not exist

    Pourtant, il existe bien….
    Une idée ?

  6. “sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 login pass clusterindex” vous renvoi quoi ?

  7. Ce nouveau plugin permet il de monitorer les pools de ressources?

    Le gain de perf a l’air intéressant dans tous les cas =)

  8. non mais cela ne saurait tarder :)

  9. Vincent Says:
    July 5th, 2012 at 13:26

    Voila ce qu’il me donne:
    cacti:/var/www/cacti/rra# sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 login pass clusterindex
    Bench Farm
    R710 Farm

    A3CY

  10. Je vais être forcer de tester ça ;)

  11. C’est à cause de l’espace dans le nom du cluster et malheureusement je ne vais pas pouvoir y faire grand chose car c’est coté cacti que ça se joue sur ce point…

  12. Vincent Says:
    July 5th, 2012 at 14:22

    Ok. J’ai enlenvé les espaces, supprimé/ajouté mon vCenter a nouveau et j’ai le même résultat.

    cacti:/var/www/cacti/rra# sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 log pass clusterindex
    BenchFarm
    R710Farm

    Autre chose à vérifier ?

  13. qu’avez vous lorsque vous cliquez sur “Verbose Query” dans le device (votre vcenter dans le cas présent) ?

  14. Vincent Says:
    July 5th, 2012 at 14:27

    Le messsage d’erreur a changé au niveau du cache:

    cacti:/var/www/cacti/rra# sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 Administrator adminw2k. get CPU BenchFarm
    CHECK_VMWARE_API.PL CRITICAL -
    SOAP Fault:
    ———–
    Fault string: A specified parameter was not correct.
    querySpec.interval
    Fault detail: InvalidArgumentFault

    Quant au Verbose Query, il est bon de mon point de vue:
    Running data query [19].
    + Found type = ‘4′ [Script Query].
    + Found data query XML file at ‘/var/www/cacti/resource/script_queries/check_vmware_cluster.xml’
    + XML file parsed ok.
    + missing in XML file, ‘Index Count Changed’ emulated by counting arg_index entries
    + Executing script for list of indexes ’sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 Administrator adminw2k. clusterindex’ Index Count: 2
    + Found index: BenchFarm
    + Found index: R710Farm
    + Executing script query ’sh /var/www/cacti/scripts/check_esx3_helper.sh 10.102.6.24 log pass query clustername’
    + Found item [ClusterName='BenchFarm'] index: BenchFarm
    + Found item [ClusterName='R710Farm'] index: R710Farm

  15. vous avez changé la variable vi_interval dans le script ?

  16. Vincent Says:
    July 5th, 2012 at 15:07

    Oui, j’ai joué avec les 2 par incrément de 100 entre 300 et 600
    vi_interval=”600″
    vi_timeshift=”600″

    Même message d’erreur.
    Autre chose à essayer ?

  17. pour l’interval c’est 300, 1800, 7200 ou 86400 mais pas autre chose

  18. Vincent Says:
    July 5th, 2012 at 15:25

    Shame on me.
    J’ai essayé avec les valeurs indiquées et j’obtient toujours (sauf avec la valeur 300):

    CHECK_VMWARE_API.PL CRITICAL – CLUSTER CPU Unknown error

    Merci !

  19. Vous pouvez essayer sans timeshift mais ça n’a pas vraiment d’intérêt d’utiliser d’autres valeurs que 300 car cela retourne une valeur “trop vieille” et donc cela ne correspondrai plus au timestamp du rrd (et ce serai moins précis). 300 secondes ça va encore et on a pas le choix en plus…

  20. Hello,

    Existe t’il un tuto pour installer proprement tout cela ? Car je m’y perd un peu dans certain répertoire… T_T

    Merci par avance !

    Cdt,

  21. Bonjour,

    Sur quelle(s) partie(s) bloquez vous ?

  22. Bonjour,

    Tout d’abord un gros merci pour votre taff !

    J’ai un problème sur mon CACTI, je ne parviens pas a faire des graphs, les scripts sont aux bons endroits, je ping/snmp mon vcenter sans soucis.

    Dans le debug sur mes data queries j’ai ca :

    Data Query Debug Information
    + Running data query [24].
    + Found type = ‘4 ‘[script query].
    + Found data query XML file at ‘/var/www/html/resource/script_queries/check_vmware_cluster.xml’
    + XML file parsed ok.
    + Executing script for list of indexes ’sh /var/www/html/scripts/check_esx3_helper.sh 10.2.7.30 clusterindex’
    + Executing script query ’sh /var/www/html/scripts/check_esx3_helper.sh 10.2.7.30 query clustername’
    + Found data query XML file at ‘/var/www/html/resource/script_queries/check_vmware_cluster.xml’
    + Found data query XML file at ‘/var/www/html/resource/script_queries/check_vmware_cluster.xml’
    + Found data query XML file at ‘/var/www/html/resource/script_queries/check_vmware_cluster.xml’

    Puis rien. J’ai tenté de modifié la valeur de timeshift et idem.

    Avez-vous une idée? Merci d’avance,

    Cdt,

    Julien

  23. Bonjour,

    Heureux que cela puisse vous aider :)

    Il n’y a pas de retour pour le nom des vos cluster, essayez d’exécuter le script check_esx3_helper.sh en interactif pour voir le retour, on en saura plus avec ça.

  24. Alors j’ai corriger plusieurs choses :

    - Dans mot mot de passe il y avait le caractère “&” et il semble que celui ci soit mal interprété dans le script il arrète la chaine a ce moment la.

    Avec un password simple ca fonctionne.

    Ensuite j’ai modifié le chemin pour le script chek_vmware car je suis sur un CactiEZ et par defaut ce n’est pas le même chemin (/var/www/html/ au lieu de /var/www/cacti/scripts/).

    Donc maintenant j’ai une erreur Perl quand je lance le script :

    [root@CACTI scripts]# ./check_esx3_helper.sh 10.2.7.30 admin_jlg password clusterindex
    Can’t locate Nagios/Plugin/Functions.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi

    Pourtant mon perl semble bien à jour et j’ai bien le Functions.pm mais pas dans le bon chemin :

    [root@CACTI scripts]# locate Functions.pm
    /usr/lib/perl5/5.8.8/File/Spec/Functions.pm
    /usr/lib/perl5/5.8.8/Pod/Functions.pm

    A quel niveau puis-je modifié le chemin ? Dans le script je ne le trouve pas…

    Autre question, pour que le script fonctionne a terme il faut bien l’éditer avec :
    usage=”$(basename $0) [vcenter] [username] [password]

    Ou
    vcenter = ip du vcenter
    login = login du vcenter
    Password = MDP

    Merci pour votre retour,

    Cdt,

    Julien

  25. Essayez de créer un lien symbolique du fichier dans un des répertoires où il cherche (c’est votre install de perl/CPAN qui semble etre en cause ici).
    Il ne faut rien changer dans le script mis à part le chemin de la variable $check_esx3. La variable $usage est uniquement la pour afficher la syntaxe correct en cas d’erreur.

  26. Ca continue malgrès les liens symboliques :

    [root@CACTI scripts]# ./check_esx3_helper.sh 10.2.7.30 admin_jlg password clusterindex
    Can’t locate Params/Validate.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/lib/perl5/site_perl/5.8.8/Nagios/Plugin.pm line 5.
    BEGIN failed–compilation aborted at /usr/lib/perl5/site_perl/5.8.8/Nagios/Plugin.pm line 5.
    Compilation failed in require at /var/www/html/scripts/check_vmware_api.pl line 32.
    BEGIN failed–compilation aborted at /var/www/html/scripts/check_vmware_api.pl line 32.

    Pourtant les liens fonctionnent :

    root@CACTI scripts]# locate Validate.pm
    /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Validate.pm
    /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/Validate.pm
    /usr/lib/perl5/site_perl/Validate.pm

    [root@CACTI scripts]# locate Plugin.pm
    /usr/lib/perl5/site_perl/5.8.8/Nagios/Plugin.pm

    Il manquait quand même certaines applis CPAN que j’ai installer.

    La du coup je comprend pas ce qui gène le lancement…

  27. Bon j’ai clairement un problème avecmes modules CPAN, j’ai remarqué que mon fichier Validate.pm était vide.

    J’ai donc réinstaller ce module, et ses dépendances.

    Maintenant je bloque sur l’installation du module “Module::Runtime” j’ai cette erreur :

    Exécution de make test ..

    /usr/bin/perl Build –makefile_env_macros 1 test
    Use of uninitialized value in length at lib/Module/Build/Base.pm line 2767.
    t/00-compile.t …………….. ok
    t/PL_files.t ………………. ok
    t/actions/installdeps.t …….. ok
    t/actions/manifest_skip.t …… ok
    t/add_property.t …………… ok
    Use of uninitialized value in length at /tmp/.webmin/Module-Build-0.4001/blib/lib/Module/Build/Base.
    pm line 2767.
    Use of uninitialized value in length at /tmp/.webmin/Module-Build-0.4001/blib/lib/Module/Build/Base.
    pm line 2767.
    t/basic.t …………………. ok
    t/bundle_inc.t …………….. skipped: $ENV{MB_TEST_EXPERIMENTAL} is not set
    t/compat.t ………………… ok
    t/compat/exit.t ……………. ok
    t/debug.t …………………. ok
    t/destinations.t …………… ok
    t/ext.t …………………… ok
    t/extend.t ………………… ok
    t/files.t …………………. ok
    t/help.t ………………….. ok
    Deep recursion on subroutine “Pod::Html::scan_dir” at /usr/lib/perl5/5.8.8/Pod/Html.pm line 982.
    Deep recursion on subroutine “Pod::Html::scan_dir” at /usr/lib/perl5/5.8.8/Pod/Html.pm line 982.
    Deep recursion on subroutine “Pod::Html::scan_dir” at /usr/lib/perl5/5.8.8/Pod/Html.pm line 982.
    Deep recursion on subroutine “Pod::Html::scan_dir” at /usr/lib/perl5/5.8.8/Pod/Html.pm line 982.

    Avez vous une solution pour que je puisse relancer l’installation des modules CPAN?

    Merci d’avance,

    Cdt,

    Julien

  28. Malheureusement je ne suis pas un spécialiste de CPAN…

  29. Salut NiTRo,

    Juste une petite question au sujet du session file. Tu indiques que cela permet une authentification plus rapide. J’imagine par rapport à l’authent’ login/mdp. Toutefois comment fais-tu pour réutiliser ce fichier de session car j’imagine que cela remplace l’authent’ par login/mdp ? (J’arrive bien à le sauvegarder avec -S)

    Un merci d’avance ;-)

    Seb.

  30. Le fichier n’exempt pas l’authentif (pas à ma connaissance mais ce serait l’idéal pour éviter les multiples events) mais permet de réutiliser le même token de session (s’il n’a pas expiré) et donc de ne pas avoir 50000 sessions sur le vcenter

  31. pls help me ,why

    [root@CactiEZ scripts]# sh /var/www/cacti/scripts/check_esx3_helper.sh
    : command not foundpts/check_esx3_helper.sh: line 3:
    : command not foundpts/check_esx3_helper.sh: line 5:
    : command not foundpts/check_esx3_helper.sh: line 7:
    : command not foundpts/check_esx3_helper.sh: line 10:
    /var/www/cacti/scripts/check_esx3_helper.sh: line 14: syntax error near unexpected token `elif’
    /var/www/cacti/scripts/check_esx3_helper.sh: line 14: `elif test “$4″ = “cluster’ndex” ; then

  32. Pour les soucis de modules PERL, il suffit de lancer un shell cpan et d’installer Nagios::Plugin (perso ca a foiré la premire fois, j’ai du installer via cpan Module::Build, Module::Implementation et Params::Validate). Par contre il faut une connexion au net.
    Au niveau du helper, je l’ai bidouillé pour qu’il prenne les clusters/datastores avec des espaces: il suffit que lors de l’index il sorte les noms séparés par des guillemets, comme ca c’est re-injecté tel quel dans cacti, qui supporte cela maintenant (bug corrigé en 0.8.8: http://bugs.cacti.net/view.php?id=1632 ). Il faut aussi rajouter quelques guillemets au niveau de l’argument 6 dans le helper.
    @NiTRo: je peux t’envoyer le script corrigé si ca t’intéresse.
    Au debut, pas moyen d’avoir de RRD. En fait lors de l’ajout des Data queries au device, il faut que ces dernieres soient en “Index Count Changed”.Par defaut c’est Uptime goes backward, mais le souci c’est qu’il check l’uptime via SNMP, or le SNMP n’est pas activé sur le vCenter mais cacti croit qu’il l’est puisqu’on lui file des identifiants SNMP, il croit donc que le device est down et ne lance donc pas les scripts pour relever les valeurs. Je ne sais pas si ce comportement est propre à la 0.8.8 par contre.
    Si cela peut permettre du gagner du temps à quelqu’un … :-)

  33. @cans oui ça m’intéresse :)
    Merci pour ton aide.

  34. Salut NiTRo,

    En premier, merci beaucoup pour ton travail, ça aide beaucoup.

    J’ai un petite problème, voici le
    Data Query Debug Information:

    + Running data query [16].
    + Found type = ‘4′ [Script Query].
    + Found data query XML file at ‘/usr/share/cacti/site/resource/script_queries/check_vmware_datastore.xml’
    + XML file parsed ok.
    + missing in XML file, ‘Index Count Changed’ emulated by counting arg_index entries
    + Executing script for list of indexes ’sh /usr/share/cacti/site/scripts/check_esx3_helper.sh svrmtl1prdvcms1.trsb.corp 00001170 ***** datastoreindex’ Index Count: 2
    + Found index: at /usr/share/perl/5.14/VMware/VICommon.pm line 545.
    + Found index:
    + Executing script query ’sh /usr/share/cacti/site/scripts/check_esx3_helper.sh svrmtl1prdvcms1.trsb.corp 00001170 **** query dsname’
    + Found item [DatastoreName='at'] index: at
    + Found item [DatastoreName='/usr/share/perl/5.14/VMware/VICommon.pm'] index: /usr/share/perl/5.14/VMware/VICommon.pm
    + Found item [DatastoreName='line'] index: line
    + Found item [DatastoreName='545.'] index: 545.

    Et sur la console j’ai:

    adminti@svrmtl1prdlog:/usr/share/cacti/site/scripts$ ./check_esx3_helper.sh 192.168.0.206 00001170 ***** clusterindex
    BLADECENTER_S

    Est-ce que t’a une idée de ça serait quoi mon erreur?

    Merci beaucoup.
    Et désolé pour mon français..

    Merci encore..!!

    Felipe

  35. Et finalment résolu:

    J’ai ajouté la ligne:
    export PERL_LWP_SSL_VERIFY_HOSTNAME=0

    Au debut du fichier check_esx3_helper.sh

    Encore une fois, merci beaucoup pour ton travail..!!!

  36. Merci pour ton feedback sur SSL Felipe !

  37. Excuse me, I don’t speak French (sorry).

    In my execution of the script, I get the response:

    ERROR: the RRD does not contain an RRA matching the chosen CF

    Could you help me?

    Thanks.

  38. Hi Juan, no problem about the language ;)
    it seems to be a cacti error and a quick googling shows up a bug in 0.8.7a (http://forums.cacti.net/post-122652.html), what’s your current cacti version ?

  39. No, I’m in 0.8.7d i386 version. Is it a problem?

  40. I don’t think so, it was a first try. Did you turn the cacti log to “medium” to see if anything seems wrong ?

  41. Bonjour,

    J’ai un trouble à l’importation des templates. J’ai Cacti version 0.8.8a et lorsque j’importe cacti_….vpx-cluster_usage.xml, l’interface web génère l’erreur 404 “Page not found” J’ai également essayé d’importer en utilisant le fichier direct ou par le mode texte. Aucun changement et pas plus de succès à importer par la ligne de commande.

    Aucun problème avec le template vmfs_usage.

    Merci

  42. Autre question. Est-ce qu’il est possible d’obtenir tout ça avec un ESXi et un vCenter…. gratuit? Si oui, quel vCenter? Ou est-ce que j’ai mal comprit et il faut absolument avec un vCenter payant pour avoir accès à ses fonctionnalités?

  43. Frankydjo, erreur 404 vers quelle url ?
    Les compteurs de cluster sont générés pas vcenter et il n’existe pas (encore) de version free :)

  44. Hi,

    Your posting is very interesting.
    I have ESX4.0 but did not find any template related
    Do you have template for ESX4.0? and guild me how to install?

  45. Bonjour à tous,

    J’ai un souci avec ce template cacti.

    Au début j’avais un problème, car je ne voulais pas utiliser le snmpv3 donc j’ai modifié les fichiers “check_vmware_cluster.xml et datastore.xml” en rentrant directement le login et mot de passe.

    Maintenant lorsque je lance le query sous Cacti il me trouve bien mon cluster et mes datastores.

    Je lance la création des graphs et j’ai 2 soucis différents :

    Lorsque je clic sur “Realtime” à droite du graph je vois bien que le datastore commence à grapher mais rien n’apparaît sur le graph général…

    Et pour le cluster CPU,MEM…il ne se passe rien même le graph en fond ne s’affiche pas.

    Si je n’ai pas été clair,n’hésitez pas à me demander d’autre explication.

    Merci beaucoup

  46. @Jérémie : Bonjour, dans un premier temps il faut savoir ce que cacti reçoit comme data, passez le “Poller Logging Level” à MEDIUM pour avoir les résultats.

  47. @noname : It’s cross version compatible, you can use it against 3.5, 4.x or 5.x
    Did you tried ?

  48. Voilà le résultat pour le Datastore :

    sh /srv/eyesofnetwork/cacti/scripts/check_esx3_helper.sh EC-MON-MGT2 administrateur password get VMFS Datacore, output: 0

    Il me sort 0 alors que je lance cette commande sur mon serveur :
    sh
    /srv/eyesofnetwork/cacti/scripts/check_esx3_helper.sh EC-MON-MGT2 administrateur password get VMFS Datacore-VD3-15k

    il me sort le resultat 67

    Pour le CPU voilà le résultat :

    sh /srv/eyesofnetwork/cacti/scripts/check_esx3_helper.sh EC-MON-MGT2 administrateur password get CPU CLUSTER, output: U

    Mais là, lorsque je rentre la commande sur le serveur j’ai l’erreur “CHECK_VMWARE_API.PL CRITICAL – CLUSTER CPU Unknown error”

    Merci pour ton aide :)

  49. Jérémie Says:
    March 1st, 2013 at 10:02

    Je me permet un petit up ;)

  50. @Jérémie : je te répond ASAP ;)

  51. Hello NiTRo,

    Encore moi, je viens de changer à CactiEZ, après avoir tout configuré voilà que j’ai reçois:

    sh /var/www/html/scripts/check_esx3_helper.sh server.com username password query dsname
    awk: warning: escape sequence `\” treated as plain `”
    VMware:VMware
    Infrastructure:Infrastructure
    (VI):(VI)
    Perl:Perl
    Toolkit:Toolkit

    il semble bien fonctionner, mais les valeurs opur les datastore ne correspondent pas.

    As-tu une idée?

    Merci

  52. Bonjour NiTRo,

    Il semble que c’est à cause d’une problème avec l’installation du SDK de VMware.

    Je vais vous tenir au courant.

    Merci.

  53. @Felipe, ok merci

  54. @Jérémie, tu peux essayer d’utiliser le script check_vmware_api.pl directement au lieu de passer par le helper ?

  55. Jérémie Says:
    March 12th, 2013 at 15:18

    Ok, mais quelle commande souhaites-tu que j’exécute ?

  56. Jérémie Says:
    March 12th, 2013 at 15:29

    Voici un exemple de résultat :

    commande : ./check_vmware_api.pl -D ec-mon-mgt2 -u administrateur -p password -l cpu -s usage -i 300 -T 600

    résultat : CHECK_VMWARE_API.PL OK – cpu usage=20.07 % | cpu_usage=20.07%;;

  57. et le helper te sort quoi tout de suite ?

  58. Jérémie Says:
    March 12th, 2013 at 15:51

    Il me sort CHECK_VMWARE_API.PL CRITICAL – CLUSTER CPU Unknown error

  59. Hello NiTRo,

    Impossible de faire fonctionner dans l’état ce nouveau package.

    Info : Cacti 0.8.7i et vcenter (5.0 et 5.1)

    Résultats :

    sur vcenter 5.0 :

    root@IT-CACTI-02:/var/www/cacti/scripts# sh check_esx3_helper.sh 10.10.9.83 mylogin mypassword get CPU Cumulus_Cluster

    … j’attends encore la fin d’exécution devant mon ecran … bref au bout de 10 minutes je l’ai arrêté …

    Sans le cluster spécifié avec check_esx3_helper il manque un argument.

    root@IT-CACTI-02:/var/www/cacti/scripts# perl check_vmware_api.pl -D 10.10.9.83 -u mylogin -p mypassword -l cpu -s usage -i 300 -T 300
    CHECK_VMWARE_API.PL OK – cpu usage=21.50 % | cpu_usage=21.50%;;

    sur vcenter 5.1 :

    avec interval standard à 300:
    root@IT-CACTI-02:/var/www/cacti/scripts# perl check_vmware_api.pl -D 10.10.9.80 -u mylogin -p mypassword -l cpu -s usage -i 300 -T 300
    CHECK_VMWARE_API.PL CRITICAL -
    SOAP Fault:
    ———–
    Fault string: A specified parameter was not correct.
    querySpec.interval
    Fault detail: InvalidArgumentFault

    avec interval à 20 ( impossible d’avoir un résultat si l’interval n’est pas à 20):
    root@IT-CACTI-02:/var/www/cacti/scripts# perl check_vmware_api.pl -D 10.10.9.80 -u mylogin -p mypassword -l cpu -s usage -i 20 -T 300
    CHECK_VMWARE_API.PL OK – cpu usage=8.54 % | cpu_usage=8.54%;;

    Le fait est que si je rajoute le nom du cluster dans les requêtes , et bien c la merte !!!!

    Si cela permet de faire un peu avancer le schmilblick :)

  60. il doit y avoir eu trop de modif sur le script check_vmware_api, je vais jeter un oeil.
    je vais essayer d’utiliser StatsFeeder à la place…

  61. @Daff, je viens de tester avec la dernière version de check_vmware_api.pl sur un vcenter 5.0 et 5.1 c’est ok.
    Vous utilisez quelle version du script ?

  62. Hey,

    that work is nice ! Have you thinked about a graph template for a overall cpu,mem,net usage over the whole datacenter – not just the cluster ?
    Aswell i would prefer the use of the usage in MHZ or MB usage as the %. This makes the graphs more detailed, when adding additional hardware for example.

    Kind regards,
    Constey

  63. Hey Constey,
    Thanks!
    A datacenter view would be intersting indeed, i’ll have a look on it.
    About units vs %, i made that choice in order to easilly compare cluster load but i could add the choice if you’re interested?

  64. Hey,
    yes of course that would be very interesting :-)
    The Datacenter request of the check_vmware_api should be:
    -D vcenter -u user -p password -l cpu -s usagemhz

    Maybe some other where you could give me a hint:
    I’ve installed the templates, data queries and have a vcenter associated with it. The graphs are displayed but withoud data. Funny thing: If i have a look in the real time graph (realtime plugin) i have data here. Do you have an idea what that blank graphes could be caused by?

    kind regards,
    Constantin

  65. P.S. Maybe there is sth. bugged with the comment system here. If i write down the cmdline with FQDN, or userATdomainDOTinfo and I try to send the comment i just get a blank page :o )

  66. You could raise the cacti logging level to see what happens, it’s always a good start.
    Thanks about the comment bug, i’ll check that :)

  67. I raised it up to debug, but i cant see an error there.
    If i check the rrd file there is no data there:
    2013-06-15 10:00:00 CEST / 1371283200 NaN
    2013-06-15 12:00:00 CEST / 1371290400 NaN

    on a look to the temp rrd file from the realtime graph there is data:
    2013-06-17 10:33:00 CEST / 1371457980 2.0010000000e+01
    2013-06-17 10:34:30 CEST / 1371458070 2.0010000000e+01
    2013-06-17 10:36:00 CEST / 1371458160 1.4155666667e+01

    so i think there must be anything like a timeout, or script execution time or sth. which is different between the normal poller scan and the realtime view.
    Ive added the log files and the rrd file here, maybe you can have a short look at it:
    constey.de/krams/log.txt
    constey.de/krams/poller.txt
    constey.de/krams/realtime.txt

    lg

  68. Salut,

    J’essaie de mettre en place ce template mais j’ai un soucis avec l’exécution du helper. Dans cacti après avoir créé le device je n’arrive pas à remonter des valeurs. Je décide de lancer le helper à la main :

    sh check_esx3_helper.sh monserveur yyyyy xxxxx get CPU

    J’obtiens :
    : command not foundh: line 3:
    : command not foundh: line 5:
    : command not foundh: line 7:
    : command not foundh: line 10:
    check_esx3_helper.sh: line 14: syntax error near unexpected token `elif’
    ‘heck_esx3_helper.sh: line 14: `elif test “$4″ = “clusterindex” ; then

    Je suis sur du redhat-5.5.

    Si je lance le pl à la main pas de soucis il me remonte bien des valeurs.

  69. Bonjour,
    vous pouvez vérifier ce chemin dans le script :
    check_esx3=”/var/www/cacti/scripts/check_vmware_api.pl”

  70. Bonjour,

    Je l’ai adapté pour mon infra :

    check_esx3=”/www/prod/admin/html/cacti/scripts/check_vmware_api.pl”

    Le truc bizarre est que si je supprime les retour à la ligne des lignes 3, 5, 7, 10 je n’ai plus que ça comme erreur :

    check_esx3_helper.sh: line 11: syntax error near unexpected token `elif’
    ‘heck_esx3_helper.sh: line 11: `elif test “$4″ = “clusterindex” ; then

    J’ai essayé de lancer le helper sur mon pc (Fedora 18) et l’erreur est différente :

    check_esx3_helper.sh: ligne3: $’\r’ : commande introuvable
    check_esx3_helper.sh: ligne5: $’\r’ : commande introuvable
    check_esx3_helper.sh: ligne7: $’\r’ : commande introuvable
    check_esx3_helper.sh: ligne10: $’\r’ : commande introuvable
    check_esx3_helper.sh: ligne14: Erreur de syntaxe près du symbole inattendu « elif »
    ‘heck_esx3_helper.sh: ligne14: `elif test “$4″ = “clusterindex” ; then

  71. @Philippe: pour ce genre de soucis, il faut utiliser dos2unix.
    Comme ceci :
    $ dos2unix check_esx3_helper.sh
    Et après plus de soucis.

  72. @nissen : parfait ça marche mieux maintenant.

    Merci

  73. “Nagios::Plugins was renamed to Monitoring::Plugins due to trademark reason. cpan doesn’t index Nagios::Plugins anymore. Now you must install Monitoring::Plugins:”

    http://unix.stackexchange.com/questions/199155/cannot-install-nagiosplugin-dont-know-what-it-is

Leave a Reply