Monitorizando Proxmox VE con Centreon
Ya era hora de monitorizar nuestros servidores de Proxmox VE, hoy toca ver las posibilidades que tenemos para monitorizar estos hipervisores desde el software de monitorización por excelencia, Centreon. Veremos cómo obtener las métricas de sus rendimientos, estados de sus máquinas virtuales o almacenamiento entre otros.
Desde ya hace mucho tiempo muchas organizaciones vienen trabajando con Proxmox, pero quizá estos últimos años, gracias a VMware, es cada día más visible, en el blog intentaremos traer algunos documentos que os puedan aportar a todos los que tengáis Proxmox implantado, o quizá queráis descubrir algunas de sus maravillas. En este post veremos cómo monitorizar nuestros servidores de Proxmox VE, con el objetivo de conocer en todo momento su disponibilidad y rendimiento; como siempre lo haremos con Centreon.
Para poder acceder a los datos de nuestros hipervisores Proxmox, tendremos 2 opciones, una mediante SNMP y otra mediante API. La primera, SNMP, al ser una distribución linux basada en Debian procedemos a su instalación como lo haríamos habitualmente en cualquier Debian, por tanto, los recursos habituales del servidor, CPU, RAM, Discos, Red, Procesos… los obtendríamos como si lo tratásemos de cualquier Linux, al asociarle la Plantilla de SO de Linux ya los tendríamos. Y la segunda opción, pues que por defecto Proxmox ya nos trae habilitada su API para poder trabajar y hacer consultas de manera segura.
Como muchísimas veces, hoy otra vez nos vamos a apoyar en el proyecto de Centreon Plugins, que como ya sabéis es una suit que nos dan para poder monitorizar muchas cosicas. Si no os suena, aquí hablamos de sus posibilidades. Bueno, pues con este script que nos deja Centreon podremos añadir un plugin llamado ‘apps::proxmox::ve::restapi::plugin’ y le monitorizaremos cosas interesantes a nuestro hipervisor. Con él podremos conocer el estado y rendimiento del nodo y de las máquinas virtuales así como el uso de nuestros storages.
Os dejo si os parece bien los 3 Comandos que uso yo, para monitorzar el Estado del nodo:
perl $CENTREONPLUGINS$/centreon-plugins/src/centreon_plugins.pl --plugin=apps::proxmox::ve::restapi::plugin --mode=node-usage --hostname=$HOSTADDRESS$ --api-username=$ARG1$ --api-password='$ARG2$' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --warning-cpu=$ARG3$ --warning-memory=$ARG4$ --warning-swap=$ARG5$ --warning-fs=$ARG6$ --critical-cpu=$ARG7$ --critical-memory=$ARG8$ --critical-swap=$ARG9$ --critical-fs=$ARG10$
Con los siguientes argumentos:
- ARG1 : Usuario API
- ARG2 : Contrasena API
- ARG3 : Warning CPU %
- ARG4 : Warning Memoria %
- ARG5 : Warning Swap %
- ARG6 : Warning FileSystem %
- ARG7 : Critical CPU %
- ARG8 : Critical Memoria %
- ARG9 : Critical Swap %
- ARG10 : Critical FileSystem %
Para monitorizar la salud de las máquinas virtuales:
perl $CENTREONPLUGINS$/centreon-plugins/src/centreon_plugins.pl --plugin=apps::proxmox::ve::restapi::plugin --mode=vm-usage --hostname=$HOSTADDRESS$ --api-username=$ARG1$ --api-password='$ARG2$' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --vm-name='$ARG3$' --warning-cpu=$ARG4$ --warning-memory=$ARG5$ --warning-swap=$ARG6$ --critical-cpu=$ARG7$ --critical-memory=$ARG8$ --critical-swap=$ARG9$
Con los siguientes argumentos:
- ARG1 : Usuario API
- ARG2 : Contrasena API
- ARG3 : Nombre MV
- ARG4 : Warning CPU %
- ARG5 : Warning Memoria %
- ARG6 : Warning Swap %
- ARG7 : Critical CPU %
- ARG8 : Critical Memoria %
- ARG9 : Critical Swap %
Y para monitorizar el almacenamiento:
perl $CENTREONPLUGINS$/centreon-plugins/src/centreon_plugins.pl --plugin=apps::proxmox::ve::restapi::plugin --mode=storage-usage --hostname=$HOSTADDRESS$ --api-username=$ARG1$ --api-password='$ARG2$' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --storage-name='$ARG3$' --warning-storage=$ARG4$ --critical-storage=$ARG5$
Con los siguientes argumentos:
- ARG1 : Usuario API
- ARG2 : Contrasena API
- ARG3 : Nombre Storage
- ARG4 : Warning %
- ARG5 : Critical %
Para luego crear los Servicios que necesitemos, uno será el Estado del nodo, otros serán para conocer la salud de cada MV, así como su rendimiento y su uso de recursos; y finalmente crearemos tantos Servicios como storages distintos tengamos.
Tras grabar y exportar como siempre ya tendríamos nuestro primer hipervisor de Proxmox VE monitorizado!
Como siempre os digo y sé que soy un petardo, si a alguien le sirve me doy por satisfecho. Habéis visto que es una manera sencilla de monitorizar un servidor de Proxmox, primeramente le trataremos como cualquier otro equipo Linux para tener los servicios más comunes, y luego con el script de Centreon Plugins podremos obtener datos más específicos de la máquina. Venga que se nos hace tarde a todos, un abrazo, que te vaya muy bien!