Les manipulations qui suivent sont réalisées sur le serveur de supervision Icinga (Distribution CentOS 6.3).
Les paquets suivants doivent être installés :
#
yum install openssl-devel libxml2-devel perl-URI perl-CPAN perl-Archive-Zip \
perl-class-MethodMaker perl-SOAP-Lite perl-XML-SAX perl-XML-NamespaceSupport \
perl-XML-LibXML perl-Data-Dump uuid-perl libuuid-devel uuid-devel
Tapez les commandes suivantes :
#
perl -MCPAN -e shell
cpan>
install URI
cpan>
install Nagios::Plugin
cpan>
exit
Le composant "VMware vSphere Perl SDK" existe sous différentes versions. La version utilisée ici est la 4.1. Vous pouvez essayer une version plus récente si votre système Linux est conforme aux prérequis de VMware.
Le site Internet des composants "VMware vSphere Perl SDK" se trouve à l'adresse : http://www.vmware.com/support/developer/viperltoolkit/.
Positionnez-vous dans le répertoire [/usr/local/src/] puis téléchargez l'archive "VMware-vSphere-Perl-SDK-4.1.0-254719.tar.gz". Décompressez l'archive :
#
cd /usr/local/src
#
tar xvzf VMware-vSphere-Perl-SDK-4.1.0-254719.tar.gz
Positionnez-vous dans le répertoire [vmware-vsphere-cli-distrib] puis lancez la configuration de l'application.
#
cd vmware-vsphere-cli-distrib
#
./vmware-install.pl
Creating a new vSphere CLI installer database using the tar4 format.
Installing vSphere CLI
Installing version 254719 of vSphere CLI
You must read and accept the vSphere CLI end User Licence agreement to continue.
Press enter to display it.
..........................
Do you accept? (yes/no)
Tapez "yes" puis touche [Entrée].
In which directory do you want to install the executable files? [/usr/bin]
Appuyez sur la touche [Entrée] pour accepter le répertoire proposé par défaut.
Note | |
---|---|
A ce stade de l'installation, vous ne devez avoir aucun message d'erreur. Dans le cas contraire - problème de compatibilité avec perl - vous devez le régler avant de poursuivre ... |
Site internet pour le plugin "check_vmware_api.pl" : git://git.op5.org/nagios/op5plugins.git/.
Exécutez les commandes suivantes :
#
cd /usr/local/src
#
git clone git://git.op5.org/nagios/op5plugins.git
#
cd op5plugins
#
cp check_vmware_api.pl /usr/local/icinga/libexec/
#
cd /usr/local/icinga/libexec/
#
chown icinga:icinga check_vmware_api.pl
#
ln -s check_vmware_api.pl check_esxi
#
cd /
Note | |
---|---|
GIT est un logiciel de gestion de versions. Il a été créé par Linux Torvalds et il est distribué selon les termes de la licence publique générale GNU version 2. |
Testez le fonctionnement entre le serveur ESXi et le serveur de supervision Icinga par les manipulations suivantes (À faire sur le serveur de supervision) :
#
cd /usr/lib/vmware-vcli/apps/general
#
./connect.pl --url https://<Adresse IP du serveur ESXi>/sdk/webService
Vous devez avoir un message : TEST OK.
Ce test permet de vérifier le fonctionnement du plugin "check_vmware_api.pl" (ou check_esxi) avec le serveur ESXi via un compte de supervision "icinga" spécifique (Droit de lecture uniquement). Cf. "Créer un compte pour Icinga".
#
cd /usr/local/icinga/libexec/
#
./check_esxi -H <IP ESXi> -u icinga -p password -l runtime -s status
Si tout fonctionne, vous obtenez : "CHECK_ESXI OK - overall status=green".
Nous devons compléter ce fichier avec le compte et le mot de passe du compte de supervision. N'oubliez pas que ce compte doit exister dans la base des utilisateurs du serveur ESXi. Dans notre exemple, il s'agit du compte "icinga" et du mot de passe "password".
Modifiez le fichier [/usr/local/icinga/etc/resource.cfg] :
#
$USER1$=/usr/local/icinga/etc/resource.cfg
#
$USER2$=icinga
#
$USER3$=password
Redémarrez Icinga :
#
service icinga restart
Pour superviser un serveur ESXi, vous devez créer les commandes dans NagiosQL. La syntaxe de chaque commande est disponible sur le site Internet : http://www.op5.com/how-to/monitoring-vmware-esx-3-x-esxi-vsphere-4-and-vcenter-server/.
Menu "Commandes" => "Définitions".
Cliquez sur le bouton "Ajouter".
Rubriques | Valeur |
---|---|
Commandes* | check_esxi_cpu |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l cpu -s usage -w $ARG1$ -c $ARG2$ |
Type de commande | Commande de test |
Groupe d'accés | Accès sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Tenez compte du tableau ci-dessus puis cliquez sur le bouton "Sauvegarder".
Réalisez les mêmes manipulations pour les commandes suivantes :
Rubriques | Valeur |
---|---|
Commande* | check_esxi_memory |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l mem -s usage -w $ARG1$ -c $ARG2$ |
Type de commande | Commande de test |
Groupe d'accés | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_net |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l net -s usage -w $ARG1$ -c $ARG2$ |
Type de commande | Commande de test |
Groupe d'accés | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_status |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l runtime -s status |
Type de commande | Commande de test |
Groupe d'accès | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_issues |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l runtime -s issues |
Type de commande | Commande de test |
Groupe d'accès | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_swap |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l mem -s swap -w $ARG1$ -c $ARG2$ |
Type de commande | Commande de test |
Groupe d'accès | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_vmfs |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l vmfs -s $ARG1$ -w "$ARG2$:" -c "$ARG3$:" |
Type de commande | Commande de test |
Groupe d'accés | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_io_read |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l io -s read -w $ARG1$ -c $ARG2$ |
Type de commande | Commande de test |
Groupe d'accés | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Rubriques | Valeur |
---|---|
Commande* | check_esxi_io_write |
Ligne de commande* | $USER1$/check_esxi -H $HOSTADDRESS$ -u $USER2$ -p $USER3$ -l io -s write -w $ARG1$ -c $ARG2$ |
Type de commande | Commande de test |
Groupe d'accés | Accés sans restriction |
Enregistré | A cocher |
Actif | A cocher |
Menu "Outis" => "Contrôle de Nagios"
Cliquez sur les quatre boutons.
Après la création des commandes, vous devez créer les services correspondants et les associer au serveur ESXi.
Menu "Supervision" => "Servicess".
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_cpu |
Hôtes (*) | esxi |
Description du service * | ESXi CPU Usage |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_cpu |
$ARG1$ | 80 |
$ARG2$ | 90 |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_memory |
Hôtes (*) | esxi |
Description du service * | ESXi Memory Usage |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_memory |
$ARG1$ | 80 |
$ARG2$ | 90 |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_net |
Hôtes (*) | esxi |
Description du service * | ESXi Net Usage |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_net |
$ARG1$ | 102400 |
$ARG2$ | 204800 |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_status |
Hôtes (*) | esxi |
Description du service * | ESXi Runtime Status |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_status |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_issues |
Hôtes (*) | esxi |
Description du service * | ESXi Runtime Issues |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_issues |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_swap |
Hôtes (*) | esxi |
Description du service * | ESXi Swap Usage |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_swap |
$ARG1$ | 80 |
$ARG2$ | 90 |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_vmfs |
Hôtes (*) | esxi |
Description du service * | ESXi VMFS Storage |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_vmfs |
$ARG1$ | datastore1 |
$ARG2$ | 15% |
$ARG3$ | 10% |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_io_read |
Hôtes (*) | esxi |
Description du service * | ESXi IO Read |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_io_read |
$ARG1$ | 40 |
$ARG2$ | 90 |
Nom du modèle | generic-service |
Rubriques | Valeur |
---|---|
Nom de configuration | esxi_io_write |
Hôtes (*) | esxi |
Description du service * | ESXi IO Write |
Enregistré | A cocher |
Actif | A cocher |
Commande de test * | check_esxi_io_write |
$ARG1$ | 40 |
$ARG2$ | 90 |
Nom du modèle | generic-service |
Menu "Outis" => "Contrôle de Nagios"
Cliquez sur les quatre boutons. Observez le résultat dans Icinga.