4 Exemple de configuration de la supervision VMware
Vue d’ensemble
L’exemple suivant décrit comment configurer Zabbix pour surveiller des machines virtuelles VMware. Cela implique :
- la création d’un hôte représentant votre environnement VMware ;
- la création d’une règle de découverte de bas niveau qui découvre les machines virtuelles dans votre environnement VMware ;
- la création d’un prototype d’hôte, sur la base duquel Zabbix générera de véritables hôtes pour les machines virtuelles découvertes par la règle de découverte de bas niveau.
Prérequis
Cet exemple ne couvre pas la configuration de VMware. Il est supposé que VMware est déjà configuré.
Avant de continuer, définissez le paramètre StartVMwareCollectors dans le fichier de configuration du serveur Zabbix à 2 ou plus (la valeur par défaut est 0).
Créer un hôte
1. Accédez à Collecte de données → Hôtes.
2. Créez un hôte :
- Dans le champ Nom de l’hôte, saisissez un nom d’hôte (par exemple, « VMware VMs »).
- Dans le champ Groupes d’hôtes, saisissez ou sélectionnez un groupe d’hôtes (par exemple, « Virtual machines »).

- Dans l’onglet Macros, définissez les macros d’hôte suivantes :
- {$VMWARE.URL} - URL du SDK du service VMware (hyperviseur ESXi) (https://servername/sdk)
- {$VMWARE.USERNAME} - nom d’utilisateur du service VMware
- {$VMWARE.PASSWORD} - mot de passe de l’utilisateur {$VMWARE.USERNAME} du service VMware

3. Cliquez sur le bouton Ajouter pour créer l’hôte. Cet hôte représentera votre environnement VMware.
Créer une règle de découverte de bas niveau
1. Cliquez sur Discovery pour l’hôte créé afin d’accéder à la liste des règles de découverte de bas niveau pour cet hôte.
2. Créez une règle de découverte de bas niveau :
- Dans le champ Name, saisissez un nom de règle de découverte de bas niveau (par exemple, « Discover VMware VMs »).
- Dans le champ Type, sélectionnez « Simple check ».
- Dans le champ Key, saisissez la clé d’élément intégrée pour découvrir les machines virtuelles VMware :
vmware.vm.discovery[{$VMWARE.URL}] - Dans les champs User name et Password, saisissez les macros correspondantes précédemment configurées sur l’hôte.

3. Cliquez sur le bouton Add pour créer la règle de découverte de bas niveau. Cette règle de découverte détectera les machines virtuelles dans votre environnement VMware.
Créer un prototype d'hôte
1. Dans la liste des règles de découverte de bas niveau, cliquez sur Prototypes d'hôte pour la règle de découverte de bas niveau créée précédemment.
2. Créez un prototype d'hôte. Comme les prototypes d'hôte servent de modèles pour créer des hôtes via des règles de découverte de bas niveau, la plupart des champs contiendront des macros de découverte de bas niveau. Cela garantit que les hôtes sont créés avec des propriétés basées sur le contenu récupéré par la règle de découverte de bas niveau créée précédemment.
- Dans le champ Nom d'hôte, saisissez la macro {#VM.UUID}.
- Dans le champ Nom visible, saisissez la macro {#VM.NAME}.
- Dans le champ Modèles, saisissez ou sélectionnez le modèle "VMware Guest". Ce modèle contient des éléments VMware et des règles de découverte pour surveiller l'état d'alimentation d'une machine virtuelle, l'utilisation du processeur, l'utilisation de la mémoire, les périphériques réseau, etc.
- Dans le champ Groupes d'hôtes, saisissez ou sélectionnez un groupe d'hôtes (par exemple, "Discovered hosts").
- Dans le champ Interfaces, ajoutez une interface d'hôte personnalisée. Ensuite, saisissez la macro {#VM.DNS} dans le champ Nom DNS, ou saisissez la macro {#VM.IP} dans le champ Adresse IP. Sinon, si les machines virtuelles de votre environnement VMware possèdent plusieurs interfaces, passez à la section Configuration avancée de l'interface d'hôte. La configuration d'une interface d'hôte personnalisée est nécessaire au bon fonctionnement du modèle VMware Guest.

- Dans l'onglet Macros, définissez la macro {$VMWARE.VM.UUID} avec la valeur {#VM.UUID}. Cela est nécessaire au bon fonctionnement du modèle VMware Guest, qui utilise cette macro comme macro utilisateur au niveau de l'hôte dans les paramètres des éléments (par exemple, vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}]).

3. Cliquez sur le bouton Ajouter pour créer le prototype d'hôte. Ce prototype d'hôte sera utilisé pour créer des hôtes pour les machines virtuelles découvertes par la règle de découverte de bas niveau créée précédemment.
Voir les hôtes et les métriques
Une fois le prototype d’hôte créé, la règle de découverte de bas niveau créera des hôtes pour les machines virtuelles VMware découvertes, et Zabbix commencera à les surveiller. Notez que la découverte et la création des hôtes peuvent également être exécutées manuellement, si nécessaire.
Pour afficher les hôtes créés, accédez à la section de menu Collecte de données → Hôtes.

Pour afficher les métriques collectées, accédez à la section de menu Surveillance → Hôtes et cliquez sur Dernières données pour l’un des hôtes.

Configuration avancée de l’interface d’hôte
La clé d’élément vmware.vm.discovery[{$VMWARE.URL}], configurée dans la section Créer une règle de découverte de bas niveau, renvoie les données des interfaces réseau dans le champ "net_if" :
"net_if": [
{
"ifname": "5000",
"ifdesc": "Network adapter 1",
"ifmac": "00:11:22:33:44:55",
"ifconnected": true,
"iftype": "VirtualVmxnet3",
"ifbackingdevice": "VLAN(myLab)",
"ifdvswitch_uuid": "",
"ifdvswitch_portgroup": "",
"ifdvswitch_port": "",
"ifip": [
"127.0.0.1",
"::1"
]
},
{
"ifname": "5001",
"ifdesc": "Network adapter 2",
"ifmac": "00:11:22:33:44:55",
"ifconnected": false,
"iftype": "VirtualVmxnet3",
"ifbackingdevice": "VLAN(myLab2)",
"ifdvswitch_uuid": "",
"ifdvswitch_portgroup": "",
"ifdvswitch_port": "",
"ifip": []
}
]
Ces données peuvent être utilisées pour configurer une interface d’hôte personnalisée.
1. Lors de la création d’une règle de découverte de bas niveau, configurez également une macro de découverte de bas niveau. Dans l’onglet Macros LLD, créez une macro LLD personnalisée avec une valeur JSONPath. Par exemple :
- {#MYLAB.NET.IF} -
$.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()

2. Lors de la création d’un prototype d’hôte, ajoutez une interface d’hôte personnalisée et saisissez la macro LLD dans le champ Nom DNS ou Adresse IP.
