Monitorer ESXi dans Nagios/Cacti & Co
Posted by NiTRo | Filed under Tips & Tricks, VMware
L’absence du service SNMP dans ESXi rend plus complexe la tache de monitoring des serveurs, gratuite en tout cas. Mais c’est sans compter sur la force communautaire de Nagios…
check_esx3 est un script perl, développé par OP5, exploitant les API VMware pour intéroger un ESX 3(i) via l’https. Pour vous en servir, il vous faudra d’abord installer le VI Perl Toolkit ainsi que le Nagios::Plugin CPAN module.
Ce script vous permettra d’obtenir toutes sortes de renseignement sur vos ESXi (CPU, MEM, NET, IO, VMFS, RUNTIME, …) et de faire de jolis graphs sans forcer :
CHECK_ESX3.PL OK – cpu usage=4006.00 MHz(10.43%) | cpu_usagemhz=4006.00Mhz;; cpu_usage=10.43%;;
CHECK_ESX3.PL OK – mem usage=27537.21 MB(42.02%), overhead=6028.16 MB, swapped=0.00 MB | mem_usagemb=27537.21MB;; mem_usage=42.02%;; mem_overhead=6028.16MB;; mem_swap=0.00MB;;
Bonus : template cacti + scripts perl
Tags: ESXi, scripting, Tips & Tricks
December 24th, 2008 at 15:53
Sympa le "tipce", est-ce que çà marche avec la gride ?
December 30th, 2008 at 19:44
Très interresante, ca…. Il y a du bulot sur Nagios dans les prochaines jours… -:)
On va voir ça.
Merci
December 30th, 2008 at 23:09
La commande permet aussi de remonter les infos de toutes les VM aussi
January 5th, 2009 at 12:05
Bonjour,
Avez vous eu ce problème en voulant exécuter le plugin
Can’t locate Nagios/plugin.pm in @INC (@INC contains: /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/local/lib/perl5/site_perl .) at ./check_esx3 line 12.
BEGIN failed–compilation aborted at ./check_esx3 line 12.
J’ai bien installé les plugins de nagios mais je n’ai pas le Plugin.pm
Pouvez vous m’aider
Merci
January 5th, 2009 at 12:42
bonjour, vous avez bien installé le plugin CPAN ?
January 13th, 2009 at 15:33
Bonjour,
J’aimerais savoir si il y a des templates dispo pour cacti pour utiliser le script check_esx3 ?
J’ai beau essayer de me debrouiller tout seul, je rame :/
HELP ?
January 13th, 2009 at 16:05
bonjour, voici un host template CPU/MEM/NET/VMFS : http://www.hypervisor.fr/wp-content/uploads/2009/01/esxi.xml
Cela devrait vous aider
January 13th, 2009 at 16:23
merci, j’ai importer le template dans cacti et il fait reference a un script que je n’ai pas : esxi_cpu.pl, je n’ai a ma disposition que le check_esx3
J’essai de bidouiller votre template pour prendre en compte le resultat de check_esx3, merci encore
January 13th, 2009 at 16:44
En effet, j’ai oublié les scripts : http://www.hypervisor.fr/wp-content/uploads/2009/01/esxi.zip
January 13th, 2009 at 16:55
FOR-MI-DA-BLE !! j’essai ça de suite
MERCI BEAUCOUP !
January 13th, 2009 at 16:56
De rien
January 13th, 2009 at 17:47
bon, j’abandonne pour aujourd’hui, je lance les scripts a la mano et ça marche mais dans cacti j’ai aucune valeurs…
je regarderais plus calmement demain…
ça sux :’(
January 13th, 2009 at 17:53
Ça par contre, ça peu être plein raisons : droit d’exécution du compte cacti, chemin d’accès dans l’xml importé, etc…
January 13th, 2009 at 20:52
Bon, après être rentré tranquillou a la maison et avoir souffler un peu, cacti n’avais tout simplement pas les droits d’exécution des scripts maintenant ça marchouille !! encore merci !
January 26th, 2009 at 16:35
Pour moi, le soucis, c\’est que même au taquet, le plugin répond toujours OK
January 26th, 2009 at 16:38
OK c’est pas le status, c’est le bon retour de la commande
January 26th, 2009 at 16:45
OK … mais quoi qu\’il arrive, mon
# echo $?
me répond toujours
0
ne devrait-il pas changer pour la remontée vers Nagios ?
January 26th, 2009 at 17:25
lorsque vous lancez la commande en shell, quel est le retour ?
February 17th, 2009 at 17:54
Ca marche du toner par contre c’est vraiment très lent et cela sature mon serveur.
saloperie d’ESX qui veut rien dire via SNMP
February 17th, 2009 at 20:40
J’ai eu aussi cet effet de lenteur pendant une periode, ca donnait des trous dans les graphs meme. Par contre, c’est revenu du jour au lendemain et je n’ai toujours pas trouvé pourquoi…
Par contre, qu’entendez vous pas “sature” ?
May 6th, 2009 at 13:59
Bonjour à vous,
Alors en ce qui me concerne j’ai un petit soucis avec ce plugin ==> check_esx3
quand je lance la commande suivante (j’ai biensur enlevé des valeurs):
- check_esx3 -H -u -p -l CPU
J’ai un jolie petit message :
- /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
Auriez vous une idée pour résoudre ce problème s’il vous plait car c’est un plugin qui convient parfaitement à mes attentes.
Juste pour votre info j’ai suivis le tuto suivant :
- http://www.artiflo.net/2009/02/monitor-esx35i-avec-nagios3-centreon2/comment-page-1/#comment-2004
MERCI D’AVANCE
May 6th, 2009 at 16:22
Bonjour,
Regardez ici : http://forums.fedoraforum.org/printthread.php?t=188639
il semblerai que ce soit en rapport avec la version 5.10.0 de perl.
May 7th, 2009 at 12:05
Pour régler le problème de Thibaut, j\’ai fait la commande suivante :
yum install perl-XML-LibXML perl-Crypt-SSLeay perl-Class-MethodMaker
En ayant au préalable désinstaller le VI Perl Toolkit (je suis sur une fedora aussi, la commande ne sera certainement pas exactement la même).
Par contre, j\’ai un problème pendant l\’exécution:
CHECK_ESX3 CRITICAL – Error connecting to server at \’https://cosvgre06/sdk/webService\’: Login failed due to a bad username or password
J\’utilise le login permettant de se connecter via VMWare infrastructure Client…
May 7th, 2009 at 12:16
Vous utilisez bien un compte local à l’ESX ?
pouvez vous poster la commande complète ?
May 7th, 2009 at 12:23
./check_esx3 -H -u -p -l CPU -s usage -w 80 -c 90
A savoir que j’ai ESX(i) 3.5. L’utilsiateur est capable de se connecter en ssh, sur l’interface VMWare infrastructure Client. Il est membre du groupe “user”
May 7th, 2009 at 12:24
./check_esx3 -H adresse -u user -p pass -l CPU -s usage -w 80 -c 90
May 7th, 2009 at 12:26
Essayez de le mettre dans le groupe root à tout hasard
May 7th, 2009 at 12:28
Cela ne fonctionne pas mieux. Ce qui me chagrine un peu c’est qu’il essaye de se connecter à la plage ‘https://cosvgre06/sdk/webService’ qui n’existe pas chez moi.
May 7th, 2009 at 13:35
Re !
Alors j’ai installé les modules propre à DEBIAN, désinstallé VI Perl Toolkit et réinstallation.
Résultat : Toujours pareil ^^
Du coup, comme l’a dit admin, je vais voir pour installer une autre version de PERL, à moins que quelqu’un est une parade à cela, ou connaisse un correctif ou autres …?????
Et pour le moment je ne peux pas t’aider nunki désolé car je n’arrive même pas à lancer la commande ^^ donc des que cela fonctionnera je te dirai ce que ça donne de mon côté, en attendant je suis preneur de toute tentative de solution
En attendant bonne journée et je vous tiens au courant.
Merci à vous.
May 11th, 2009 at 16:40
est-ce que ce plugin fonctionne pour un ESXi en version 3.5?
May 11th, 2009 at 16:42
Oui et probablement sur VMware Server 2.0.x aussi
May 12th, 2009 at 14:14
/!\: mettre autour de simple quote la valeur du mot de passe s’il contient le caractère $
May 13th, 2009 at 21:14
c’est jamais bon des caractères trop spéciaux dans les password
June 23rd, 2009 at 10:10
Bonjour,
J’utilise Cacti 0.8.7b, j’ai importé le template XML et mis les scripts .pl dans le répertoire qui va bien.
Quand j’exécute les scripts manuellement, j’ai bien un retour dans ma console, par contre je n’ai aucun Graph.
Lors de la création des graph, les fichiers rrd ne se sont pas créés (même après plusieurs essais), j’ai repris la commande dans “data source” de cacti pour créer les fichier à la mano, mais ils ne se remplissent pas (même avec les droits 777).
J’ai besoin d’aide SVP.
Merci.
June 23rd, 2009 at 12:04
Bonjour,
Il faut mettre le log de cacti en HIGH pour voir si vous avez une erreur. Il y a peut être un soucis de chemin d’accès au RRD…
August 27th, 2009 at 11:05
please help me to install plugin in ubuntu 9.04
(This is perl, v5.10.0 built for i486-linux-gnu-thread-multi)
i have install
libssl-dev
VMware-vSphere-SDK-for-Perl-4.0.0-161974.i386
VMware-VmPerlAPI-2.3.2-39850
but i have this error
/usr/bin/perl: symbol lookup error: /usr/lib/perl/5.10/auto/Class/MethodMaker/MethodMaker.so: undefined symbol: Perl_Tstack_sp_ptr
ls /usr/lib/perl/5.10/auto/Class/MethodMaker/MethodMaker.so
/usr/lib/perl/5.10/auto/Class/MethodMaker/MethodMaker.so
grazie
August 27th, 2009 at 11:22
http://wiki.secured.de/dokuwiki/vmware/viperl-lenny
cpan install Class::MethodMaker
September 24th, 2009 at 15:10
bonjour,
Etant assez faible en linux, je ne trouve pas le Nagios::Plugin CPAN module.
September 24th, 2009 at 18:55
Il faut déjà que vous ayez le module CPA sur votre distrib linux, ensuite les commandes pour l’utiliser son facilement trouvable sur google : http://www.perl.com/doc/manual/html/lib/CPAN.html
January 22nd, 2010 at 14:02
[...] there is another method to monitor your free ESXi hosts. hypervisor.fr has published an excellent how to but it is in [...]
February 6th, 2010 at 11:42
[...] Ce billet était mentionné sur Twitter par tscalzott, raphael schitz. raphael schitz a dit: RT @tscalzott: Checking out Cacti << so check this out http://bit.ly/9HoXkV [...]
May 27th, 2010 at 19:04
Bonjour,
J’aimerai savoir comment vous allimentez votre cacti ? ( via Nagios, qui rempli une base et cacti consulte cette base… Je pense à NPC )
Merci pour votre retour.
May 27th, 2010 at 19:06
C’est le poller de cacti qui interroge les serveurs et alimente les RRD qui sont utilisés pour l’affichage des graphiques
June 7th, 2010 at 12:13
Bonjour,
La mise en place du script check_esxi3 c’est très bien déroulé et fonctionne parfaitement. cependant mes graphs restent vide sous cacti avec les scripts fournit plus haut.
Tous les scripts sont membres de root et lors de l’éxécution de perl ping.pl 127.0.0.1 j’ai bien un retour alors que lors de l’éxécution de perl esxi_cpu host pwd une ligne vide apparait et ce même si je met le mauvais mot de passe ou mauvaise ip.
Avez-vous une idée ?
June 7th, 2010 at 12:33
J’ai trouvé tout seul la solution les scripts ne pointaient pas vers le script de référence :p Maintenant en manuel les scripts retourne bien les bonnes valeur mais il y a un soucis dans cacti :
06/07/2010 01:30:01 PM – CMDPHP: Poller[0] Host[2] DS[10] WARNING: Result from CMD not valid. Partial Result: U
06/07/2010 01:30:01 PM – CMDPHP: Poller[0] Host[2] DS[9] WARNING: Result from CMD not valid. Partial Result: U
06/07/2010 01:30:01 PM – CMDPHP: Poller[0] Host[2] DS[8] WARNING: Result from CMD not valid. Partial Result: U
06/07/2010 01:30:01 PM – POLLER: Poller[0] WARNING: Poller Output Table not Empty. Issues Found: 1, Data Sources: (DS[11])
June 7th, 2010 at 12:37
Mets ton poller log en debug pour voir ce qui ne va pas dans le retour et refais ton graph en totalité au cas ou
June 7th, 2010 at 13:08
Le poller n’indique aucune erreur sur les rrd de plus lorsque j’exécute les scripts en console j’ai bien le bon retour, du coup je ne comprend pas bien pourquoi cacti a une erreur lors de l’exécution de ceux-ci
June 7th, 2010 at 20:52
Euh je reviens sur le sujet, mais je comprends pas trop surement à cause de la fatigue, mais à la lecture de cet article j’ai l’impression de comprendre que le script qui est créé est exécuté par nagios et que cacti récupére les informations de collecté par nagios.
Est ce que je me trompe complètement ?
Dans ce cas là est ce qu’il serait possible d’avoir un petit d’escriptif sur le fonctionnement de l’ensemble ?
Merci par avance.
June 7th, 2010 at 20:56
Complétement oui
Ce script peut fonctionner sous cacti ou nagios mais tu peux effectivement le faire fonctionner par nagios et récup les infos avec cacti ou directement le faire exécuter par cacti sans nagios.
June 7th, 2010 at 21:19
D’accord, c’est vrai, j’oubliais que cacti pouvait exécuter des scripts
Donc je suppose que tu n’utilises pas nagios + ndoutils + cacti + NPC ( cacti qui va donc en base prendre les valeurs que nagios récupére pour y créer des graphs )
Actuellement j’installe nagios + centreon + nagvis + cacti mais je me trouve un peu bloqué, car j’aimerais utiliser cacti pour grapher mes valeurs récupéré par nagios…
Si tu as une piste pour m’aider sur le sujet ca serait avec plaisir.
Tiens si tu peux donner ton avis sur centreon ?
Merci par avance.
June 8th, 2010 at 19:10
Tu peux essayer n2rrd : http://n2rrd.diglinks.com/cgi-bin/trac.fcgi et faire en sorte que cacti interroge les rrd sans faire de polling (je ne suis pas un expert de nagios donc je ne pourrais pas t’en dire plus)
j’ai connu Centreon à l’époque où ca s’appelait Oreon, ils ont fait un super taff d’après ce que j’en vois mais à part te dire que ca me parait une bonne solution all-in-one, je ne l’utilise plus depuis longtemps.
March 30th, 2011 at 11:55
Thank you very much. Nice job easy to use.
In EON we simply need to edit each .pl to change the path to cacti.
Once again. Thank you.
Athos10
March 30th, 2011 at 12:11
your welcome. we’ll soon provide cluster templates too
October 3rd, 2011 at 18:55
[...] nous, à Hypervisor.fr, cacti c’est une grande passion ! Il y a presque 3 ans, quelques mois après la GA d’ESXi 3.5 (aka ESX 3i), nous avions publié …. Il permettait à l’époque de s’affranchir de SNMP, grand absent d’ESX 3i. [...]
August 31st, 2012 at 21:15
[...] Da VMware ESXi leider keine interessanten SNMP-Features in der freien Version bieten kann, musste ich mir eine andere Methode suchen, wie ich meinen Server überwachen kann. Auf meiner Suche bin ich auf folgende Seite gestoßen (leider in Französisch – jedoch gut leserlich mit Google-Translate): http://www.hypervisor.fr/?p=424 [...]
June 9th, 2013 at 10:26
[...] Monitorer ESXi dans Nagios/Cacti & Co [...]
June 12th, 2013 at 11:49
Bonjour,
Merci pour ce bon tuto bien détaillé.
J’utilise ce plugin depuis un petit moment mais j’ai quelques erreurs aléatoire. Plusieurs fois dans la journée j’ai un message d’erreur et le service passe en CRITICAL : SOAP request error – possibly a protocol issue: 500 Can’t read entity body: Resource temporarily unavailable. Ceci ce produit sur mes 4 esxi.
Mes ESXi sont en version 4.1 update 2
Quelqu’un aurait t’il une idée?
Merci.
June 13th, 2013 at 13:18
@Yohann tu dois avoir des problèmes avec le webservice vcenter, regardes dans les logs pour voir si tu trouves des pistes
June 14th, 2013 at 9:37
Bonjour,
Merci pour votre réponse.
Ou se trouve les logs du webservice vcenter? J’ai la même réponse en checkant directement l’esxi ou en passant par le vcenter.
June 14th, 2013 at 9:53
J’ai trouvé ce type d’erreur dans le log vpxd-557.log si sa vous dit quelques choses
error ‘SoapAdapter.HTTPService’] HTTP Transaction failed on stream TCPStreamWin32(socket=TCP(fd=6264) local=[::1]:8085, peer=[::1]:57988) with error class Vmacore::SystemException(An established connection was aborted by the software in your host machine. )
February 7th, 2014 at 11:53
Bonjour,
Je tente de grapher mes Esxi avec cacti mais j’ai le message suivant dans mon log : CMD: perl /var/www/cacti/scripts/esxi_cpu.pl 172.16.1.101 password, output: U
J’ai tenté de lancer la commande manuellement mais il me donne aucune valeur, il m’indique une erreur à cause de mon mot de passe qui contient un &.
Pouvez-vous me dire si le & dans le mot de passe peut poser problème dans l’éxécution du script?
Cordialement
Erick
February 9th, 2014 at 23:24
Bonjour Erick,
il y a des chances oui, testez avec un autre compte pour confirmer
February 10th, 2014 at 13:30
Bonjour,
J’utilise les mêmes commandes dans Nagios et je reçois bien des valeurs
Cordialement
Erick
February 10th, 2014 at 14:06
bonjour,
le problème c’est le formulaire php de cacti, il faut éviter les caractères spéciaux autres que “_” et “.”
February 10th, 2014 at 14:08
Bonjour,
Merci pour ta réponse.
Comment créer un compte de supervision sur mes esxi?
Cordialement
Erick
February 10th, 2014 at 14:10
Dans l’onglet “local Users & Groups” du client