Nagios – Überwachung unserer VMware vSphere VMs
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 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. Deshalb, si no tienes instalado los pre-requisitos, te recomiendo su lectura!
[Quellcode]CPU – Zeigt CPU-Informationen an
+ Verwendung – CPU-Auslastung in Prozent
+ Nutzungmhz – CPU-Auslastung in MHz
+ Warte – CPU-Wartezeit in ms
+ fertig – CPU-Bereitschaftszeit in ms
Mem – Zeigt MEM-Informationen an
+ Verwendung – MEM-Nutzung in Prozent
+ usagemb – MEM-Nutzung in MB
+ tauschen – Swap-MEM-Nutzung in MB
+ Tauschen – Swapin-MEM-Nutzung in MB
+ Austausch – MEM-Nutzung in MB auslagern
+ Gemeinkosten – zusätzliches vom VM-Server verwendetes Mem in MB
+ insgesamt – Gesamtanzahl der von VM Server verwendeten Mem in MB
+ aktiv – aktive MEM-Nutzung in MB
+ Memctl – Mem, das vom VM-Speichersteuerungstreiber verwendet wird(vmmemctl) , die das Ballooning steuert
Netto – Zeigt Netzinfos an
+ Verwendung – Gesamtnetzwerkauslastung in KBps(Kilobyte pro Sekunde)
+ empfangen – Empfangen in KBps(Kilobyte pro Sekunde)
+ Senden – in KBps senden(Kilobyte pro Sekunde)
^ alle Netzinfos(außer Nutzung und keine Schwellenwerte)
io – Zeigt Festplatten-I/O-Informationen an
+ Verwendung – Gesamtnutzung der Festplatte in MB/s
+ lesen – Festplattenverbrauch in MB/s lesen
+ schreiben – Schreibdatenträgerauslastung in MB/s
Laufzeit – zeigt Laufzeitinformationen an
+ mit – Zustand der Verbindung
+ CPU – zugewiesene CPU in MHz
+ Mem – Zugeordnetes Mem in MB
+ Zustand – Status der virtuellen Maschine (OBEN, HERAB, AUSGESETZT)
+ Status – Gesamter Objektstatus (grau/grün/rot/gelb)
+ Konsolen-Verbindungen – Konsolenverbindungen zur VM
+ Gast – Status des Gastbetriebssystems, benötigt VMware Tools
+ Werkzeuge – Status der VMware Tools
+ Probleme – Alle Probleme für den Host[/Quellcode]
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, Gedächtnis, Rot, Disco o estado de la MV. Algo así nos valdría si queremos probar a ejecutarlo desde shell:
[Quellcode]./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[/Quellcode]
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. “Konfiguration” > Befehle” > duplicamos el ‘check_vmware_api.pl’ que tenemos ya creado y hacemos uno similar para monitorizar las MVs. Cumplimentamos al menos:
- Name des Befehls: Le llamaré ‘check_vmware_api.pl_VM’ para saber que con este Comando monitorizaremos MVs.
- Typ des Befehls: Wählen Sie "Prüfen".
- Befehlszeile: 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$
Wir nehmen auf mit “Retten”,
Und nichts! Ya será tan sencillo como crear tantos Servicios como necesitemos, seit “Konfiguration” > “Dienste”. 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).
Und nichts, 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!!! Genießen!