Monitorare l'ESXi server health è un aspetto fondamentale per mantenere efficiente la struttura virtuale ed il funzionamento dei server stessi.
Utilizzando come strumento di monitoraggio il collaudato Nagios, il controllo dei server VMware ESX(i) 4.x/5.0 può essere effettuato dal plugin check_esxi_hardware.py scritto da Claudio Kuenzler e riportato anche dalla community VMware (http://communities.vmware.com/docs/DOC-7170).
Le informazioni riportate dal plugin sono quelle che vengono visualizzate in vSphere Client –> Configuration –> Health Status.
Prerequisiti
Per il corretto funzionamento di questo plugin è necessario installare le seguenti componenti nel server Nagios:
- Python
- Python extension pywbem scaricabile da questo link.
Procedura
Installare Python tramite il comando yum.
# yum install python
Scaricare tramite il comando wget l’estensione Python pywbem.
# wget http://downloads.sourceforge.net/project/pywbem/pywbem/pywbem-0.7/
pywbem-0.7.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpywbem%2
Ffiles%2F&ts=1332321760&use_mirror=freefr
Scompattare il file appena scaricato tramite il comando tar.
# tar -vxzf pywbem-0.7.0.tar.gz
Installare l’estensione pywbem lanciando il comando setup.py.
# cd pywbem-0.7.0
# python setup.py install
Scaricare il plugin check_esxi_hardware.py e copiarlo nella directory /usr/lib/nagios/plugins.
# wget http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.py
# cp check_esxi_hardware.py /usr/lib/nagios/plugins/
Copiato il file, rendere il file check_esxi_hardware.py eseguibile.
# chmod 755 check_esxi_hardware.py
La sintassi da utilizzare per effettuare il check del server ESXi è la seguente:
./check_esxi_hardware.py -H IP_address_esxi -U username -P password -V vendor
Dove l’utente utilizzato username deve essere definito nell’host ESXi e membro del gruppo root. Poichè non è consigliabile utilizzare direttamente l’utente root, tramite vSphere Client creare un utente dedicato.
Testare il plugin
Terminata l’installazione, testare il corretto funzionamento del plugin. Per testare lo stato di un server ESXi HP, digitare da console il comando:
# ./check_esxi_hardware.py -H esxi1 -U username -P password -V hp
Se il tutto funziona, si ottiene un messaggio come mostrato in figura.
A questo punto definire il comando in Nagios per permettere il monitoraggio in automatico.
define command { command_name check_esxi_hardware command_line $USER1$/check_esxi_hardware.py -H $HOSTADDRESS$ -U $ARG1$ –P $ARG2$ -V $ARG3$ }
Il sistema di monitoraggio è adesso in grado di visualizzare lo stato dell’hardware dei server utilizzati.
Per ulteriori configurazioni, consultare direttamente il sito dell'autore del plugin.
Avendo sotto controllo lo stato dell’hardware dei server ESX(i) è possibile intervenire tempestivamente al sorgere di una qualsiasi anomalia segnalata.
Ciao! Ti ringrazio per l'utile guida, ma ti pongo un quesito: esiste il modo di leggere tutti gli altri dati sull'hardware tramite nagios? E se si, esistono script/plugin già implementati?
Grazie per l'eventuale risposta ;D
Si, è possibile leggere altri dati inerenti l'hardware utilizzato. Esistono dei plugin specifici per i brand più diffusi. Ad esempio se si utilizzano server HP, ho scritto un articolo Monitorare i server HP Proliant con Nagios utilizzando uno plugin dedicato per questi sistemi.
Ciao,
innanzitutto ti ringrazio per la guida che hai realizzato. Lo script è molto utile senza alcun dubbio, ma mi chiedevo se questo plugin si possa in qualche modo interfacciare con Cacti affinchè possa utilizzarlo per inviare una mail in caso di problemi.
In sostanza... Cacti lancia lo script e se il valore è diverso da OK, deve mandare una mail.
Credi che sia possibile ?
Saluti
Guido
Nice post. I was checking constantly this blog and
I am impressed! Extremely helpful information specifically the last part
🙂 I care for such info much. I was looking for this particular information for a long time.
Thank you and best of luck.
Thank you for your feedback. Nice to know that my efforts can help the people.
Ciao non capisco una cosa,
nel tuo screenshot sembra ci sia un riferimento a uno script perl.
Tra l'altro vedo che ti restituisce anche info sullo storage e sull'utilizzo della cpu. Mentre quello che riesco a vedere io dopo l'integrazione di questo script è solo un generico stato sull' Hardware, il ping e l'SSH...
Questo plugin svolge la funzione di monitorare il solo stato dell'hardware. I valori di CPU, Disk, Memory, etc. riportati nello screenshot sono dovuti all'utilizzo del plugin check_esx.
Ok, grazie mille!
Ciao,
complimenti per la guida,ho solo un problema, su nagios mi restituisce il seguente errore (Return code of 255 is out of bounds) mentre da linea di comando funziona tutto
Hai verificato il path del plugin nel comando nagios?
Stai utilizzando l'ultima versione del plugin?
ho scaricato dal sito la versione 20130725,
il comando l'ho configurato tramite nconf ma per tutti è impostato $USER1$/
trovato il problema, nella definizione del servizio gli ho dovuto passare le variabili nel seguente modo
--host=$HOSTADDRESS$
--user=$ARG1$
--pass=$ARG2$
--vendor=$ARG3$
Gtazie ancora