This is a translation of the original English documentation page. Help us make it better.

10. Supervision des machines virtuelles

Aperçu

La prise en charge de la supervision des environnements VMware est disponible dans Zabbix à partir de la version 2.2.0.

Zabbix peut utiliser des règles de découverte de bas niveau pour découvrir automatiquement les hyperviseurs VMware et les machines virtuelles et créer des hôtes pour les surveiller, sur la base de prototypes d'hôtes prédéfinis.

Par défaut, Zabbix propose propose plusieurs modèles prêts à l'emploi pour la supervision de l'hyperviseur VMware vCenter ou ESX.

La version minimale requise de VMware vCenter ou vSphere est 5.1.

Détails

La supervision de la machine virtuelle s'effectue en deux étapes. Premièrement, les données de la machine virtuelle sont collectées par les processus Zabbix vmware collector. Ces processus obtiennent les informations nécessaires auprès des services Web VMware via le protocole SOAP, les traitent préalablement et les stockent dans la mémoire partagée du serveur Zabbix. Ces informations sont ensuite récupérées par les pollers à l'aide des clés VMware des vérifications simples de Zabbix.

À partir de la version 2.4.4 de Zabbix, les données collectées sont divisées en 2 types : les données de configuration VMware et les données de compteurs de performance VMware. Les deux types sont collectés indépendamment par les collecteurs vmware. Pour cette raison, il est recommandé d'activer plus de collecteurs que les services VMware surveillés. Sinon, la récupération des statistiques de compteurs de performance VMware pourrait être retardée par la récupération des données de configuration VMware (ce qui prend un certain temps pour les installations de grande taille).

Actuellement, seules les statistiques de banque de données, d'interface réseau et de périphérique de disque, ainsi que les éléments de compteur de performance personnalisés sont basés sur les informations du compteur de performance VMware.

Configuration

Pour que la supervision des machines virtuelles fonctionne, Zabbix doit être compilé avec les options de compilation --with-libxml2 et --with-libcurl.

Les options de fichier de configuration suivantes peuvent être utilisées pour optimiser la supervision des machines virtuelles :

  • StartVMwareCollectors - nombre d'instances de collecteur vmware pré-définies.
    Cette valeur dépend du nombre de services VMware que vous allez superviser. Dans la plupart des cas, cela devrait être :
    servicenum < StartVMwareCollectors < (servicenum 2)
    où 
    servicenum est le nombre de services VMware. Par exemple, si vous avez 1 service VMware à superviser, définissez StartVMwareCollectors sur 2, si vous avez 3 services VMware, définissez-le sur 5. Notez que dans la plupart des cas, cette valeur ne doit pas être inférieure à 2 et ne doit pas être 2 fois supérieure au nombre de services VMware que vous supervisez. Notez que cette valeur dépend également de la taille de votre environnement VMware et des paramètres de configuration VMwareFrequency et VMwarePerfFrequency* (voir ci-dessous).
  • VMwareCacheSize
  • VMwareFrequency
  • VMwarePerfFrequency
  • VMwareTimeout

Pour plus de détails, voir les pages du fichier de configuration pour le serveur Zabbix et le proxy.

Pour prendre en charge les métriques de capacité de banque de données, Zabbix exige que le paramètre vpxd.stats.maxQueryMetrics de la configuration VMware soit au moins égal à 64. Voir également l'article de la base de connaissances VMware.

Découverte

Zabbix peut utiliser une règle de découverte de bas niveau pour découvrir automatiquement les hyperviseurs VMware et les machines virtuelles.

Tous les champs obligatoires sont marqués par un astérisque rouge.

La clé de la règle de découverte dans la capture d'écran ci-dessus est vmware.hv.discovery[{$VMWARE.URL}]

Modèles prêts à l'emploi

L'ensemble de données par défaut dans Zabbix propose plusieurs modèles prêts à l'emploi pour surveiller VMware vCenter ou directement l'hyperviseur ESX. Ces modèles contiennent des règles LLD préconfigurées ainsi qu'un certain nombre de contrôles intégrés pour la surveillance des installations virtuelles.

Modèles pour la surveillance de l'hyperviseur VMware vCenter et ESX :

  • VMware - utilise les données UUID pour les macros correspondantes ;
  • VMware FQDN - utilise les données FQDN pour les macros correspondantes.

Pour que le modèle VMware FQDN fonctionne correctement, chaque machine virtuelle surveillée doit avoir un nom de système d'exploitation unique conforme aux règles FQDN et VMware Tools doit être installé sur chaque machine. Si ces conditions sont remplies, il est recommandé d'utiliser le modèle VMware FQDN. La création du modèle VMware FQDN est devenue possible après l'introduction de la possibilité de créer des hôtes avec des interfaces personnalisées dans Zabbix 5.2.

Un modèle VMware classique est toujours disponible et peut être utilisé si les exigences FQDN ne peuvent pas être satisfaites. N'oubliez pas que le modèle VMware présente un problème connu. Les hôtes des machines virtuelles découvertes seront créés avec les noms enregistrés dans le vCenter (par exemple, VM1, VM2, etc.). Si l'agent Zabbix actif est installé ultérieurement sur ces hôtes avec l'enregistrement automatique activé, le processus d'enregistrement automatique lira les noms d'hôte tels qu'ils ont été enregistrés au lancement (par exemple, vm1.example.com, vm2.example.com, etc.) et créera de nouveaux hôtes car aucune correspondance de nom n'a été trouvée. En conséquence, il y aura deux hôtes en double pour chaque machine avec des noms différents.

Modèles utilisés par la découverte (normalement, ces modèles ne doivent pas être liés manuellement à un hôte) :

  • VMware Hypervisor;
  • VMware Guest.

Paramétrage de l'hôte

Pour utiliser les vérifications simples VMware, l'hôte doit avoir défini les macros utilisateur suivantes :

  • {$VMWARE.URL} - URL du SDK du service VMware (hyperviseur vCenter ou ESX) (https://servername/sdk)
  • {$VMWARE.USERNAME} - Nom d'utilisateur du service VMware
  • {$VMWARE.PASSWORD} - Mot de passe utilisateur du service VMware {$VMWARE.USERNAME}

Exemple

L'exemple suivant montre comment configurer rapidement la surveillance VMware sur Zabbix :

  • compilez le serveur zabbix avec les options requises (--with-libxml2 et --with-libcurl)
  • définissez l'option StartVMwareCollectors dans le fichier de configuration du serveur Zabbix sur 1 ou plus
  • créez un nouvel hôte
  • définissez les macros hôtes requises pour l'authentification VMware :

  • associez l'hôte au modèle de service VMware :

  • Cliquez sur le bouton //Ajouter// pour enregistrer l'hôte

Journalisation étendue

Les données recueillies par le collecteur VMware peuvent être enregistrées pour un débogage détaillé à l'aide du niveau de débogage 5. Ce niveau peut être défini dans les fichiers de configuration du serveur et du proxy ou en utilisant une option de contrôle d'exécution (-R log_level_increase="vmware collector,N", où N est un numéro de processus). Les exemples suivants montrent comment la journalisation étendue peut être démarrée à condition que le niveau de débogage 4 soit déjà défini :

Increase log level of all vmware collectors:
       shell> zabbix_server -R log_level_increase="vmware collector"
       
       Increase log level of second vmware collector:
       shell> zabbix_server -R log_level_increase="vmware collector,2"

Si la journalisation étendue des données du collecteur VMware n'est pas requise, elle peut être arrêtée à l'aide de l'option -R log_level_decrease.

Dépannage

  • En cas de métriques indisponibles, veuillez vous assurer qu'elles ne sont pas rendues indisponibles ou désactivées par défaut dans les versions récentes de VMware vSphere ou si certaines limites ne sont pas imposées sur les requêtes de base de données de métriques de performances. Voir ZBX-12094 pour plus de détails.
  • En cas d'erreur 'config.vpxd.stats.maxQueryMetrics' is invalid or exceeds the maximum number of characters permitted**, ajoutez un paramètre config.vpxd.stats.maxQueryMetrics aux paramètres de vCenter Server. La valeur de ce paramètre doit être identique à la valeur de maxQuerysize dans web.xml de VMware. Consultez cet article de la base de connaissances VMware pour plus de détails.