[comment]: # ({7ddf901c-7bc79a95})
# 4 Esempio di configurazione del monitoraggio VMware

[comment]: # ({/7ddf901c-7bc79a95})

[comment]: # ({3c9549aa-4948cb9c})
#### 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.

[comment]: # ({/3c9549aa-4948cb9c})

[comment]: # ({8d40aabd-5d265fdc})
#### Prerequisiti

::: noteclassic
Questo esempio non copre la configurazione di VMware. Si presume che VMware sia già configurato.
:::

Prima di procedere, impostare il parametro [`StartVMwareCollectors`](/manual/appendix/config/zabbix_server#startvmwarecollectors) nel file di configurazione del server Zabbix su `2` [o più](/manual/vm_monitoring#configuration) (il valore predefinito è `0`).

[comment]: # ({/8d40aabd-5d265fdc})

[comment]: # ({ae84527f-05232a19})
#### Creare un host

1\. Vai a *Raccolta dati* → [*Host*](/manual/web_interface/frontend_sections/data_collection/hosts).

2\. [Crea](/manual/config/hosts/host) 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").

![](../../../assets/en/manual/vm_monitoring/vmware_host.png){width="600"}

- 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

![](../../../assets/en/manual/vm_monitoring/vmware_host_macros.png){width="600"}

3\. Fai clic sul pulsante *Aggiungi* per creare l'host. Questo host rappresenterà il tuo ambiente VMware.

[comment]: # ({/ae84527f-05232a19})

[comment]: # ({665f7b96-967b85cf})
#### Creare una regola di low-level discovery

1\. Fare clic su *Discovery* per accedere all'elenco delle regole di low-level discovery per il host creato.

2\. [Creare](/manual/discovery/low_level_discovery#configuring-lowlevel-discovery) 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](/manual/config/items/itemtypes/simple_checks)".
- Nel campo *Key*, inserire la chiave item integrata per il rilevamento delle macchine virtuali VMware: [`vmware.vm.discovery[{$VMWARE.URL}]`](/manual/vm_monitoring/vmware_keys#vmware.vm.discovery)
- Nei campi *User name* e *Password*, inserire le macro corrispondenti precedentemente configurate sul host.

![](../../../assets/en/manual/vm_monitoring/vmware_host_discovery.png){width="600"}

3\. Fare clic sul pulsante *Add* per creare la regola di low-level discovery.
Questa regola di discovery rileverà le macchine virtuali nel proprio ambiente VMware.

[comment]: # ({/665f7b96-967b85cf})

[comment]: # ({3c0bd2af-4202131d})
#### 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](/manual/discovery/low_level_discovery/host_prototypes#configuration) 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](/manual/config/macros/lld_macros).
Questo garantisce che gli host vengano creati con proprietà basate sul [contenuto recuperato](/manual/vm_monitoring/discovery_fields) 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](/manual/vm_monitoring/vmware_keys) 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](/manual/discovery/low_level_discovery/host_prototypes#host-interfaces) 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*](#advanced-host-interface-configuration).
La configurazione di un'interfaccia host personalizzata è necessaria per il corretto funzionamento del template *VMware Guest*.

![](../../../assets/en/manual/vm_monitoring/vmware_host_prototype.png){width="600"}

- 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}\]*).

![](../../../assets/en/manual/vm_monitoring/vmware_host_prototype_macros.png){width="600"}

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.

[comment]: # ({/3c0bd2af-4202131d})

[comment]: # ({3e8fd594-92a7e887})
#### 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](/manual/config/items/check_now), se necessario.

Per visualizzare gli host creati, accedere alla sezione di menu [*Data collection* → *Hosts*](/manual/web_interface/frontend_sections/data_collection/hosts).

![](../../../assets/en/manual/vm_monitoring/vmware_discovered_hosts.png){width="600"}

Per visualizzare le metriche raccolte, accedere alla sezione di menu [*Monitoring* → *Hosts*](/manual/web_interface/frontend_sections/monitoring/hosts) e fare clic su *Latest data* per uno degli host.

![](../../../assets/en/manual/vm_monitoring/vmware_monitored_hosts.png){width="600"}

[comment]: # ({/3e8fd594-92a7e887})

[comment]: # ({2e5060fa-2c1d07a4})
#### Configurazione avanzata dell'interfaccia host

La chiave item `vmware.vm.discovery[{$VMWARE.URL}]`, configurata nella sezione [*Creare una regola di low-level discovery*](#create-a-low-level-discovery-rule), restituisce i dati delle interfacce di rete nel [campo "net_if"](/manual/vm_monitoring/discovery_fields):

```json
"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](#create-a-low-level-discovery-rule), configurare inoltre una [macro di low-level discovery](/manual/config/macros/lld_macros).
Nella scheda *LLD macros*, creare una macro LLD personalizzata con un valore [JSONPath](/manual/config/items/preprocessing/jsonpath_functionality). Ad esempio:

- {#MYLAB.NET.IF} - `$.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()`

![](../../../assets/en/manual/vm_monitoring/vmware_lld_macro.png){width="600"}

2\. Quando si [crea un prototipo di host](#create-a-host-prototype), aggiungere un'interfaccia host personalizzata e inserire la macro LLD nel campo *DNS name* o *IP address*.

![](../../../assets/en/manual/vm_monitoring/vmware_lld_macro_host_prototype.png){width="600"}

[comment]: # ({/2e5060fa-2c1d07a4})
