Installation de sondes de Monitoring VMWare sur Centreon/Nagios

logiciel-de-virtualisation-vmware-851710

Suite à mon billet d’installation sur Nagios j’ai dernièrement mis en place des sondes de surveillance dans l’infra de mon entreprise, étant donner que j’ai pas mal chercher et pas mal galérer pour faire cette configuration je vous met ici les différentes étapes que j’ai suivi, en esperant que cela puisse vous aider.

Ce plugin est développé par la société OP5 et est disponible en version OPEN SOURCE pour les utilisateurs de Nagios. J’ai réaliser l’installation sur une Ubuntu 10.10

  • Installation des dépendances

Tout d’abord afin de préparer la mise en place de ce plugin nous allons devoir télécharger et installer plusieurs dépendances :

Ensuite nous allons devoir installer le SDK VMWare correspondant à notre version de Vsphere (ici 4.1) il est disponible sur le site de VMWARE il vous faudra un compte pour le télécharger une fois télécharger transférer le sur votre machine (WinSCP) //www.vmware.com/support/developer/viperltoolkit/
Suivez les instructions à l’écran pour procéder à l’installation du SDK

  • Installation du plugin

Le plugin est disponible sur NagiosExchange //exchange.nagios.org/directory/Plugins/Operating-Systems/*-Virtual-Environments/VMWare/check_vmware_api/details Il suffira de télécharger ce plugin et de le coller dans le répertoire par défaut de vos plugins Nagios /usr/local/nagios/libexec

Il faudra aussi le rendre exécutable :

  • Création du compte de monitoring

Afin de se connecter à votre vCenter pour récupérer les informations vous aller devoir créer un compte en lecture seule sur votre infrastructure. Pour cela dans votre domaine AD créer un utilisateur Monitoring et attribué le en lecture seule sur votre vCenter :

check_vmware_api

check_vmware_api2

check_vmware_api3Dans l’onglet permission sélectionner Read-Only

  • Test du Plugin

Vous pouvez dès à présent tester votre plugin avec une commande simple depuis votre serveur de monitoring

check_vmware_api4

-D : nom dns ou adresse IP de votre vCenter

-u : Utilisateur Read-Only vCenter

-p : mot de passe

-l : Commande à monitorer

Comme vous le voyez cette commande dois vous renvoyé une réponse qui vous indique le pourcentage d’utilisation de processor de votre vCenter.

 

  • Création des commandes Centreon

Depuis Centreon nous allons maintenant configurer des commandes nous permettant de questionner notre ferme VMWare autant les machines virtuelle que les hôtes ESX.

Dans un premier temps nous allons définir des variables utilisées pour ces commandes, rendez-vous dans Centreon ==> Configuration ==> Nagios ==> (Menu de gauche) ressources. Cliquez sur « Add ». Puis entrez dans « Resources Name » : $USER10$ dans « MACRO Expression » : Nom d’utilisateur ESXi, cliquez sur « Save ». Répétez cette opération pour chaque élément présent dans le tableau ci-dessous :

 

Resources Name

MACRO Expression

$USER11$

Mot de passe ESXi

$USER12$

IP du vCenter

$USER13$

Nom d’utilisateur du vCenter

$USER14$

Mot de passe du vCenter

 

  • Commandes destinées à questionner les VMs

 

check_vcenter_vm_cpu

$USER1$/check_vmware_api.pl -D $USER12$ -u $USER13$ -p $USER14$ -N $HOSTALIAS$ -l cpu -s usage -w $ARG1$ -c $ARG2$

!80!90

Vérifie la charge CPU de la machine virtuelle – Argument : niveau WARNING et CRITICAL (en %)

check_vcenter_vm_mem

$USER1$/check_vmware_api.pl -D $USER12$ -u $USER13$ -p $USER14$ -N $HOSTALIAS$ -l mem -s usage -w $ARG1$ -c $ARG2$

!80!90

Vérifie la charge mémoire des machines virtuelles – Argument : niveau WARNING et CRITICAL (en %)

check_vcenter_vm_net

$USER1$/check_vmware_api.pl -D $USER12$ -u $USER13$ -p $USER14$ -N $HOSTALIAS$ -l net -s usage -w $ARG1$ -c $ARG2$

!102400!204800

Vérifie la charge réseaux des machines virtuelles – Argument : niveau WARNING et CRITICAL (en Kbps)

check_vcenter_vm_swap

$USER1$/check_vmware_api.pl -D $USER12$ -u $USER13$ -p $USER14$ -N $HOSTALIAS$ -l mem -s swap -w $ARG1$ -c $ARG2$

!500!1000

Vérifie la swap des machines virtuelles – Argument : niveau WARNING et CRITICAL (en MB)

check_vcenter_datastore

$USER1$/check_vmware_api.pl -D $USER12$ -u $USER13$ -p $USER14$ -N $HOSTALIAS$ -l vmfs -s $HOSTALIAS$ -w “$ARG1$:” -c “$ARG2$:”

!15%!10%

Vérifie l’espace libre sur le datastore – Argument : espace libre WARNING et CRITICAL (en %)

 

  • Commande destinées à questionner les hôtes

 

check_vcenter_esx_health

$USER1$/check_vmware_api.pl -D $USER12$ -H $HOSTALIAS$ -T 20 -u $USER13$ -p $USER14$ -l runtime -s health

Vérifie l’Etat de santé de vos serveurs ESX

check_vcenter_esx_io

$USER1$/check_vmware_api.pl -D $USER12$ -H $HOSTALIAS$ -T 20 -u $USER13$ -p $USER14$ -l io

Vérifie les entrée/sortie de votre serveur ESX

check_vcenter_esx_net

$USER1$/check_vmware_api.pl -D $USER12$ -H $HOSTALIAS$ -T 20 -u $USER13$ -p $USER14$ -l net

Vérifie l’état des vmnic de vos serveurs ESX, indique si l’une d’elle est déconnectée

check_vcenter_esx_temperature

$USER1$/check_vmware_api.pl -D $USER12$ -H $HOSTALIAS$ -T 20 -u $USER13$ -p $USER14$ -l runtime -s temperature

Vérifie les sondes de températures sur vos serveurs ESX

check_vcenter_esx_vmfs_local

$USER1$/check_vmware_api.pl -D $USER12$ -H $HOSTALIAS$ -T 20 -u $USER13$ -p $USER14$ -l vmfs -s $ARG1$ -w $ARG2$  -c $ARG3$

!esx02:local!75%!80%

Vérifie l’espace libre sur le datastore en local

 

Et voila pour la configuration, j’ai réaliser quelques commandes pour le moment et tout fonctionne correctement.

 

8 réponses sur “Installation de sondes de Monitoring VMWare sur Centreon/Nagios”

  1. Attention à l’utilisation de la balise timestamp -T de mon coté elle a générer beaucoup d’erreur les commandes ne parvenait pas à aboutir…

  2. Salut,
    Post très intéressant, ma configuration est à peu près similaire.
    j’ai une petite question, n’as-tu pas de souci d’explosition de la volumétrie de ta base vCenter avec ce script ?

    en effet, je rencontre un souci, c’est que chaque check génère un event de login et un event de logout dans mon vcenter. Mon problème est que je monitore la RAM et le CPU de mes VMs avec ceci et qu’à une période de check standard de 5min multiplié par le nombre de VM de mon infra, je génère plusieurs dizaines d’évents à la minute.
    ma base devrait faire une quinzaine de Go et elle tourne actuellement à presque 40Go

    as-tu rencontré ce souci ?

  3. Alors j’ai eu ce problème, ma base étant une base SQL_express je suis limité à une base de 5 Go j’ai du faire une maintenance manuelle de la base pour pouvoir redémarrer ma vcenter.

    Afin de limité le nombre de taches dans les logs j’ai du diminuer la rétention des logs dans les options de la vcenter à 15 jours, ainsi la base n’explose pas

    Tu peu aussi te servir des posts suivant pour régler ton problème

    //kb.vmware.com/kb/1025914
    //kb.vmware.com/kb/1007453

    1. Bonjour,

      Merci pour les infos, j’ai déjà diminué la rétention, j’ai gagné un peu, mais pas tant que ça. Je voudrais ne pas trop diminuer et surtout pouvoir garder la pertinence des autres events.

      j’ai même découverts dans mes recherches de ces dernier jours, une option -S qui permet de créer un fichier de session dans le plugin d’OP5 pour l’authentification, mais ça ne change pas grand chose…

      Merci pour la réponse
      je vais continuer de chercher et voir ce qu’il est possible de faire et ce que j’arriverais à faire au niveau des trap renvoyés par le vcenter

    1. Bonjour PixXl,

      J’ai 2 esx identiques en VMWARE 5.5. J’ai DL le sdk 5.5. Aucun problème pour mon ESX1 mais pour le deuxième j’ai des problèmes sur les commandes suivantes :

      check_vcenter_esx_io avec l’erreur CHECK_VMWARE_API.PL CRITICAL – HOST IO Unknown error

      check_vcenter_esx_net avec l’erreur CHECK_VMWARE_API.PL CRITICAL

      Si tu as une idée…
      Bonne journée

  4. Hélas je n’ai pas encore tester le SDK 5.5, mais si cela fonctionne sur l’esx numéro 1 je ne vois pas de raison pour que cela ne fonctionne pas sur le 2.

    Il est possible de lancer directement la commande depuis le serveur de supervision pour se rendre compte de l’erreur généré.

    Pour moi les commandes se trouve dans /usr/local/nagios/libexec

    il suffit ensuite de l’exécuter avec ./check_vmware_api.pl (sans rien mettre comme option permet de voir les différentes commande disponibles.)

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.