Guida alla configurazione SNMP di ESXi per il monitoraggio di ESXi
Il monitoraggio dell’infrastruttura è importante per le organizzazioni perché consente di rilevare tempestivamente i problemi e prevenire i guasti. Se si verifica un guasto, le notifiche tempestive consentono di iniziare a lavorare alla risoluzione dei problemi correlati il prima possibile. In un ambiente VMware vSphere, si consiglia di configurare il monitoraggio ESXi. Uno dei metodi più convenienti per monitorare gli host ESXi è utilizzare le funzionalità integrate e il protocollo SNMP (Simple Network Management Protocol). In questo caso è necessario configurare un server dedicato con software di monitoraggio. Questo post del blog tratta la configurazione SNMP di ESXi e spiega come abilitare SNMP sugli host ESXi.
Preparazione dell’ambiente
Ecco come abilitare SNMP su ESXi:
- Abilitare Secure Shell (SSH)
- Configurare SNMP
- Configurare il firewall ESXi
Spiegherò la configurazione SNMP di ESXi utilizzando un esempio con un ESXi 7.0 host e una macchina Ubuntu Linux su cui è installato il software di monitoraggio.
L’indirizzo IP dell’host ESXi è 192.168.101.208.
L’indirizzo IP della macchina Ubuntu Linux è 192.168.101.209.
Utilizzare gli indirizzi IP e altri valori per i parametri appropriati durante la configurazione del monitoraggio ESXi tramite SNMP nell’infrastruttura in modo da soddisfare la configurazione.
Abilitazione dell’accesso SSH su ESXi
L’accesso SSH su un host ESXi è necessario per eseguire i comandi ESXCLI su un host in remoto. Per abilitare l’accesso SSH all’host VMware ESXi, è possibile utilizzare VMware Host Client. Aprire un browser Web, immettere l’indirizzo IP dell’host VMware ESXi nella barra degli indirizzi, quindi immettere le credenziali per effettuare l’accesso.
Nel pannello Navigator , andare su Host > Gestisci e fare clic sulla scheda Services .
Fai clic con il pulsante destro del mouse su TSM-SSH e, nel menu contestuale, fai clic su Avvia.
Nella schermata sottostante è possibile vedere il servizio server SSH avviato sull’host ESXi.
Ora è possibile connettersi all’host ESXi da un computer con un client SSH installato. Se utilizzi Windows, puoi usare PuTTY, un client SSH gratuito e comodo. In Linux, esegui il client SSH dalla riga di comando con il comando:
ssh your_username@host_ip_address
Inserisci l’indirizzo IP del tuo host ESXi e la porta TCP 22 (il numero di porta predefinito) nelle impostazioni di sessione del client SSH per connetterti all’host ESXi tramite SSH.
Configurazione SNMP ESXi
Una volta stabilito l’accesso SSH all’Host VMware ESXi, è possibile configurare le opzioni SNMP di VMware ESXi. Sugli host ESXi, SNMP può essere configurato solo in l’interfaccia della riga di comando. L’interfaccia grafica utente (GUI) consente solo di avviare, arrestare e riavviare il servizio SNMP.
Eseguire il comando nella console (terminale) e controllare lo stato SNMP sull’host ESXi:
esxcli system snmp get
SNMP è disabilitato per impostazione predefinita. L’output per SNMP disabilitato su ESXi è mostrato nella schermata. La maggior parte dei parametri è vuota e/o non configurata.
Configurazione dei parametri di un agente SNMP
Impostare i parametri SNMP per un agente SNMP sull’host ESXi. L’agente SNMP viene utilizzato per inviare notifiche (trap e informazioni SNMP) a un server di monitoraggio e ricevere richieste GET, GETNEXT e GETBULK.
Impostare il nome della comunità (“public” è il nome della comunità impostato di default). Il nome della comunità in questo esempio è “NAKIVO“.
esxcli system snmp set --communities nakivo
Impostare la destinazione SNMP. La destinazione SNMP è un server su cui è installato il software di monitoraggio per gestire le trap SNMP e raccogliere le informazioni di monitoraggio. Nel mio esempio, la destinazione SNMP è la macchina che esegue Ubuntu Linux (192.168.101.209). UDP 161 è la porta predefinita utilizzata per SNMP e questa porta è definita nella mia configurazione SNMP ESXi:
esxcli system snmp set --targets=192.168.101.209@161/nakivo
Specificare un’ubicazione, ad esempio la posizione geografica, l’indirizzo, il data center o una stanza in cui si trova il server:
esxcli system snmp set --syslocation "Server room"
Specificare le informazioni di contatto. L’indirizzo e-mail dell’amministratore di sistema può essere definito per questo parametro:
esxcli system snmp set --syscontact michaelbose@nakivo.com
Abilita SNMP su ESXi:
esxcli system snmp set --enable true
Controlla nuovamente lo stato SNMP sull’host ESXi:
esxcli system snmp get
Ora puoi vedere che i parametri sono configurati.
L’ID motore è l’identificatore univoco dell’agente SNMP (utilizzato per SNMP v3). L’ID motore può essere impostato con il comando (facoltativo):
esxcli system snmp set -engineid 544a33209458
Lo stato SNMP è in esecuzione ora. È anche possibile aprire VMware Host Client, andare su Host > Gestisci > Servizie controlla lo stato del servizio snmpd .
Verifica la configurazione SNMP corrente.
esxcli system snmp test
Se si modificano le impostazioni SNMP in seguito, riavviare l’agente SNMP con il comando:
/etc/init.d/snmpd restart
In alternativa, è possibile riavviare ESXi SNMP nella GUI VMware Host Client nella scheda Servizi . Fare clic con il pulsante destro del mouse sul servizio e selezionare Restart nel menu contestuale.
Se è necessario reimpostare le impostazioni SNMP di ESXi, utilizzare il comando:
esxcli system snmp set -r
Il comando per disabilitare SNMP su un host ESXi è:
esxcli system snmp set --enable false
È possibile verificare la disponibilità di SNMP da una macchina Linux se questa macchina Linux è la destinazione SNMP. A tal fine utilizziamo Ubuntu Linux.
Installare il client SNMP obbligatorio su Ubuntu Linux se non è ancora stato installato:
sudo apt-get install snmp
Connettersi all’host ESXi tramite SNMP per verificare i parametri disponibili per il monitoraggio:
snmpwalk -v2c -c nakivo 192.168.101.208
Nell’output della console dovrebbe essere visualizzato un lungo elenco di oggetti per il monitoraggio ESXi tramite SNMP. Questi oggetti sono basi di informazioni di gestione (MIB) e identificatori di oggetti (OID), che sono elementi della struttura gerarchica dei parametri di monitoraggio.
Una MIB SNMP è una raccolta di informazioni sugli oggetti (parametri e impostazioni) organizzata gerarchicamente. Esistono MIB scalari e tabulari. Le MIB possono essere standard e specifiche del fornitore.
Un OID SNMP è un oggetto gestito identificato in modo univoco nella struttura gerarchica MIB. Livelli diversi dell’albero sono assegnati da organizzazioni diverse. I vendor possono definire rami speciali per il monitoraggio dei parametri dei loro prodotti.
Un nome oggetto è un valore univoco per l’intera MIB che corrisponde all’OID appropriato. Ad esempio, il nome oggetto per l’OID 1.3.6.1.2.1.1.5 è sysName.
Configurazione del firewall ESXi
È necessario configurare il firewall e abilitare l’accesso SNMP dai server di monitoraggio all’host ESXi. È possibile impostare una sottorete o un singolo indirizzo IP dei dispositivi consentiti nella rete.
Eseguiamo questi tre comandi per consentire l’accesso dalla rete 192.168.101.0/24 per il monitoraggio di ESXi tramite SNMP:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.101.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Inserisci l’indirizzo IP o un indirizzo di rete in base alla configurazione di rete.
Una configurazione meno sicura consiste nell’abilitare l’accesso da qualsiasi dispositivo di rete:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
La configurazione SNMP di ESXi è completata. Ora è possibile configurare il software di monitoraggio su un server di monitoraggio.
Configurazione di SNMP v3
SNMP v3 è una versione più sicura del protocollo che fornisce autenticazione e crittografia delle chiavi. La configurazione di SNMP v3 è più complessa ed è supportata a partire da vSphere 5.1. Di seguito è riportata una panoramica su come abilitare SNMP v3 su un host ESXi.
Impostare il protocollo di autenticazione e le opzioni di privacy.
esxcli system snmp set -a SHA1 -x AES128
Dove:
SHA1 è l’algoritmo per la crittografia, la funzione di hash crittografico (Secure Hash Algorithm 1).
AES128 è il metodo di crittografia (Advanced Encryption Standard con chiave di crittografia a 128 bit) che utilizza il cifrario a blocchi simmetrico.
Generare gli hash utilizzando un comando come:
esxcli system snmp hash –auth-hash authpass –priv-hash privhash –raw-secret
Nel mio caso, il comando è:
esxcli system snmp hash --auth-hash PasswordTest1 --priv-hash PasswordTest2 --raw-secret
Evitare di utilizzare le password fornite in questo esempio in ambienti di produzione. Utilizza password uniche e complesse (la password deve essere lunga almeno 7 caratteri). Salva le stringhe hash generate. Nel mio caso, gli hash sono i seguenti.
Authhash: 831a798d1cda90ca1a3ab80d38f81a44c0851ada
Privhash: 38cf6f13d09a4651362338eac2c3d62b42514bc9
Utilizza gli hash generati e aggiungi un utente. È possibile aggiungere fino a cinque utenti.
esxcli system snmp set -e yes -C user -u snmpuser/authhash/privhash/priv
Dove:
user è l’e-mail di contatto dell’utente
snmpuser è il nome utente (può contenere fino a 32 caratteri)
authhash è il valore hash di autenticazione
privhash è il valore hash di privacy
Aggiungiamo user1 e utilizziamo gli hash generati nell’output del comando precedente.
esxcli system snmp set -e yes -C user1@nakivo.com -u user1/831a798d1cda90ca1a3ab80d38f81a44c0851ada/38cf6f13d09a4651362338eac2c3d62b42514bc9/priv
È possibile creare un utente senza impostazioni di sicurezza (nessuna autenticazione e privacy) utilizzando il comando:
esxcli system snmp set --user user2/-/-/none
Definire l’indirizzo di destinazione SNMP:
esxcli system snmp set --v3targets 192.168.101.209@161/user1/priv/trap
Abilitare SNMP su ESXi:
esxcli system snmp set --enable true
Test delle impostazioni SNMP:
esxcli system snmp test
È possibile utilizzare il comando esteso per testare la configurazione SNMP VMware su ESXi:
esxcli system snmp test -u=user1 -A=PasswordTest1 -X=P2sswordTest2 -r
Dove user1 è il nome dell’utente SNMP che è stato aggiunto alla configurazione.
Se il test viene completato con successo, viene visualizzato un messaggio:
Utente convalidato correttamente per l’ID motore e il livello di sicurezza specificati: protocolli
Provare a connettersi all’host ESXi tramite SNMP v3 da un server Linux di monitoraggio (dal lato della destinazione).
Questo comando viene utilizzato se non sono stati impostati parametri di autenticazione:
snmpwalk -v3 -u user1 192.168.101.208
Se sono state impostate opzioni di sicurezza, definirle nel comando:
snmpwalk -v3 -u user1 -l AuthPriv -a SHA -A PasswordTest1 -x AES -X PasswordTest2 192.168.101.208
Dove user1 è il nome del mio utente aggiunto alla configurazione SNMP ESXi.
Se durante il test della configurazione SNMP ESXi viene visualizzato l’errore “Nome utente sconosciuto“, verificare di aver aggiunto un utente e definito il nome utente corretto nei comandi successivi dopo l’aggiunta dell’utente. Tieni presente che se modifichi l’ID motore dell’agente, il protocollo di privacy o il protocollo di autenticazione dopo aver configurato gli utenti, questi ultimi non saranno più validi. In questo caso, dovrai riconfigurare gli utenti.
Inoltre, presta attenzione alle impostazioni di sicurezza perché una configurazione SNMP errata può costituire una minaccia e consentire a un host dannoso di ottenere informazioni su un host ESXi. Queste informazioni possono essere utilizzate per individuare punti vulnerabili e avviare un attacco informatico.
Configurazione SNMP di più host ESXi
L’utilizzo di profili host VMware ESXi può aiutare ad abilitare SNMP e configurare più host ESXi in modo più razionale se si dispone di un numero elevato di host ESXi nell’ambiente VMware vSphere.
Per abilitare SNMP e configurare più host ESXi, è necessario disporre della licenza VMware vSphere Enterprise Plus per utilizzare i profili host VMware in VMware vSphere Client. Le impostazioni SNMP VMware per i profili degli host ESXi si trovano in Gestione > Profili host > il tuo profilo > Configurazione agente SNMP. È inoltre possibile utilizzare vSphere PowerCLI per automatizzare il processo di configurazione di un numero elevato di host ESXi e impostare la configurazione SNMP ESXi su di essi.
Conclusione
La configurazione SNMP ESXi richiede l’accesso SSH agli host ESXi, la configurazione degli agenti SNMP e l’autorizzazione dell’accesso nel firewall ESXi. Il monitoraggio ESXi consente di reagire tempestivamente in caso di rilevamento di eventuali problemi e di migliorare la disponibilità complessiva del servizio. Non dimenticare di eseguire il backup delle VM VMware vSphere per evitare la perdita di dati e poter recuperare i dati e ripristinare i carichi di lavoro in caso di disastro.
NAKIVO Backup & Replication è la soluzione universale per la protezione dei dati che offre un’ampia gamma di opzioni per il backup e il ripristino delle VM VMware vSphere e di altri dati in un data center. Inoltre, l’ultima versione della soluzione supporta il monitoraggio ESXi come parte del monitoraggio VMware vSphere.










