4 Esempio di configurazione del monitoraggio VMware
Panoramica
L'esempio seguente descrive come configurare Zabbix per monitorare le macchine virtuali VMware. Ciò comporta:
- la creazione di un host che rappresenti il tuo ambiente VMware;
- la creazione di una regola di low-level discovery che rilevi le macchine virtuali nel tuo ambiente VMware;
- la creazione di un prototipo di host, sulla base del quale Zabbix genererà host reali per le macchine virtuali rilevate dalla regola di low-level discovery.
Prerequisiti
Questo esempio non copre la configurazione di VMware. Si presume che VMware sia già configurato.
Prima di procedere, impostare il parametro StartVMwareCollectors nel file di configurazione del server Zabbix su 2 o più (il valore predefinito è 0).
Creare un host
1. Vai a Raccolta dati → Host.
2. Crea un host:
- Nel campo Nome host, inserisci un nome host (ad esempio, "VMware VMs").
- Nel campo Gruppi host, digita o seleziona un gruppo host (ad esempio, "Virtual machines").

- Nella scheda Macro, imposta le seguenti macro host:
- {$VMWARE.URL} - URL dell'SDK del servizio VMware (hypervisor ESXi) (https://servername/sdk)
- {$VMWARE.USERNAME} - nome utente del servizio VMware
- {$VMWARE.PASSWORD} - password dell'utente {$VMWARE.USERNAME} del servizio VMware

3. Fai clic sul pulsante Aggiungi per creare l'host. Questo host rappresenterà il tuo ambiente VMware.
Creare una regola di low-level discovery
1. Fare clic su Discovery per il host creato per accedere all'elenco delle regole di low-level discovery per quel host.
2. Creare una regola di low-level discovery:
- Nel campo Name, inserire un nome per la regola di low-level discovery (ad esempio, "Discover VMware VMs").
- Nel campo Type, selezionare "Simple check".
- Nel campo Key, inserire la chiave item integrata per individuare le macchine virtuali VMware:
vmware.vm.discovery[{$VMWARE.URL}] - Nei campi User name e Password, inserire le macro corrispondenti precedentemente configurate sul host.

3. Fare clic sul pulsante Add per creare la regola di low-level discovery. Questa regola di discovery individuerà le macchine virtuali nel proprio ambiente VMware.
Creare un prototipo di host
1. Nell'elenco delle regole di low-level discovery, fai clic su Host prototypes per la regola di low-level discovery creata in precedenza.
2. Crea un prototipo di host. Poiché i prototipi di host sono modelli per la creazione di host tramite regole di low-level discovery, la maggior parte dei campi conterrà macro di low-level discovery. Questo garantisce che gli host vengano creati con proprietà basate sul contenuto recuperato dalla regola di low-level discovery creata in precedenza.
- Nel campo Host name, inserisci la macro {#VM.UUID}.
- Nel campo Visible name, inserisci la macro {#VM.NAME}.
- Nel campo Templates, inserisci o seleziona il template "VMware Guest". Questo template contiene item VMware e regole di discovery per monitorare lo stato di alimentazione di una macchina virtuale, l'utilizzo della CPU, l'utilizzo della memoria, i dispositivi di rete, ecc.
- Nel campo Host groups, inserisci o seleziona un gruppo host (ad esempio, "Discovered hosts").
- Nel campo Interfaces, aggiungi un'interfaccia host personalizzata. Quindi, inserisci la macro {#VM.DNS} nel campo DNS name oppure inserisci la macro {#VM.IP} nel campo IP address. In alternativa, se le macchine virtuali del tuo ambiente VMware hanno più interfacce, passa alla sezione Configurazione avanzata dell'interfaccia host. La configurazione di un'interfaccia host personalizzata è necessaria per il corretto funzionamento del template VMware Guest.

- Nella scheda Macros, imposta la macro {$VMWARE.VM.UUID} con il valore {#VM.UUID}. Questo è necessario per il corretto funzionamento del template VMware Guest, che utilizza questa macro come macro utente a livello di host nei parametri degli item (ad esempio, vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}]).

3. Fai clic sul pulsante Add per creare il prototipo di host. Questo prototipo di host verrà utilizzato per creare host per le macchine virtuali rilevate dalla regola di low-level discovery creata in precedenza.
Visualizzare host e metriche
Dopo che il prototipo di host è stato creato, la regola di low-level discovery creerà host per le macchine virtuali VMware individuate e Zabbix inizierà a monitorarle. Si noti che il rilevamento e la creazione degli host possono anche essere eseguiti manualmente, se necessario.
Per visualizzare gli host creati, accedere alla sezione di menu Data collection → Hosts.

Per visualizzare le metriche raccolte, accedere alla sezione di menu Monitoring → Hosts e fare clic su Latest data per uno degli host.

Configurazione avanzata dell'interfaccia host
La chiave item vmware.vm.discovery[{$VMWARE.URL}], configurata nella sezione Creare una regola di low-level discovery, restituisce i dati delle interfacce di rete nel campo "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": []
}
]
Questi dati possono essere utilizzati per configurare un'interfaccia host personalizzata.
1. Quando si crea una regola di low-level discovery, configurare inoltre una macro di low-level discovery. Nella scheda LLD macros, creare una macro LLD personalizzata con un valore JSONPath. Ad esempio:
- {#MYLAB.NET.IF} -
$.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()

2. Quando si crea un prototipo di host, aggiungere un'interfaccia host personalizzata e inserire la macro LLD nel campo DNS name o IP address.
