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}]

Prototypes d'hôte

Des prototypes d'hôte peuvent être créés avec la règle de découverte de bas niveau. Lorsque des machines virtuelles sont découvertes, ces prototypes deviennent de véritables hôtes. Les prototypes, avant d'être découverts, ne peuvent pas avoir leurs propres éléments et déclencheurs, autres que ceux des modèles liés. Les hôtes découverts appartiendront à un hôte existant.

Pour que les hôtes créés à partir d'un prototype aient des noms d'hôtes uniques, le champ Nom d'hôte doit contenir au moins une macro de découverte de bas niveau.

Depuis Zabbix 5.2, les hôtes découverts peuvent être configurés avec des interfaces personnalisées ou hériter de l'adresse IP d'un hôte auquel appartient la règle de découverte (par défaut). Pour ajouter une ou plusieurs interfaces personnalisées, basculez le sélecteur Interface du mode Hériter au mode Personnaliser, puis appuyez sur add_link.png et sélectionnez le type d'interface requis dans le menu déroulant qui s'affiche. Tous les types d'interfaces pris en charge peuvent être définis pour un prototype d'hôte : agent Zabbix, SNMP, JMX, IPMI. Les champs d'interface prennent en charge les macros de découverte de bas niveau et les macros utilisateur. Si plusieurs interfaces personnalisées sont spécifiées, utilisez la colonne Par défaut pour spécifier l'interface principale.

Remarques :

  • Si Personnaliser est sélectionné, mais qu'aucune interface n'a été spécifiée, les hôtes seront créés sans interfaces.
  • Si Hériter est sélectionné pour un prototype d'hôte qui appartient à un modèle, les hôtes découverts hériteront de l'interface d'un hôte auquel le modèle est lié.

Un hôte ne sera pas créé si l'interface hôte contient des données incorrectes

Les macros LLD peuvent également être utilisées pour le nom visible, les champs de prototype de groupe d'hôtes, les valeurs de tag ou les valeurs des macros d'utilisateur de prototype d'hôte.

Les autres options pouvant être spécifiées pour un prototype hôte sont :

  • Lien avec les groupes d'hôtes existants
  • Liaison de modèles
  • Chiffrement

Si Créer activé est coché, l'hôte sera ajouté dans un état activé. Si elle n'est pas cochée, l'hôte sera ajouté, mais dans un état désactivé.

Si Découvrir est coché (par défaut), l'hôte sera créé. Si cette case n'est pas cochée, l'hôte ne sera pas créé, sauf si ce paramètre est remplacé dans la règle de découverte. Cette fonctionnalité offre une flexibilité supplémentaire lors de la création de règles de découverte.

Les hôtes découverts sont précédés du nom de la règle de découverte qui les a créés, dans la liste des hôtes. Les hôtes découverts peuvent être supprimés manuellement. Les hôtes découverts seront également automatiquement supprimés, en fonction de la valeur Période de conservation des ressources perdues (en jours) de la règle de découverte. La plupart des options de configuration sont en lecture seule, à l'exception de l'activation/désactivation de l'hôte et de l'inventaire de l'hôte. Les hôtes découverts ne peuvent pas avoir leurs propres prototypes d'hôte.

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.