PDA

View Full Version : Supervision avec ESX3


Anthony80
10-24-2007, 05:53 PM
En français :

Bonjour tout le monde, donc voilà, j'aurais desiré savoir si une personne avait dejà utilisé la supervision sur un système esx 3.0, (deja essayé personnellement sur esx 2.5), puis de savoir si le fait de generer des graphiques fonctionnent ? Essentiellement pour l'activité CPU physique, puis l'activité CPU virtuel...

Dans mon cas, rien ne marche, quelqu'un aurait-il une solution ? Merci d'avance





In english (sorry for my bad english :( )

"Hello all, I desired to know if one person use the supervision on the esx system 3.0 (yet try personnaly on esx 2.5), then to know if generate graphics function ? Essentially for CPU activity (Physic and virtual)....

In my case, nothing works, someone would it the solution ? Thanks you in advance :)

naparuba
01-02-2008, 09:55 AM
En français :

Bonjour tout le monde, donc voilà, j'aurais desiré savoir si une personne avait dejà utilisé la supervision sur un système esx 3.0, (deja essayé personnellement sur esx 2.5), puis de savoir si le fait de generer des graphiques fonctionnent ? Essentiellement pour l'activité CPU physique, puis l'activité CPU virtuel...

Dans mon cas, rien ne marche, quelqu'un aurait-il une solution ? Merci d'avance


Perso j'ai tenté une heuristique pour avoir le load qu'on a dans esxtop.
Mais le problème est d'avoir les info avec un user non privilégié, alors qu'un esxtop demande les droits root pour être lancé (alors que dans /proc les info sont lisibles par n'importe quel user pour /proc/vmware). Je pense que je vais mettre un coup de sudo à nagios pour qu'il puisse lancer esxtop.

Par exemple, je viens juste de découvrir que l'option -b de esxtop permet d'avoir toutes les infos de esxtop :)
tente un petit
esxtop -b -n 1 | tr "," "\n" | less
Ce genre de résultat c'est du bonheur. Un petit coup de pyton pour parser tout ça et remettre dans l'ordre (on a la liste des objets monitorés, puis la liste des valeurs), puis on a les valeurs désirées. Le tout par nrpe, je ne suis pas fan du SNMP personnellement.

Dès que j'ai un script potable, je le poste ;)

CliMz
01-21-2008, 01:50 PM
Bonjour

Je suis aussi actuellement sur la supervision d'esx.
Personnellement j'ai cherche du coté de vmware qui propose un kit (ViPerlToolkit) qui permet d'exécuter des script perl qui vont chercher des infos sur les serveurs (ex : nombre de VM, nom d'esx sur un virtual center, charge cpu ...).
Le tout reste assez complexe je suis actuellement en train de modifier les scripts fournis en exemple pour avoir les résultats désiré.
Si quelqu'un veut un peu d'aide pour l'install sur Debian j'ai prit des notes.

Si quelqu'un à d'autre chose je suis preneur et je pense que la communauté aurait a y gagné vu le développement des solutions de virtualisation.

See ya :mrgreen:

naparuba
01-21-2008, 01:57 PM
Je veux bien tes notes en effet. J'ai réussi à l'installer, mais après bah... je n'ai pas trop su quoi en faire :)
Surtout comment on rentre les vm ou le vcenter dedans.

Merci ;)

CliMz
01-21-2008, 02:12 PM
Alors j v essayé de faire simple sans rien oublié :
INSTALL:
Je precise le kit est a installer sur le serveur nagios/oreon
*Telecharger VIperlToolkit:
http://www.vmware.com/download/eula.do
VI Perl Toolkit - Linux Installer
VMware-VIPerl-Toolkit-1.0.0-56200.i386.tar.gz

*Le mettre dans /tmp
*Décompressez: tar -zxvf VMware-VIPerl-Toolkit-1.0.0-56200.i386.tar.gz

*lancer : /tmp/vmware-viperl-distrib# ./vmware-install.pl

Valider l'install en exécutant un des script :
cd /usr/share/doc/vmware-viperl/samples/discovery
./datacenterlisting.pl --username xxxx --password xxxxx --server IP_virtual_center --datacenter ''

Et la normalement il te liste les esx présent sur le virtual center et toutes les VM

Les problèmes que j'ai eu :
*Can't locate URI.pm in @INC ....
=> cd /usr/lib/perl/5.8.8/XML/SAX/PurePerl/Reader# cp * /usr/lib/perl/5.8/

*Subroutine new redefined at /usr/lib/perl/5.87/URI.pm line 14.
Error connecting to server at 'http://xxxxxxxx/sdk/webServices":
Can't locate object method "new" via package "URI" at /usr/lib/perl/5.8/HTTP/Request.pm line 82.
=># perl -MCPAN -e shell
cpan> install URI
cpan> reload cpan
cpan> exit

Developpement de scripts:
Pour développer des scripts il existe plusieurs aide de vmware :
http://pubs.vmware.com/vi3/sdk/ReferenceGuide/index.html
http://www.vmware.com/support/developer/viperltoolkit/doc/perl_toolkit_guide_idx.html
http://www.vmware.com/support/developer/viperltoolkit/doc/perl_toolkit_subroutines_idx.html

Voila en espérant avoir pu vous aider

naparuba
01-21-2008, 03:47 PM
Merci, je teste :)


Edit: cool, j'arrive à lister, c'est parti pour la suite :)

CliMz
01-21-2008, 04:08 PM
Merci, je teste :)


Edit: cool, j'arrive à lister, c'est parti pour la suite :)

en modifiant le script tu peu simplement récupérer le nombre d'esx sur le virtual center et le nombre de machines :


#!/usr/bin/perl -w
#
# Copyright 2006 VMware, Inc. All rights reserved.
#
# This script prints all VM's and hosts under a datacenter

use strict;
use warnings;

use URI;
use VMware::VIM2Runtime;
use VMware::VILib;

$Util::script_version = "1.0";

my %opts = (
datacenter => {
type => "=s",
help => "Datacenter name",
required => 1,
},
);

# read/validate options and connect to the server
Opts::add_options(%opts);
Opts::parse();
Opts::validate();
Util::connect();

# find datacenter
my $datacenter = Opts::get_option('datacenter');
my $datacenter_view = Vim::find_entity_view(view_type => 'Datacenter',
filter => { name => $datacenter });

if (!$datacenter_view) {
die "Datacenter '" . $datacenter . "' not found\n";
}

# get all hosts under this datacenter
my $host_views = Vim::find_entity_views(view_type => 'HostSystem',
begin_entity => $datacenter_view);

# print hosts
my $counter = 0;
print "Nombre d'ESX sur ce virtual center:\n";
foreach (@$host_views) {
#print "$counter: " . $_->name . "\n";
$counter++;
}
print "$counter:\n";

# print vm's
$counter = 0;
print "\nNombre de VM sur ce virtual Center:\n";
# get all VM's under this datacenter
my $vm_views = Vim::find_entity_views(view_type => 'VirtualMachine',
begin_entity => $datacenter_view);
foreach (@$vm_views) {
#print "$counter: " . $_->name . "\n";
$counter++;
}
print "$counter \n";
# disconnect from the server
Util::disconnect();





Reste a voir comment implémenter cela pour avoir les résultats (éventuellement graphé pour le nombre de machine) sous nagios

naparuba
01-21-2008, 05:45 PM
Je n'arrive pas à avoir certaines infos dans la doc: le load average et les I/O sur les disques des ESX. Bon, je n'ai peu être pas assez cherché dans la doc, j'y retourne :)

jeyjey
01-23-2008, 09:26 AM
bonjour,
avez-vous deja essayé de superviser un ESX 3 avec les plugins fourni sous nagios exchange ?
chez moi c'est pas terrible ... j'ai des alertes ... alors que tout va bien !!!

j'ai egalement installé le VIperlToolkit par contre quand je lance la commande
./datacenterlisting.pl --username xxxx --password xxxxx --server IP_virtual_center --datacenter ''
il repond
Datacenter '' not found !!!
l' IP_virtual_center c'est bien l'ip du VMWARE ?
et c'est quoi la difference entre datacenter et server dans la commande ?

naparuba
01-23-2008, 10:44 AM
Desquels parles-tu précisément?

jeyjey
01-23-2008, 10:54 AM
de check_esxvm.pl et check_esx2

CliMz
01-23-2008, 01:06 PM
bonjour,
avez-vous deja essayé de superviser un ESX 3 avec les plugins fourni sous nagios exchange ?
chez moi c'est pas terrible ... j'ai des alertes ... alors que tout va bien !!!

j'ai egalement installé le VIperlToolkit par contre quand je lance la commande
./datacenterlisting.pl --username xxxx --password xxxxx --server IP_virtual_center --datacenter ''
il repond
Datacenter '' not found !!!
l' IP_virtual_center c'est bien l'ip du VMWARE ?
et c'est quoi la difference entre datacenter et server dans la commande ?

IL faut différencié plusieurs choses :
Le ou les serveurs ESX : heberge les vm
Le ou les datacenter : IL regroupe les ESX et heberge les console virtual center.
En tout cas c'est comme cela dans mon infrastructure.
Maintenant tu peu n'avoir qu'un serveur avec tout cela mais tout ca pour dire que l'ip à mettre dans :
./datacenterlisting.pl --username xxxx --password xxxxx --server IP_virtual_center --datacenter ''
N'est pas forcement l'ip de l'esx mais plutot du datacenter qui heberge ta console d'administration Virtual Center

J'espere avori été assez clair:)

CliMz
01-25-2008, 11:53 AM
Bonjour à tous

J'ai écrit/modifier deux plugins qui me permettent de remonter des infos sur mes serveurs ESX vers nagios. N'étant pas un grand developpeur et parce que l'union fait la force (oui j'ai trouvé cette phrase par terre ce matin :D ) je cherche d'autre personnes interessé afin de mettre en commun nos connaissances.

Vous pouvez me contacter par mp

Merci à tous

DonKiShoot
01-25-2008, 06:34 PM
Je ne supervise pas encore d'esx mais si le notre passe un jour en production, je t'aiderai volontiers à peaufiner ton script.

CliMz
01-28-2008, 03:26 PM
Bonjour à tous
Je suis en contact avec naparuba pour les scripts
Un de mes scripts me remonte une variable, j'arrive à générer le .rrd mais apparemment il y a un problème quelque part car je n'ai pas de graph sous oreon.
Je souhaiterai savoir s’il existe une structure type pour tracer des graphs via ODS ? Et de façons plus générales des structures de fonction réutilisable pour développer des scripts pour Nagios ?

Merci à tous