Nagios – Gure VMware vSphereko makina birtualak monitorizatuz
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.pl’ que ya instalamos en un dokumentu batean, 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. Hori dela eta, si no tienes instalado los pre-requisitos, te recomiendo su lectura!
[sourcecode]CPU – shows cpu info
+ usage – CPU usage in percentage
+ usagemhz – CPU usage in MHz
+ wait – CPU wait time in ms
+ ready – CPU ready time in ms
mem – shows mem info
+ usage – mem usage in percentage
+ usagemb – mem usage in MB
+ swap – swap mem usage in MB
+ swapin – swapin mem usage in MB
+ swapout – swapout mem usage in MB
+ overhead – additional mem used by VM Server in MB
+ overall – overall mem used by VM Server in MB
+ active – active mem usage in MB
+ memctl – VM memoria kontrolatzeko kontrolatzaileak erabilitako mem(vmmemctl) globoa kontrolatzen duena
net – net informazioa erakusten du
+ usage – sarearen erabilera orokorra KBps-tan(Kilobyte segundoko)
+ jaso – jaso KBps-tan(Kilobyte segundoko)
+ bidali – bidali KBps-tan bidali(Kilobyte segundoko)
^ net info guztia(erabilera eta atalaserik ez izan ezik)
io – diskoaren S/O informazioa erakusten du
+ usage – diskoaren erabilera orokorra MB/s-tan
+ read – irakurri diskoaren erabilera MB/s
+ write – write disk use in MB/s
runtime – shows executiontime info
+ con – connection state
+ CPU – assigned CPU in MHz
+ mem – assigned mem in MB
+ state – assigned machine state (UP, DOWN, SUSPENDED)
+ egoera – overall object status (gray/green/red/yellow)
+ consoleconnections – console connections to VM
+ guest – guest OS status, needs VMware Tools
+ tools – VMware Tools status
+ issues – all 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, Memoria, Red, 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. “Konfigurazioa” > Commands” > duplicamos el ‘check_vmware_api.pl’ que tenemos ya creado y hacemos uno similar para monitorizar las MVs. Cumplimentamos al menos:
- Command Name: Le llamaré ‘check_vmware_api.pl_VM’ para saber que con este Comando monitorizaremos MVs.
- Komando mota: Seleccionamos ‘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$
grabatu egiten dugu “Gorde”,
Eta ezer! Ya será tan sencillo como crear tantos Servicios como necesitemos, etik “Konfigurazioa” > “Zerbitzuak”. 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 ‘cpu’ y con el Subomando ‘ready’ nos 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).
Eta ezer, 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!!! Disfrutarlo!









































