![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introduzione
Con Checkmk puoi monitorare gli host ESXi e le loro macchine virtuali. Ad esempio, su un host è possibile interrogare Disk-IO, le prestazioni dell'archivio dati, lo stato delle interfacce di rete fisiche, diversi sensori hardware e molto altro ancora. Checkmk offre anche una serie di plug-in di controllo per le macchine virtuali, il cui elenco completo è disponibile nelCatalogo dei plug-in di controllo.
Utilizzando il meccanismo dell'host piggyback, i dati delle macchine virtuali vengono visualizzati direttamente nell'host associato. In questo modo i dati relativi alle macchine virtuali si trovano proprio dove sono necessari e possono essere confrontati con quelli riportati dal sistema operativo della macchina virtuale:

L'accesso a questi dati avviene tramite la vSphere-API basata su HTTP, non tramite i normali agenti o SNMP. Ciò significa che non è necessario installare alcun agente o altro software sugli host ESXi e che l'accesso è molto semplice da configurare.
2. UP
2.1. Configurazione tramite il sistema host ESXi
La configurazione iniziale per il monitoraggio di un server ESXi è molto semplice e può essere completata in meno di cinque minuti. Tuttavia, prima di poter configurare l'accesso, è necessario soddisfare i seguenti prerequisiti:
Devi aver definito un utente sul server ESXi. È sufficiente che questo utente abbia accesso solo in lettura.
Devi aver definito il server ESXi come host in Checkmk e averlo configurato come agente Checkmk (Checkmk Agent). Suggerimento: Seleziona il nome host in modo che sia lo stesso conosciuto dal server stesso.
Una volta soddisfatti i prerequisiti, puoi creare una regola nel set di regole diSetup > VM, cloud, container > VMware ESX via vSphere. Questa verrà assegnata all'host definito, in modo che invece dell'agente standard venga utilizzato l'agente specialeper recuperare i dati dal VMware-monitoring.
Inserisci il nome host e la password così come sono stati definiti sul server ESXi. La condizione per la regola deve essere impostata sull'host definito in Checkmk. Dopodiché la prima installazione sarà completa e Checkmk potrà recuperare i dati dal server.

Infine, torna alla configurazione dell'host ed esegui unascoperta del servizio. Questo dovrebbe trovare diversi servizi:

Attiva le modifiche come di consueto. Se non sono stati individuati servizi, puoi cercare gli errori nella configurazione con le opzioni di diagnostica, come descritto più avanti in questo articolo.
2.2. Configurazione tramite vCenter
Se è disponibile un vCenter, invece di recuperare i dati di monitoraggio attraverso i singoli sistemi host, puoi richiamare il vCenter. Questo metodo presenta diversi vantaggi e svantaggi:
Vantaggi | Svantaggi |
---|---|
Applicazione semplice in situazioni in cui le macchine virtuali vengono assegnate dinamicamente tramite vMotion. |
Nessun monitoraggio se il vCenter non è disponibile. |
È possibile monitorare l'utilizzo totale della RAM di un cluster. |
Nessun monitoraggio dei dati specifici dell'hardware nei nodi del cluster (es. dischi RAM e schede di rete). |
È possibile utilizzare anche una combinazione di entrambi i metodi: in questo modo potrai avere il meglio di entrambi i mondi.
Configurare il vCenter
Per questa configurazione valgono gli stessi prerequisiti della configurazione su un singolo server ESXi:
Un utente con accesso in lettura deve essere presente sul vCenter.
Il vCenter è stato definito come host e configurato come agente Checkmk Checkmk Agent.
Se i server ESXi sono già stati configurati in Checkmk e desideri combinare il monitoraggio, i loro nomi in vCenter saranno gli stessi configurati come host in Checkmk.
Come descritto in precedenza, crea un set di regole per l'agente speciale di monitoraggio VMware, in Type of Query seleziona il vCenter e imposta la condizione sull'host appropriato come definito in Checkmk:

Esegui la scoperta del servizio per il vCenter-host come descritto in precedenza.
Recupero dagli host ESXi e dal vCenter
Per evitare la duplicazione dei dati quando si utilizza una combinazione di entrambi i metodi di configurazione, è possibile configurare la regola per il vCenter in modo da recuperare solo dati specifici. Una possibilità è quella di accedere a Datastores e Virtual Machines tramite il vCenter, mentre gli altri dati vengono recuperati direttamente dagli host ESX. L'utilizzo della licenza può essere recuperato in entrambe le configurazioni poiché il vCenter riporta uno stato generale.

Se hai già configurato gli ESXi-host, le regole saranno adattate di conseguenza. In questo caso è possibile accedere solo a Host Systems e Performance Counters, poiché questi dati appartengono in modo inalterabile a un particolare server ESXi. Lo stato della licenza è applicabile solo al server ESXi recuperato.

2.3. Monitoraggio delle macchine virtuali
Per impostazione predefinita, solo lo stato delle macchine virtuali come servizi viene creato e assegnato rispettivamente all'ESXi o al vCenter. Tuttavia, sono disponibili ancora più informazioni su queste macchine virtuali, ad esempio sulla RAM o sulle istantanee. Questi dati vengono archiviati come dati piggyback e assegnati direttamente agli host che corrispondono alle macchine virtuali in Checkmk.
Per rendere visibili questi dati, la VM deve essere definita come host in Checkmk. Naturalmente puoi installare l'agente Checkmk sulla macchina virtuale e sfruttare appieno le sue funzioni. I dati piggyback verranno semplicemente aggiunti a quelli già disponibili.
Assegnazione del nome ai dati piggyback
Se il nome host della VM in Checkmk corrisponde al nome della VM, l'assegnazione funziona automaticamente. In caso contrario, Checkmk offre diverse opzioni per personalizzare il nome del piggyback. Le seguenti opzioni sono disponibili nella regola di configurazione stessa:
Puoi utilizzare il nome host del sistema operativo della VM, se è possibile accedervi tramite la vSphere-API.
Se il nome della VM include caratteri vuoti, il nome verrà troncato dopo il primo vuoto. In alternativa, gli spazi vuoti possono essere sostituiti con dei trattini bassi.

Se il nome dell'host è diverso in Checkmk, è possibile eseguire un'allocazione esplicita con l'aiuto della regola Setup > Agents > Access to agents > Hostname translation for piggybacked hosts.

Se l'host è configurato in Checkmk e i nomi sono conformi, puoi attivare il boxDisplay VM power state on nella regola delle configurazioni - seleziona se e dove i dati devono essere resi disponibili. Seleziona qui The Virtual Machine.

Con la scoperta del servizio sugli host, i nuovi servizi saranno identificati e potranno essere attivati. Tieni presente che le informazioni dei servizi potrebbero essere diverse tra loro. Il server ESXi vedrà l'utilizzo della RAM di una macchina virtuale in modo diverso da come lo riporta il sistema operativo della macchina stessa.

3. Opzioni diagnostiche
3.1. Introduzione
Quando si cerca la fonte di un errore ci sono diverse "porte di accesso". Poiché i dati provengono dal server ESXi-/vCenter, questo è il luogo logico da cui iniziare la ricerca dell'errore. In seguito è importante che i dati arrivino al server Checkmk e possano essere processati e visualizzati correttamente.
3.2. Problemi con la configurazione di ESXi-/vCenter-Server
Con il comando curl
puoi verificare se il server è accessibile dal monitoraggio:
OMD[mysite]:~$ curl -Ik https://myESXhost.my-domain.net
HTTP/1.1 200 OK
Date: Fri, 4 Nov 2016 14:29:31 GMT
Connection: Keep-Alive
Content-Type: text/html
X-Frame-Options: DENY
Content-Length: 5426
Se i dati di accesso sono stati inseriti correttamente e se Checkmk può accedere all'host, puoi verificarlo sulla console con l'agente speciale. Utilizza l'opzione --help
o -h
per ricevere un elenco completo delle opzioni disponibili. Nell'esempio, con l'aiuto di grep
l'output era limitato a una sezione specifica e alle prime quattro righe che la seguivano: puoi ometterlo per ricevere un output completo o filtrare per un altro:
OMD[mysite]:~$ share/check_mk/agents/special/agent_vsphere --debug --user myesxuser --secret myesxpassword -D myESXhost | grep -A4 esx_vsphere_objects
<<<esx_vsphere_objects:sep(9)>>>
hostsystem myESXhost poweredOn
hostsystem myESXhost2 poweredOn
virtualmachine myVM123 myESXhost poweredOn
virtualmachine myVM126 myESXhost poweredOn
Se Checkmk può accedere all'host può essere verificato sulla console. Anche in questo caso l'output è limitato a cinque righe:
OMD[mysite]:~$ cmk -d myESXhost | grep -A4 esx_vsphere_objects
<<<esx_vsphere_objects:sep(9)>>>
hostsystem myESXhost poweredOn
hostsystem myESXhost2 poweredOn
virtualmachine myVM123 myESXhost poweredOn
virtualmachine myVM126 myESXhost poweredOn
In alternativa, puoi eseguire il test nella pagina di diagnostica dell'host nel Setup:

Se tutto funziona fino a questo punto, l'output dovrebbe essere salvato in una directory temporanea. Se è stato prodotto un file di questo tipo e se il suo contenuto è corretto, si può verificare quanto segue:
OMD[mysite]:~$ ll tmp/check_mk/cache/myESXhost
-rw-r--r-- 1 mysite mysite 17703 Nov 4 15:42 myESXhost
OMD[mysite]:~$ head -n5 tmp/check_mk/cache/myESXhost
<<<esx_systeminfo>>>
Version: 6.0
AgentOS: VMware ESXi
<<<esx_systeminfo>>>
vendor VMware, Inc.
3.3. Problemi con i dati piggyback
Checkmk crea una directory contenente un file di testo per ogni host. In questo file di testo si trovano i dati che devono essere assegnati agli host.
OMD[mysite]:~$ ll tmp/check_mk/piggyback/
total 0
drwxr-xr-x 2 mysite mysite 60 Nov 4 15:51 myVM123/
drwxr-xr-x 2 mysite mysite 60 Nov 4 15:51 myVM124/
drwxr-xr-x 2 mysite mysite 60 Nov 4 15:51 myVM126/
drwxr-xr-x 2 mysite mysite 60 Nov 4 15:51 myESXhost2/
OMD[mysite]:~$ ll tmp/check_mk/piggyback/myVM123/
-rw-r--r-- 1 mysite mysite 1050 Nov 4 15:51 myESXhost
Se queste directory o file sono assenti, non sono stati creati dagli agenti speciali. Puoi vedere se i dati della macchina virtuale sono inclusi nell'output dell'agente. In questo caso, guarda nella regola di configurazione dell'host ESXi-/vCenter per vedere se ilrecupero dei dati è stato attivato.
OMD[mysite]:~$ grep "<<<<myVM123>>>>" tmp/check_mk/cache/myESXhost
<<<<myVM123>>>>
Nel caso di un numero molto elevato di directory per i dati piggyback, può essere molto difficile trovare quelle che non sono state assegnate a un host. Qui ti forniamo uno script con il quale è possibile trovare facilmente gli host piggyback non assegnati:
OMD[mysite]:~$ share/doc/check_mk/treasures/find_piggy_orphans
myESXhost2
Dall'output dello script si può notare che Checkmk non riesce a trovare un host con lo stesso nome a cui allocare i dati. I nomi piggyback possono comunque essere modificatiin diversi modi.
4. File e directory
Percorso dei file | Funzione |
---|---|
|
Checkmk salva qui i dati piggyback. Per ogni host viene creata una sottocartella con il nome dell'host e questa sottocartella contiene un file di testo con i dati dell'host. Il nome del file è il nome dell'host che fornisce i dati. |
|
Qui vengono temporaneamente salvati gli ultimi risultati degli agenti di tutti gli host. Il contenuto del file di un host è identico a quello del comando cmk -d myhost. |
|
Lo special agent per eseguire un'interrogazione dei server ESXi e vCenter. Questo script può essere eseguito anche manualmente a scopo di test. |
|
Uno script per trovare i dati piggyback non assegnati a un host. |