Nagios – Monitorizando nuestras máquinas virtuales de VMware vSphere

En este documento monitorizaremos elementos interesantes que obtendremos de nuestras máquinas virtuales basadas en VMware vSphere, centralizando en Nagios los checkeos que hagamos para gestionar sus valores, obtener alertas o generar gráficas de sus consumos. Veremos entre otros checkeos en las MV obteniendo los valores de su CPU Ready, CPU Wait, Overhead de memoria, memctl, balloning, IOs de escritura o de lectura

 

Gracias al script ‘check_vmware_api.plque ya instalamos en un document anterior, podremos avanzar y monitorizar ahora cualquier parámetro de una Máquina Virtual, da igual la versión que usemos, ya que al instalar el SDK correspondiente nos permitirá conectividad, sean entornos vSphere 5.x o 6.x. Per tant, si no tienes instalado los pre-requisitos, et recomano la seva lectura!

 

[sourcecode]cpu – shows cpu info
+ usageCPU usage in percentage
+ usagemhzCPU usage in MHz
+ waitCPU wait time in ms
+ readyCPU ready time in ms

memshows mem info
+ usagemem usage in percentage
+ usagembmem usage in MB
+ swapswap mem usage in MB
+ swapinswapin mem usage in MB
+ swapoutswapout mem usage in MB
+ overheadadditional mem used by VM Server in MB
+ overalloverall mem used by VM Server in MB
+ active – active mem usage in MB
+ memctlmem used by VM memory control driver(vmmemctl) that controls ballooning

net – shows net info
+ usageoverall network usage in KBps(Kilobytes per Second)
+ receivereceive in KBps(Kilobytes per Second)
+ sendsend in KBps(Kilobytes per Second)
^ all net info(except usage and no thresholds)

ioshows disk I/O info
+ usageoverall disk usage in MB/s
+ readread disk usage in MB/s
+ writewrite disk usage in MB/s

runtime – shows runtime info
+ amb – connection state
+ cpu – allocated CPU in MHz
+ memallocated mem in MB
+ state – virtual machine state (UP, DOWN, SUSPENDED)
+ estatus – overall object status (gray/green/red/yellow)
+ consoleconnectionsconsole connections to VM
+ guestguest OS status, needs VMware Tools
+ toolsVMware Tools status
+ issuesall issues for the host[/sourcecode]

Estos serán algunos de los Comandos y Subcomandos que podremos pasar para obtener la información que nos interese de una MV, podremos hacer la consulta a un servidor vCenter o sobre un host ESXi, seguido del nombre de la MV tal y como se ve desde el vSphere Client. Podemos analizar cualquier parámetro de CPU, Memòria, Xarxa, Disco o estado de la MV. Algo así nos valdría si queremos probar a ejecutarlo desde shell:

[sourcecode]./check_vmware.api.pl -D DATA_CENTER | -H DIRECCION_IP_HOST_ESXi -N NOMBRE_MV -f FICHERO_AUTH -l COMANDO -s SUBCOMANDO -w WARNING -c CRITICAL[/sourcecode]

 

 

Bastará con dar de alta el Comando que necesitemos como siempre desde Centreon, esto será una única vez para luego llamarlo desde cada Servicio de monitorización que creemos. En este caso atacaré directamente a un host ESXi por lo que a pinrel pondré su IP, pero esto cada uno puede configurarlo como quiera, contra un vCenter sería lo ideal. “Configuration” > Commands” > duplicamos el ‘check_vmware_api.plque tenemos ya creado y hacemos uno similar para monitorizar las MVs. Cumplimentamos al menos:

  • Command Name: Le llamaré ‘check_vmware_api.pl_VMpara saber que con este Comando monitorizaremos MVs.
  • Command Type: Seleccionem 'Check'.
  • Command Line: Será lo que ejecutarán los Servicios que creemos para monitorizar los ítems en las MVs. Algo como lo siguiente nos valdría donde pasaremos como argumentos a la hora de crear el Servicio el Nombre de la MV, el Comando, el Subcomando, el Warning y el valor para Critical:

$USER1$/check_vmware_api.pl -H DIRECCION_IP_HOST_ESXi -N $ARG1$ -f $USER1$/check_vmware_api.auth -l $ARG2$ -s $ARG3$ -w $ARG4$ -c $ARG5$

 

Gravem amb “Save”,

 

I res! Ya será tan sencillo como crear tantos Servicios como necesitemos, des de “Configuration” > “Services”. En este caso crearé los Servicios asociados desde Relations a cada MV, seleccionare el Comando que acabamos de crear desde el combo, siendo ‘check_vmware_api.pl_VM’, y cumplimentarermos los argumentos, indicando el propio nombre de la MV a consultar, el Comando que en este tipo ‘cpuy con el Subomando ‘readynos dará pues eso, el tiempo de CPU Ready que tiene la MV, además de indicar los valores para que nos alerte de Warning y Critical (en este caso son milisegundos).

 

I res, si grabamos y exportamos la configuración como ya conocemos, podremos volvernos a la vista de Monitorización y ver los valores que estamos monitorizando, en este caso vemos los tiempos de CPU Ready o CPU Wait, así como el throughput de escritura o lectura en MB/s, así como si la MV tiene usado Balloning o Swap que conocemos son elementos que nos indicará que la MV está sufriendo. E interesante conocer el Estado a nivel de VMware de la máquina virtual así como el estado de las VMware Tools!!! Gaudir-lo!

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!