Nagios – Monitorando nossas VMs VMware vSphere
En este documento monitorizaremos elementos interessantes que obtemos de nuestras máquinas virtuales basadas en VMware vSphere, centralizando en Nagios los checkeos que hagamos para gestionar sus valores, obter alertas o generar gráficas de sus consumos. Veremos entre outros checkeos en las MV obteniendo los valores de su CPU Ready, CPU Wait, Overhead de memoria, memctl, balloning, IOs de escritura o de leitura…
Gracias al script ‘check_vmware_api.pl’ que ya instalamos en un Documento 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. Portanto, si no tienes instalado los pre-requisitos, te recomiendo su lectura!
[Código-fonte]cpu – shows cpu info
+ uso – CPU usage in percentage
+ usagemhz – CPU usage in MHz
+ esperar – CPU wait time in ms
+ ready – CPU ready time in ms
mem – shows mem info
+ uso – 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
+ ativa – active mem usage in MB
+ memctl – mem used by VM memory control driver(vmmemctl) that controls ballooning
Rede – shows net info
+ uso – utilização global da rede em KBps(Kilobytes por Segundo)
+ receber – receber em KBps(Kilobytes por Segundo)
+ enviar – enviar em KBps(Kilobytes por Segundo)
^ toda a informação da rede(exceto uso e sem limiares)
io – mostra informação de I/O do disco
+ uso – utilização total do disco em MB/s
+ read – leitura do uso do disco em MB/s
+ escrever – escrever utilização do disco em MB/s
Runtime – mostrar informação em tempo de execução
+ com – estado da ligação
+ cpu – CPU alocada em MHz
+ mem – memória alocada na placa de base
+ estado – estado da máquina virtual (PARA CIMA, BAIXA, SUSPENSA)
+ estado – estado geral do objeto (cinzento/verde/vermelho/amarelo)
+ conexões de consola – ligações de consola para VM
+ convidado – estado do sistema operativo convidado, precisa de ferramentas VMware
+ ferramentas – estado das ferramentas VMware
+ problemas – todas as questões para o anfitrião[/Código-fonte]
estes serão alguns de los Comandos e Subcomandos que podremos passar para obter a informação que nos interessa de uma MV, podremos fazer 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 analisar qualquer parâmetro de CPU, Memória, Rede, Disco ou estado da VM. Algo assim serviria se quisermos experimentar executá-lo desde o shell:
[Código-fonte]./check_vmware.api.pl -D DATA_CENTER | -H ENDEREÇO_IP_HOST_ESXi -N NOME_VM -f FICHEIRO_AUTH -l COMANDO -s SUBCOMANDO -w WARNING -c CRITICAL[/Código-fonte]
Bastará registar o Comando que precisemos como sempre desde o Centreon, isto será apenas uma vez para depois chamá-lo desde cada Serviço de monitorização que criarmos. Neste caso atacarei diretamente um host ESXi pelo que a pinrel colocarei o seu IP, mas cada um pode configurá-lo como quiser, contra um vCenter seria o ideal. “Configuração” > Comandos” > duplicamos o ‘check_vmware_api.pl’ que já temos criado e fazemos um similar para monitorizar as VMs. Preenchemos pelo menos:
- Nome do comando: Le llamaré ‘check_vmware_api.pl_VM’ para saber que con este Comando monitorizaremos MVs.
- Tipo de comando: Selecionamos 'Check'.
- Linha de comando: 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$
Gravamos com “Salvar”,
E nada! Ya será tan sencillo como crear tantos Servicios como necesitemos, desde “Configuração” > “Serviços”. 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 cumplimentarmos los argumentos, indicando el próprio 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 são milisegundos).
E nada, 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 conhececemos são 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!











































