Cómo monitorizar los recursos básicos: espacio usado en datastores, número de máquinas virtuales, número de alarmas, número de máquinas virtuales sin las VMware Tools instaladas, uso de CPU, uso de RAM, etc, en un servidor hipervisor de virtualización VMware ESXi 6.7 o en un clúster VMware vCenter. Para obtener los datos usaremos VMware PowerCLI y como sistema de monitorización usaremos Pandora FMS 7.0.

Requisitos para monitorizar servidor host VMware ESXi con PowerCLI

La monitorización la realizaremos desde un equipo con sistema operativo Windows 10, Windows 11 o bien Windows Server 2016, 2019 o 2022. A continuación detallamos los requisitos para monitorizar uno o varios hosts ESXi y un vCenter Server.

Disponer de uno o varios hipervisores VMware ESXi o también disponer de un clúster VMware vCenter Server

Necesitaremos, como es evidente, uno o varios host ESXi o bien, un clúster vCenter Server. En el siguiente artículo explicamos cómo montar un clúster vCenter Server desde cero:

Se puede dar el caso de tener únicamente un host ESXi o bien de tener varios pero no en clúster.

En este artículo explicaremos cómo monitorizar ambos casos: vCenter Server y host ESXi.

Equipo con Windows 10, 11 o Windows Server 2016, 2019, 2022 con las PowerCLI

Si disponemos de un clúster VMware vCenter Server sobre Windows Server, podríamos usar este mismo servidor para la monitorización. En cambio, si disponemos de un vCenter Server sobre Linux, seguiremos los pasos de este tutorial para usar cualquier equipo Windows de la red (que tenga acceso al vCenter Server) para monitorizarlo «en remoto».

A su vez, si únicamente queremos monitorizar un host ESXi (o varios sin clúster), el proceso será el mismo que para un vCenter Server, solo variará el script a ejecutar. Todo esto lo explicamos más adelante.

En dicho equipo Windows necesitaremos instalar las VMware PowerCLI. En el siguiente artículo explicamos cómo instalarlas y cómo acceder a un entorno de virtualización VMware vCenter Server (mismo método para acceder a un único host ESXi):

Usuario con permisos de lectura en los host VMware ESXi y en el vCenter Server

Necesitaremos disponer también de un usuario y contraseña de acceso a los hosts ESXi (o al clúster vCenter Server). Utilizaremos este usuario al llamar a los scripts que realizarán la conexión y obtendrán la información.

Para cada host ESXi, tanto si tenemos vCenter Server como si no, podremos crear el usuario como indicamos en el siguiente artículo:

En principio, este usuario, no necesita permisos especiales, únicamente permisos de solo lectura:

Usuario con permisos de lectura en los host VMware ESXi y en el vCenter Server

En el caso de un vCenter Server, crearemos el usuario para la monitorización con Pandora FMS, desde «Administración» – Single Sign On» – «Usuarios y grupos»:

Usuario con permisos de lectura en los host VMware ESXi y en el vCenter Server

Estableceremos el permiso de «Solo lectura» para este usuario, para todo el Datacenter, pulsando con el botón derecho sobre el «Datacenter» y eligiendo «Agregar permiso…»:

Usuario con permisos de lectura en los host VMware ESXi y en el vCenter Server

Elegiremos el usuario «pandora» creado anteriormente, y en Función, elegiremos «Solo lectura». Marcaremos el check «Propagar a objetos secundarios»:

Usuario con permisos de lectura en los host VMware ESXi y en el vCenter Server

De esta forma, tendremos un usuario en el vCenter Server con permisos para leer los datos que necesitaremos más adelante (datastores, máquinas virtuales, CPU, RAM, etc.).

Servidor con Pandora FMS Server

Dispondremos de un servidor con Pandora FMS Server. En el siguiente artículo explicamos cómo montar un servidor de monitorización con Pandora FMS:

Datos de ejemplo que se usarán en el entorno de pruebas

Para este ejemplo, dispondremos de los siguientes equipos:

  • Un equipo cliente con Windows 10 y las PowerCLI instaladas, con visibilidad de la red del vCenter y los host ESXi.
  • Un servidor con Pandora FMS Server, con IP 192.168.1.200.
  • Un servidor hipervisor ESXi con IP 192.168.1.10.
  • Un segundo servidor hipervisor ESXi con IP 192.168.1.11.
  • Un VMware vCenter Server, clúster formado por los dos servidores anteriores, con IP 192.168.1.45.

Instalar agente de Pandora FMS en equipo Windows

En el equipo que usemos para obtener los datos del VMware vCenter o del host ESXi, en el que hayamos instalado las PowerCLI, instalaremos también el agente de Pandora FMS. Es bastante sencillo, descargaremos la última versión para Windows de la web oficial de Pandora FMS, a la fecha de este artículo, el fichero Pandora FMS Windows Agent v7.0NG.772.1_x86_64.exe:

Instalar agente de Pandora FMS en equipo Windows

Seguiremos los pasos del asistente de instalación de Pandora FMS Agent:

Instalar agente de Pandora FMS en equipo Windows

Indicaremos la dirección IP del servidor con Pandora FMS Server (podemos modificarla tras la instalación, en el fichero pandora_agent.conf):

Instalar agente de Pandora FMS en equipo Windows

No marcaremos la opción «Habilitar configuración remota». Esta opción está solo disponible para Pandora FMS Enterprise:

Instalar agente de Pandora FMS en equipo Windows

Desmarcaremos la opción «Ejecutar Pandora FMS Agent 7.0NG.772.1», dado que, de momento, no ejecutaremos el agente (hasta haber configurado todos los módulos, como explicaremos en los siguientes puntos del artículo).

Instalar agente de Pandora FMS en equipo Windows

Crear script PowerCLI para obtener datos del host ESXi o de todos los hosts ESXi de un VMware vCenter Server

A continuación, mostramos el contenido de los dos ficheros de scripts .ps (PowerShell de VMware), que usaremos para obtener los datos del ESXi o del vCenter Server (de todos sus ESXi). Estos scripts mostrarán una salida por pantalla con el formato correcto para envío al servidor de Pandora FMS de cada módulo (Carga_CPU, Memoria_RAM_Usada, Espacio_Usado_DS_XXXX, Numero_Alarmas, Numero_MV_VMwareTools_OLD, Numero_Alarmas_vCenter, etc.). En realidad, se puede obtener casi cualquier dato que se quiera monitorizar.

En primer lugar, en la carpeta del agente de Pandora FMS (instalado en el punto anterior), crearemos un fichero con el nombre datos_host.ps1, este fichero será el encargado de obtener los datos a monitorizar de un host ESXi concreto. Tendrá el siguiente contenido:

En cambio, si tenemos un VMware vCenter Server (con un clúster de hosts ESXi), crearemos un segundo fichero, también en la carpeta del agente de Pandora FMS, con el nombre datos_vcenter_ds.ps1, encargado de obtener los datos del vCenter Server (datastores, número de máquinas con VMware Tools obsoletas, memoria RAM total usada de todos los hipervisores del clúster, uso de CPU global, número de alarmas lanzadas en el vCenter, número de máquinas virtuales sin las VMware Tools instaladas, etc. El contenido de este fichero será:

La carpeta del agente de Pandora FMS, habitualmente, suele estar en:

C:Program Filespandora_agent

Es muy recomendable realizar una prueba de ejecución de los dos scripts anteriores, antes de agregar el módulo al agente de Pandora FMS (como explicaremos a continuación). Para probar estos scripts, abriremos una ventana de MS-DOS (Símbolo de sistema) y ejecutaremos:

powershell -ExecutionPolicy RemoteSigned -File "C:Program Filespandora_agentdatos_vcenter_ds.ps1" 192.168.1.45 pandora@vsphere.local Contraseña_Usuario_Pandora