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

Sidebar

Become a monitoring expert!
Sign up for Zabbix training

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.

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

Host prototypes

Host prototypes can be created with the low-level discovery rule. When virtual machines are discovered, these prototypes become real hosts. Prototypes, before becoming discovered, cannot have their own items and triggers, other than those from the linked templates. Discovered hosts will belong to an existing host and will take the IP of the existing host for the host configuration.

In a host prototype configuration, LLD macros are used for the host name, visible name and host group prototype fields. Linkage to existing host groups, template linkage and encryption are other options that can be set.

If Create enabled is checked, the host will be added in an enabled state. If unchecked, the host will be added, but in disabled state.

Discovered hosts are prefixed with the name of the discovery rule that created them, in the host list. Discovered hosts can be manually deleted. Discovered hosts will also be automatically deleted, based on the Keep lost resources period (in days) value of the discovery rule. Most of the configuration options are read-only, except for enabling/disabling the host and host inventory. Discovered hosts cannot have host prototypes of their own.

Ready-to-use templates

The default dataset in Zabbix offers several ready-to-use templates for monitoring VMware vCenter or directly ESX hypervisor.

These templates contain pre-configured LLD rules as well as a number of built-in checks for monitoring virtual installations.

Note that "Template Virt VMware" template should be used for VMware vCenter and ESX hypervisor monitoring. The "Template Virt VMware Hypervisor" and "Template Virt VMware Guest" templates are used by discovery and normally should not be manually linked to a host.

If your server has been upgraded from a pre-2.2 version and has no such templates, you can import them manually, downloading from the community page with official templates. However, these templates have dependencies from the VMware VirtualMachinePowerState and VMware status value maps, so it is necessary to create these value maps first (using an SQL script, manually or importing from an XML) before importing the templates.

Host configuration

To use VMware simple checks the host must have the following user macros defined:

  • {$URL} - VMware service (vCenter or ESX hypervisor) SDK URL (https://servername/sdk).
  • {$USERNAME} - VMware service user name
  • {$PASSWORD} - VMware service {$USERNAME} user password

Example

The following example demonstrates how to quickly setup VMware monitoring on Zabbix:

  • compile zabbix server with required options (--with-libxml2 and --with-libcurl)
  • set the StartVMwareCollectors option in Zabbix server configuration file to 1 or more
  • create a new host
  • set the host macros required for VMware authentication:
    {{..:..:assets:en:manual:vm_monitoring:vm_host_macros.png|}}
       * Link the host to the VMware service template: 
           {{..:..:assets:en:manual:vm_monitoring:vm_host_templates.png|}}
       * Click on the //Add// button to save the host

Extended logging

The data gathered by VMware collector can be logged for detailed debugging using debug level 5. This level can be set in server and proxy configuration files or using a runtime control option (-R log_level_increase="vmware collector,N", where N is a process number). The following examples demonstrate how extended logging can be started provided debug level 4 is already set:

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"

If extended logging of VMware collector data is not required it can be stopped using the -R log_level_decrease option.

Troubleshooting

  • In case of unavailable metrics, please make sure if they are not made unavailable or turned off by default in recent VMware vSphere versions or if some limits are not placed on performance-metric database queries. See ZBX-12094 for additional details.