Nagios – Monitorizando nuestras máquinas virtuales de VMware vSphere

En aquest documento monitorarem elements interessants que obtendremos de nuestras màquines virtuales basadas en VMware vSphere, centralitzant en Nagios los checkeos que hagamos para gestionar els seus valors, obtener alertas o generar gràfics 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 – mostra informació de CPU
+ usage – Ús de CPU en percentatge
+ usagemhz – Ús de CPU en MHz
+ wait – Temps d'espera de CPU en ms
+ ready – Temps de preparació de CPU en ms

mem – mostra informació de memòria
+ usage – Ús de memòria en percentatge
+ usagemb – Ús de memòria en MB
+ swap – Ús de memòria swap en MB
+ swapin – Ús de memòria swap d'entrada en MB
+ swapout – swapout 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
+ memctl – mem used by VM memory control driver(vmmemctl) that controls ballooning

net – shows net info
+ usage – overall 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
+ usage – overall disk usage in MB/s
+ read – read disk usage in MB/s
+ writewrite disk usage in MB/s

runtime – mostra informació d'execució
+ amb – estat de la connexió
+ cpu – CPU assignada en MHz
+ mem – memòria assignada en MB
+ state – estat de la màquina virtual (EN MARXA, ATURAT, SUSPÈS)
+ estatus – estat global de l'objecte (gris/verd/vermell/groc)
+ connexions de consola – connexions de consola a MV
+ invitada – estat del SO convidat, necessita VMware Tools
+ eines – estat de VMware Tools
+ problemes – tots els problemes de l'amfitrió[/sourcecode]

Això seran alguns dels Comandaments i Subcomandaments que podrem passar per obtenir la informació que ens interessi d'una MV, podrem fer la consulta a un servidor vCenter o sobre un host ESXi, seguit del nom de la MV tal com es veu des del vSphere Client. Podem analitzar qualsevol paràmetro de CPU, Memòria, Xarxa, Disco o estado de la MV. Algo así nos valdría si volem provar a executar des de 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 necessitemos como siempre desde Centreon, esto serà una única vez para després llamarlo des de cada Servei de monitorizació que creemos. En aquest cas atacaré directament a un host ESXi por lo que a pinrel pondré su IP, pero esto cada uno puede configurarlo com quiera, contra un vCenter seria lo ideal. “Configuration” > Commands” > duplicamos el 'check_vmware_api.pl’ que tenemos ya creat i hem fet un similar per monitorar les MVs. Cumplimentamos al menos:

  • Command Name: Li anomenaré ‘check_vmware_api.pl_VM’ per saber que amb aquest Comandament monitoritzarem MVs.
  • Command Type: Seleccionem 'Check'.
  • Command Line: Serà el que executaran els Serveis que creem per monitoritzar els ítems a les 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, a més d'indicar els valors perquè ens alerti de Warning i Critical (en aquest cas són mil·lisegons).

 

I res, si gravem i exportem la configuració com ja coneixem, podrem tornar a la vista de Monitorització i veure els valors que estem monitoritzant, en aquest cas veiem els temps de CPU Ready o CPU Wait, així com l'throughput d'escriptura o lectura en MB/s, així com si la MV ha fet servir Balloning o Swap que sabem que són elements que ens indicarà que la MV està patint. I interessant conèixer l'Estat a nivell de VMware de la màquina virtual així com l'estat de les 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!!!