Cómo monitorizar un servidor de virtualización VMware ESXi usando el software de monitorización Pandora FMS. Con este método podremos monitorizar casi cualquier parámetro: espacio en datastores, uso de RAM, uso de CPU, número de máquinas virtuales, número de máquinas virtuales con VMware Tools no instaladas, alarmas lanzadas, etc..

Requisitos para monitorizar un servidor de VMware con Pandora FMS Open Source y PowerCLI

Para poder monitorizar los parámetros de rendimiento, uso de disco, alarmas y demás en un servidor de virtualización VMware ESXi necesitaremos disponer de los siguientes elementos:

  • Un servidor de virtualización con VMware ESXi. A continuación mostramos cómo montar un servidor de virtualización profesional con VMware ESXi, en el tutorial siguiente montamos VMware ESXi de prueba sobre un VMware Workstation, obviamente en un entorno de producción VMware ESXi se montará en un equipo limpio, nunca sobre otro sistema operativo:
  • Un equipo con sistema operativo Windows, con las VMware PowerCLI instaladas y con Pandora FMS Windows Agent instalado. Este equipo deberá tener visibilidad de red con el servidor de VMware ESXi. A continuación mostramos un tutorial donde explicamos cómo instalar VMware PowerCLI en un equipo con Windows 7 y cómo acceder a un servidor ESXi:
  • Un servidor de monitorización con Pandora FMS Open Source que tendrá visibilidad de red con el equipo con las VMware PowerCLI. A continuación mostramos un tutorial donde explicamos cómo montar un servidor de monitorización gratuito con Pandora FMS Open Source:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Accederemos a la administración del servidor VMware ESXi mediante VMware vSphere Client, pulsaremos en la pestaña «Local Users & Groups», pulsaremos con el botón derecho del ratón en cualquier espacio en blanco de esta pestaña y en el menú emergente seleccionaremos «Add»:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Introduciremos el nombre del usuario en «Login», por ejemplo «pandora» y la contraseña en «Enter password», por ejemplo «monitorizacion2015», marcaremos «Grant shell access to this user» y pulsaremos «OK» para crearlo:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Una vez creado estableceremos los permisos, para ello accederemos a la pestaña «Permissions», pulsaremos con el botón derecho sobre alguna zona en blanco y en el menú emergente seleccionaremos «Add permission»:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Pulsaremos en «Add»:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Seleccionaremos el usuario creado «pandora» y pulsaremos «Add»:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Pulsaremos «OK»:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Una vez establecido el usuario, seleccionaremos en el desplegable de «Assigned Role» la opción «Read-only» y pulsaremos «OK»:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

De esta forma ya tendremos creado un usuario con permisos de solo lectura para acceso a consulta del VMware ESXi. Lo usaremos más adelante para el acceso a este servidor mediante las VMware PowerCLI.

Crear bróker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Para no tener que instalar plugin ni usar software de terceros en el propio servidor VMware ESXi y para poder monitorizarlo, usaremos un equipo «puente», este equipo, con Windows, las PowerCLI instaladas y el agente de Pandora instalado, será el que conecte con el servidor VMware ESXi y obtenga los datos de monitorización. Por ello, en los requisitos, indicamos que debemos disponer de un equipo con Windows, VMware PowerCLI y Pandora FMS Windows Agent.

Cuando dispongamos de este equipo «puente», en Pandora llamado bróker, accederemos a él y editaremos el fichero de configuración de Pandora FMS, que normalmente está ubicado en:

C:/Program Files (x86)/pandora_agent

Con el nombre pandora_agent.conf, podremos editarlo con cualquier editor de ficheros de texto plano sin formato, por ejemplo Notepad. Abriremos este fichero:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Añadiremos el bróker para el servidor ESXI, para ello añadiremos la siguiente línea:

broker_agent Nombre_Servidor

Donde «Nombre_Servidor» podrá ser cualquier nombre, que puede coincidir con su nombre DNS (hostname) o no, lo normal es que coincida.

Guardaremos los cambios en el fichero pandora_agent.conf:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Tras añadir la línea del bróker, podremos esperar unos minutos a que se ejecute el agente o bien podremos forzar la ejecución ejecutando el script restart_pandora_agent.bat:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Si todo es correcto, el agente de Pandora FMS habrá creado un nuevo fichero de configuración con el nombre del bróker, en nuestro caso SERVIDORESX.conf, en este fichero será donde añadamos el código necesario para monitorizar el servidor de virtualización VMware ESXi, como veremos a continuación. Podemos editar este fichero y establecer, por ejemplo, la dirección IP del servidor ESXi:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Añadiendo la línea:

address 192.168.1.44

Donde cambiaremos «192.168.1.44» por la IP del servidor de virtualización VMware ESXi que queramos monitorizar. Este valor se puede establecer también en la consola web de administración de Pandora FMS. Más adelante volveremos a editar este fichero para establecer el script de monitorización:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Si todo es correcto, tras crear el bróker en el equipo que hará de «puente», transcurridos unos minutos, podremos acceder a la consola de administración web de Pandora FMS y comprobar que se habrá creado automáticamente un nuevo agente, con el nombre indicado en agent_name del fichero SERVIDORESX.conf (fichero de configuración del bróker):

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

A partir de ahora podremos configurar el agente creado como si se tratara de un equipo normal en Pandora FMS, como veremos a continuación.

Configurar agente servidor VMware ESXi en Pandora FMS

Tras crear el bróker, Pandora FMS habrá creado el agente, ahora podremos editarlo para establecer la configuración, desde la consola de administración de Pandora FMS Open Source, accederemos a «Gestionar la monitorización» – «Gestionar agentes», en Buscar introduciremos el nombre del servidor (agent_name), en nuestro caso «SERVIDORESXI», si todo el proceso anterior ha sido correcto nos mostrará el agente, pulsando sobre él podremos editar su configuración:

Configurar agente servidor VMware ESXi en Pandora FMS

Por ejemplo, podremos especificar el Grupo al que pertenezca, la dirección IP, el Sistema Operativo, una Descripción, etc.:

Configurar agente servidor VMware ESXi en Pandora FMS

Pulsando en «Módulos» podremos comprobar los módulos (monitores o sondas) que se habrán creado de forma automática:

Configurar agente servidor VMware ESXi en Pandora FMS

Estos módulos no sirven pues se han generado a partir de la copia del fichero de configuración del agente de Pandora FMS en el equipo «puente» al fichero de configuración del bróker, por lo tanto, explicaremos ahora cómo eliminarlos:

Configurar agente servidor VMware ESXi en Pandora FMS

Para eliminar los módulos anteriores (que no sirven), en primer lugar editaremos el fichero de configuración del bróker, en nuestro caso, el fichero SERVIDORESX.conf y eliminaremos todas las líneas a partir de «# Module Definition», más adelante añadiremos aquí lo necesario para monitorizar el servidor VMware ESXi:

Configurar agente servidor VMware ESXi en Pandora FMS

Una vez eliminadas todas las líneas del fichero anterior ya podremos eliminar los módulos desde la consola de administración web de Pandora FMS. En Módulos, los seleccionaremos todos y pulsaremos en «Borrar»:

Configurar agente servidor VMware ESXi en Pandora FMS

Es necesario realizar el proceso anterior porque, repetimos, los módulos por defecto no son válidos y arrojan valores que no se corresponden con la realidad del servidor VMware ESXi. Y es preciso eliminar primero el código de los módulos en el fichero de configuración del agente bróker, de lo contrario volverían a regenerarse aunque los elimináramos en la consola web.

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Para realizar la conexión con el servidor VMware ESXi y extraer la información que queramos, para la monitorización, crearemos un fichero de script PowerCLI, en la misma carpeta donde tengamos instalado el agente de Pandora FMS, en el equipo «puente», donde hemos creado el bróker. En nuestro caso crearemos un fichero con el nombre datos_host.ps1, lo editaremos con cualquier editor de texto plano, como el Notepad:

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Y añadiremos el siguiente código PowerCLI, explicando un poco lo que hacen las líneas de código más importantes:

  • param([string]$ip, [string]$user, [string]$password)
    — Para obtener los parámetros que le pasaremos al ejecutar el script (IP servidor ESXi, usuario y contraseña).
  • $conexion = Connect-VIServer -server $ip -user $user -password $password — Establecer conexión con el servidor ESXi.
  • Con el resto de código obtendremos los datos estadísticos de: uso de CPU, uso de memoria RAM, espacio usado en todos los datastores, número de máquinas virtuales, número de máquina virtuales con VMware Tools obsoletas, número de máquinas virtuales con VMware Tools no instaladas y alarmas en el servidor ESXi (o vCenter).

Así pues, añadiremos este código al fichero y guardaremos los cambios:

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Código completo de script PowerCLI.

Por último, para que el agente de Pandora FMS ejecute este script anterior y extraiga los datos necesarios para la monitorización del servidor VMware ESXi, editaremos el fichero de configuración del bróker, en nuestro caso el fichero SERVIDORESX.conf:

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

y añadiremos al final de este fichero la siguiente línea:

module_plugin powershell -ExecutionPolicy RemoteSigned -File «%ProgramFiles(x86)%\pandora_agent\datos_host.ps1» 192.168.1.44 pandora monitorizacion2015

Cambiando, lógicamente, la IP por la IP del servidor ESXi y el usuario y la contraseña por lo que hayamos establecido en los pasos anteriores. Si hemos creado el scritp en otra ubicación y con otro nombre lo especificaremos también.

Guardaremos los cambios en el fichero SERVIDORES.conf (o el nombre que le hayamos dado):

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Transcurridos unos minutos, si hemos realizado y establecido las configuraciones anteriores correctamente, desde la consola de administración web de Pandora FMS podremos acceder al agente creado y comprobar que, efectivamente, se han añadido los módulos (sondas o monitores) del script PowerCLI (espacio en datastores, RAM, CPU, número de máquinas virtuales, alarmas, etc.):

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Tras seguir los pasos anteriores, ya tendremos disponibles los módulos (sondas, sensores, monitores) correspondientes para el servidor (agente) de VMware ESXi. Ahora podremos, desde la consola web de Pandora FMS Open Source, establecer los umbrales y configuraciones que deseemos para cada módulo. En la ventana de Módulos, podremos pulsar sobre el que queramos para establecer su configuración. Como ejemplo, estableceremos el umbral crítico en el que queramos que Pandora FMS cambie el estado a crítico para el espacio ocupado de un datastore determinado:

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Podremos configurar el módulo, por ejemplo, establecer el Umbral crítico, entre 90 y 100, de forma que si llega al 90% de ocupación (de espacio ocupado del datastore), el módulo pasará a estado crítico:

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

También podremos configurar las alertas correspondientes, por ejemplo para que nos envíe un correo electrónico en caso de pasar el módulo a estado crítico. Para ello pulsaremos en «Alertas»:

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Añadiremos las alertas para cada módulo que consideremos importante, previamente hemos de tener dadas de alta las plantillas de las alertas (qué tipo de alerta y a quién se le envía, como indicamos en el siguiente tutorial: Definir acciones para las alertas en Pandora FMS). Para añadir una nueva alarma especificaremos el Módulo (sensor o monitor) y la plantilla (tipo de alarma: envío por SMS, por mail, etc. y a quién se le envía)

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Anexo

  • Script PowerCLI para obtener los datos a monitorizar de VMware ESXi:
  • Contenido por defecto del fichero de configuración del bróker al darlo de alta (cogerá el contenido del fichero pandora_agent.conf del equipo donde hayamos creado el bróker):