Este plugin permite monitorizar ESX, Datastores y VM de las arquitecturas VMware automaticamente. También incorpora muchos modulos para monitorizar arquitecturas virtuales. Para más información visite la siguiente pagina web: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=269
3. 1 HISTÓRICO DE CAMBIOS
Fecha Autor Cambio Versión
03/20/12 Dario Primera versión del plugin V1.0r1
03/21/12 Dario Reescrito plugin con cache en ficheros V1.0r2
03/27/12 Dario Corregido bug que cargaba mucho el sistema
al usar el plugin
V2.0r1
03/27/12 Dario Ampliada documentación V2.0r2
Page 3
7. 5 MÓDULOS DE AGENTES DE LA ARQUITECTURA VIRTUAL VMWARE
Los módulos disponibles para cada elemento de la arquitectura VMware son los siguientes:
5.1. Módulos para agentes del tipo Datastore
• Capacity: Capacidad máxima del Datastore en bytes.
• Free Space: Porcentaje de espacio libre del Datastore.
• Disk Overallocation: Porcentaje de sobre asignación del disco.
5.2. Módulos para agentes del tipo host ESXi
• Boot Time: Última fecha en la que se encendió el host.
• CPU Info: Información general de la CPU (Se crea un módulo por CPU del ESXi).
• Memory Size: Cantidad total de memoria física del host en Bytes.
• Overall CPU Usage: Suma del uso de todas las CPUs en Mhz.
• Overall Memory Usage: Memoria física usada en el host en MB.
• Power State: Estado de la energía del host.
• SSL Thumbprint: Huella SSL del host.
• Uptime: Uptime del host en segundos.
• VNIC Info: Información sobre interfaces de red virtuales del host.
• Host Alive: Módulo del tipo Keep Alive que vale 1 si el ESX está conectada y 0 en caso
contrario.
• Connection State: Estado de la conexión del host.
• Disk Read: Tasa de Kbps leidos del disco.
• Disk Write: Tasa de Kbps escritos del disco.
• Disk Read Latency: Latencia de lectura del disco en milisegundos.
• Disk Write Latency: Latencia de escritura del disco en milisegundos.
• Data received: Tasa de Kbps recibidos del host.
• Data transmitted: Tasa de Kbps enviados del host.
• Packages Received: Número de paquetes recibidos en el intervalo.
• Packages Transmitted: Número de paquetes enviados en el intervalo.
• CPU Status: Estado de las cpu física del host (Hardware Status de VMware) uno por CPU.
• Disk Status: Estado de los discos físicos del host (Hardware Status de VMware) uno por
disco.
• Mem Status: Estado de la memoria física del host (Hardware Status de VMware) uno por
memoria.
Page 7
8. 5.3. Módulos para agentes del tipo máquina virtual
Estos módulos ofrecen la información desde el punto de vista de la arquitectura VMware. Si se
desea monitorizar otros parámetros relativos a la máquina virtual se deberían considerar otras
opciones como la Monitorización con agentes software o la Monitorización remota.
• Boot Time: Última fecha en la que se encendió la máquina virtual.
• Connection State: Estado de la conexión.
• Consumed Overhead Memory: Cantidad de memoria consumida por la máquina virtual en
MB.
• CPU Allocation: Información sobre los recursos asignados a la CPU de la máquina virtual.
• Disk Free: Porcentaje libre del disco de la máquina virtual. (Habrá un módulo por cada disco
que contenga la máquina virtual).
• Guest State: Modo de operación del sistema operativo huésped.
• Host Info: Información sobre el host VMware.
• Host Alive: Módulo del tipo Keep Alive que vale 1 si la máquina virtual está en ejecución y 0
en caso contrario.
• Host Memory Usage: Memoria consumida por la máquina virtual en MB.
• Host Name: Nombre del sistema operativo invitado.
• IP Address: Dirección IP de la máquina. (Aparecerá una por interfaz de red disponible).
• MAC Address: Dirección MAC de la máquina. (Aparecerá una por interfaz de red disponible).
• Max CPU Usage: Límite superior de uso de la CPU de la máquina virtual.
• Max Memory Usage: Límite superior de uso de la memoria RAM de la máquina virtual.
• Memory Allocation: Límite de los recursos para la memoria.
• Memory Overhead: Cantidad de memoria usada por la máquina virtual por encima de las
necesidades del sistema operativo huésped en Bytes.
• Overall CPU Demand: Estadísticas básicas sobre el rendimiento de la CPU en Mhz.
• Overall CPU Usage: Estadísticas básicas sobre el uso de la CPU en Mhz.
• Power State: Estado actual de la energía de la máquina virtual.
• Private Memory: Cantidad de memoria en MB que se otorga a la máquina virtual de la
memoria no compartida.
• Shared Memory: Cantidad de memoria en MB que se otorga a la máquina virtual de la
memoria compartida.
• Tools Running Status: Estado actual de ejecución de VMware Tools instaladas en el sistema
operativo huésped.
• Trigger Alarm State: Estado de las alarmas de VMware.
• Uptime Seconds: Uptime de la máquina virtual en segundos.
• Virtual Image Path: Ruta del archivo de configuración de la máquina virtual (.vmx).
• Disk Read: Tasa de Kbps leidos del disco.
Page 8
15. 9.3. Registro del Recon Script
Ahora tenemos que registrar el Recon Script que realiza la búsqueda de host ESXi y máquinas
virutales. Para ello seleccionamos el submenú Manage recon script dentro del menú Manage
Servers.
Una vez que vemos la pantalla inicial del submenú Manage recon script pulsamos en el botón Add.
Después veremos la ventana para rellenar los datos del nuevo Recon Script, en la que rellenaremos
los datos de manera oportuna como el ejemplo que se ve en la siguiente imagen. En el campo Script
fullpath es necesario especificar el interprete o programa con el que se ejecutará el script (en
nuestro caso perl) y la ruta completa donde está situado el script. Una vez relleno el formulario
pulsamos en el botón Create.
Page 15
17. Después de pulsar en el botón Create aparecerá un formulario como el de la siguiente imagen. En el
rellenaremos los campos de forma apropiada. En el campo Mode es importante seleccionar la
opción Custom Script ya que nos permitirá seleccionar en el campo Recon Script el script que
registramos en el paso anterior (en nuestro caso VMware recon script).
Los campos Script field están reservados para los parámetros del script que hemos registrado. En
concreto el script para descubrimiento VMware necesita los siguientes campos obligatorios:
• server: IP del servidor donde está alojado el vCenter de VMware.
• username: Usuario para acceder al vCenter.
• password: Password para acceder al vCenter.
• datacenter: Nombre del datacenter a monitorizar.
• pluginname: Nombre con el que se registro el plugin VMware (en el registro automático
siempre es VMware Monitoring Plugin).
• pandoraconf: Path donde se encuentra el archivo de configuración de Pandora FMS.
• reconconf: Parámetro opcional que indica el path donde se encuentra el archivo de
configuración del Recon Script. Si no se especifica un archivo de configuración el script de
reconocimiento creará todos los módulos con los valores por defecto.
Si se quiere monitorizar diversos datacenter será necesario crear una Recon Task para cada uno de
ellos especificando el nombre del datacenter en el parámetro del script adecuado.
Por último pulsamos el botón Add para crear la nueva Recon Task.
Page 17
26. 12 CONFIGURACIÓN DEL RECON SCRIPT
Por defecto el Recon Script de VMware añade todos los chequeos explicados anteriormente. Para
poder escoger que chequeos se desean incluir y caules no se dispone el Recon Script puede leer su
configuración de un archivo. Para indicar al Recon Script cual es su archivo de configuración se
debe añadir a la llamada al Recon Script creada en Pandora FMS el parámetro reconconf
<path_file>.
12.1. Archivo de configuración del Recon Script
El archivo de configuración contiene modificaciones o restricciones a los módulos de Pandora FMS
que se crean por defecto. Por lo tanto, si un módulo no está presente en el archivo de configuración
se agregará con los valores por defecto.Con el archivo de configuración del Recon Script podemos
establecer valores máximo y mínimos para estados Warning y Critical o deshabilitar el módulo.
La estructura del archivo de configuración esta separda por tipos de entidades de la arquitectura
VMware (Datastores, ESXi y Máquinas Virtuales) como sigue:
#These lines are comments
#Datastore Modules
Datastore
capacity disabled
freeSpace name = Espacio Libre; desc = % Espacio libre datastore; limits = 70 90 91
100
#ESX Modules
ESX
uptime disabled
#VM Modules
VM
ipAddress disabled
macAddress disabled
maxCpuUsage name = Uso CPU; desc = Desc Uso CPU; limits = 60 70 71 100
Cada línea del archivo corresponde a las opciones disponibles para un módulo. Como se puede ver
hay dos posibles opciones:
• <modulo> disabled: El módulo NO se creará
• <modulo> name = <nombre>; desc = <descripcion>; limits = <min_warning>
<max_warning> <min_critical> <max_critical>: El módulo se creará con el nombre y la
descripción proporcionados y además se definirán los umbrales para los máximos y mínimos
de los valores Warning y Critical.
Es muy importante tener en cuenta la estructura de las líneas del archivo de configuración y
sobre todo ver que el caracter ; va pegado al nombre y la descripción del módulo. Estas dos líneas
NO SON EQUIVALENTES (veanse los espacios antes del caracter ; ):
Page 26
27. maxCpuUsage name = Uso CPU; desc = Desc Uso CPU; limits = 60 70 71 100
maxCpuUsage name = Uso CPU ; desc = Desc Uso CPU ; limits = 60 70 71 100
Los módulos están referenciados por su nombre corto, un nombre equivalente más sencillo de
escribir en la línea de comandos. La tabla de correspondencia entre nombres cortos y expandidos
está en la siguiente sección.
Analicemos el archivo de configuración de ejemplo:
Para los Datastores hemos decidido que le módulo Capacity no nos interesa y por ello ponemos la
opción disabled. Por otra parte el módulo Free Space se creará con los valores:
* Nombre: Espacio Libre
* Descripción: % Espacio libre datastore
* Min Warning: 70
* Max Warning: 90
* Min Critical: 91
* Max Critical: 100
Para monitorizar los ESXi hemos decidido deshabilitar el módulo Uptime porque no lo creemos
necesario. Los demás módulos disponibles se mostraran con los parámetros por defecto.
Para las máquinas virtuales hemos deshabilitado los módulos IP Address y MAC Address, además
hemos definido los parámetros para el módulo Max CPU Usage. Recordemos que los módulos no
deshabilitados se crearán con los valores por defecto.
NOTA: Todos los errores relativos al archivo de configuración son presentados como eventos en la
consola de Pandora FMS, por ello consultando el visor de eventos puede ver si ha ocurrido algún
problema al leer el archivo de configuración.
12.2. Ejemplos archivo configuración
12.2.1. Archivo con todos los módulos desactivados
#These lines are comments
#Datastore Modules
Datastore
capacity disabled
freeSpace disabled
overallocation disabled
#ESX Modules
ESX
bootTime disabled
cpuInfo disabled
memorySize disabled
overallCpuUsage disabled
overallMemoryUsage disabled
powerState disabled
Page 27
29. 12.3. Tabla de correspondencia de nombres cortos
12.3.1. Datastores
Nombre Expandido Nombre Corto
Capacity capacity
Free Space freeSpace
Disk Overallocation overallocation
12.3.2. ESX
Nombre Expandido Nombre Corto
Boot Time bootTime
CPU Info cpuInfo
Memory Size memorySize
Overall CPU Usage overallCpuUsage
Overall Memory Usage overallMemoryUsage
Power State powerState
SSL Thumbprint sslThumbprint
Uptime uptime
VNIC Info vnicInfo
Host Alive hostAlive
Connection State connectionState
Disk Read diskRead
Disk Write diskWrite
Disk Read Latency diskReadLatency
Disk Write Latency diskWriteLatency
Data received netReceived
Data transmitted netTransmitted
Packages Received netPkgRx
Packages Transmitted netPkgTx
CPU Status cpuStatus
Disk Status storageStatus
Mem Status memStatus
12.3.3. Máquinas Virtuales
Nombre Expandido Nombre Corto
Boot Time bootTime
Connection State connectionState
Consumed Overhead Memory consumedOverheadMemory
CPU Allocation cpuAllocation
Disk Free diskFree
Guest State guestState
Page 29
30. Host Info host
Host Alive hostAlive
Host Memory Usage hostMemoryUsage
Host Name hostName
IP Address ipAddress
MAC Address macAddress
Max CPU Usage maxCpuUsage
Max Memory Usage maxMemoryUsage
Memory Allocation memoryAllocation
Memory Overhead memoryOverhead
Overall CPU Demand overallCpuDemand
Overall CPU Usage overallCpuUsage
Power State powerState
Private Memory privateMemory
Shared Memory sharedMemory
Tools Running Status toolsRunningStatus
Trigger Alarm State triggeredAlarmState
Uptime Seconds uptimeSeconds
Virtual Image Path virtualImagePath
Disk Read diskRead
Disk Write diskWrite
Disk Read Latency diskReadLatency
Disk Write Latency diskWriteLatency
Data received netReceived
Data transmitted netTransmitted
Packages Received netPkgRx
Packages Transmitted netPkgTx
Page 30