Page tree
Skip to end of metadata
Go to start of metadata

Amazon EC2

Esta monitorización específica utiliza el CloudWatch API para monitorizar sus instancias en el servicio Amazon EC2.Necesita tener cloudwatch habilitado en su instancia. Puede obtener el plugin gratuito en la sección de la librería de módulos:

https://library.pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=214


La idea principal de este plugin de servidor remoto, es obtener información de sus instancias utilizando el servidor de plugin de Pandora FMS. Esto significa que necesitará registrar el plugin en el servidor, y configurar los diferentes módulos pra que recuperen la información de sus servidores EC2.

Este es un ejemplo de la ejecución:

/home/slerena/ec2_plugin.sh -A AKIAILTVCAS26GTKLD4A -S CgmQ6DxUWES05txju+alJLoM57acDudHogkLotWk -i i-9d0b4af1 -n AWS/EC2 -m CPUUtilization

Devolverá un % de valor numérico de la métrica "CPUUtilization" en la instancia i-9d0b4af1

Para la instalación necesitará:

1. Tener disponible JAVA en su servidor Pandora con su correspondiente directorio JAVAHOME.

2. Copiar este plugin a una ruta, y fijar los permisos en 755, y fijar la ruta base en la variable AWS_CLOUDWATCH_HOME que está presente en las primeras líneas del plugin. Necesita editar las primeras líneas del plugin.

El plugin tiene varios ficheros:

/ec2_plugin.sh - Plugin itself /bin/* - Componentes de Amazon CloudWatch (Monitoring) Command Line Tools, incluidos en este paquete. Estos scripts están distribuidos bajo la Licencia Apache

Ponga el paquete completo en un directorio accesible por el servidor, por ejemplo:

/usr/share/pandora_server/plugin/ec2 

Y fije el AWS_CLOUDWATCH_HOME en /usr/share/pandora_server/plugin/ec2

Si tiene dudas sobre si está correctamente instalado, ejecute directamente este comando:

/usr/share/pandora_server/plugin/ec2/mon-cmd --version 

Debería devolver algo similar a :

Amazon CloudWatch CLI version 1.0.9.5 (API 2010-08-01) 

Si obtiene la misma cadena, entonces ya está listo para utilizar el plugin.

Si no, probablemente necesitará instalar y configurar adecuadamente las herramientas de linea de comandos del Amazon CloudWatch (monitorizacion). Siga estos pasos para hacerlo:

Instalación

Requisitos:

  1. Asegúrese de que tiene instalada en su sistema la versión de Java 1.5 o superior: (java -version)
  2. Descomprima el fichero zip de despliegue.
  3. Fije las siguientes variables de entorno:
Unix: ls ${AWS_CLOUDWATCH_HOME}/bin (should list mon-list-metrics ...)
Windows: dir %AWS_CLOUDWATCH_HOME%\bin (should list mon-list-metrics ...)
${AWS_CLOUDWATCH_HOME}/bin
En  Windows:  %AWS_CLOUDWATCH_HOME%\bin a su ruta
  1. AWS_CLOUDWATCH_HOME - El directorio donde se copiaron los ficheros de despliegue para chequearlos con:
    1. JAVA_HOME - Directorio Home de la instalación de Java.
    2. Añada al Path lo siguiente

Configuración

Ponga sus credenciales AWS de usuario en la herramienta de linea de comandos. Existen dos maneras para proporcionar las credenciales:

  1. Las contraseñas AWS
  2. utilizando los certificados X.509

Utilización de Contraseñas AWS

  1. . Especifique de manera explícita las credenciales en la linea de comando: --I ACCESS_KEY --S SECRET_KEY
  2. . Crear un fichero de credencial. El despliegue incluye un fichero de plantilla:
 ${AWS_CLOUDWATCH_HOME}/credential-file-path.template.
  • Editar una copia de este fichero para añadir si información.
  • En UNIX, limitar los permisos para el propietario del fichero de credenciales:
$ chmod 600 <the file created above>.

Una vez creado el archivo, existen varias maneras para referenciarlo:

  • Fije la siguiente variable de entorno:
export AWS_CREDENTIAL_FILE=<archivo de credenciales>
  • También puede proporcionar la siguiente opción con cada comando
--aws-credential-file <archivo de credenciales>

Utilización de certificados X.509

1. Grabe su cerfificado y contraseñas privadas en los ficheros: e.g. my-cert.pem and my-pk.pem.

2. Existen dos modos de proporcionar la información certificada a la línea de comandos:

2.1. Fije las siguientes variables de entorno:

       EC2_CERT=/path/to/cert/file
EC2_PRIVATE_KEY=/path/to/key/file

2.2. Especifique los ficheros directamente en la línea de comandos para todos los comandos

       <command> --ec2-cert-file-path=/path/to/cert/file --ec2-private-key-file-path=/path/to/key/file

Instalación de las propiedades de JVM

Al fijar la variable de entorno SERVICE_JVM_ARGS, podrá pasar arbitrariamente las propiedades JVM a la línea de comando. Por ejemplo,la siguiente línea fija las propiedades en Linux/UNIX export SERVICE_JVM_ARGS="-Dhttp.proxyHost=http://my.proxy.com -Dhttp.proxyPort=8080"

Puesta en marcha

1. Compruebe que su instalación funcione correctamente, ejecute el siguiente comando:

  $ mon-cmd --help

Debería ver la página de uso para todos los comandos de monitorización

  $ mon-list-metrics --headers

Debería ver también una línea de cabecera. Si tiene alguna métrica definida, debería verla también.

VMware

Los entornos virtuales tienen una gran importancia en las arquitecturas IT de todas las empresas y por ello su monitorización es esencial. Con Pandora FMS Enterprise podrás tener acceso a VMware Monitoring Plugin un plugin que permite tener bajo control la arquitectura virtual VMware de forma sencilla.

Arquitectura VMware a monitorizar

Con este sistema se pueden monitorizar arquitecturas como la que se muestra en el siguiente esquema:


Entornos virtuales 01.png


Pandora FMS puede monitorizar VCenter, servidores ESXi, y los componentes que virtualizan: Datastores y Máquinas Virtuales. Pandora FMS se apoya en el API que proporciona el SDK de VMware para Perl para la recolección de datos.

Monitorización con VMware Monitoring Plugin

La monitorización de entornos virtualizados con VMware se basa en varios componentes:

  1. Un plugin encargado del descubrimiento de entidades presentes en el entorno y de la recolección de información para la monitorización de las mismas. Para versiones 5.0 o superiores de Pandora FMS el plugin actualiza ciertos parámetros de los agentes, necesarios para el uso de las extensiones. Además, puede realizar una copia de los eventos de vCenter de VMware a la consola de Pandora FMS.
  2. Una extensión de configuración básica para poder correr sin problemas desde la ISO (Enterprise) el plugin de VMware.
  3. Las extensiones de consola VMware View y VMware Manager permiten ver un mapa de las entidades VMware de una forma sencilla, así como monitorizar los consumos de recursos y gestionar máquinas virtuales.

Con este sistema obtenemos un agente por cada host ESXi, Datastore o máquina virtual encontrado, además de uno adicional para el Datacenter. Esto nos permitirá tratarlos como entidades independientes sin importar la relación que exista entre ellos dentro de la arquitectura de virtualización. Además cada agente tendrá los módulos correspondientes para su monitorización según el tipo de entidad VMware que represente. Si necesitáramos información más detallada acerca del sistema operativo de las máquinas virtuales o las aplicaciones que mueven, podremos instalar un agente de Pandora en ellas, y configurarlos para entregar toda la información en los mismos agentes ya descubiertos por el plugin de VMware.

Funcionamiento interno del plugin

Para versiones 5.0 o superiores el plugin realiza todas las funciones: auto-descubrimiento de entidades, recolección de información, copiado de eventos y configuración de custom fields.

Por cada entidad descubierta, el plugin envía un archivo XML al servidor de Pandora para ser procesado. Esta entidad se convertirá en un agente dentro de Pandora FMS en caso de no existir, o agregará la nueva información a uno existente.

Los eventos copiados a la consola aparecerán en la vista de eventos y será posible gestionarlos como los propios eventos generados por el sistema.

El plugin mantiene unos archivos auxiliares que contienen información relativa a la configuración de monitorización: logs, entidades monitorizadas, puntero para monitorización de eventos, etc.

Es importante que estos archivos no se borren ya que podría afectar al rendimiento de la monitorización

Requisitos del plugin

Los requisitos para el funcionamiento del plugin VMware son los siguientes:

  • Pandora FMS 4.0.3 o superior (Las extensiones sólo funcionan a partir de Pandora FMS 4.0.3 Parche 130310)
  • Agente de Pandora FMS instalado en la máquina.
  • Sistema Linux/Unix o Windows
  • Comando curl (para versiones de Pandora FMS 5.0 o superiores el agente de Windows incorpora el comando curl)
  • Comando ping
  • VMware vSphere SDK para Perl

Nota: En las últimas revisiones del plugin se ha sustituido curl por perl-LWP

Configuración del vCenter para la monitorización

El plugin hace uso de los contadores de rendimiento que proporciona el vCenter de VMware. La disponibilidad de estos contadores depende de los niveles configurados para recolección de estadísticas del vCenter.

Estos niveles se pueden cambiar en el menú vCenter Server Settings y en la opción Statistics. Para cada opción de tiempo y cada nivel obtendrá la descripción de los contadores que recolecta el vCenter. El nivel mínimo para monitorizar con el plugin de Pandora FMS es el Nivel 2.

Entornos virtuales 02.png


Dependiendo de la configuración del vCenter, es posible que algunos módulos no reporten datos en Pandora FMS. Esto puede ser porque falte instalar algún plugin en el vCenter, sea necesario instalar un agente VMware en la entidad o simplemente porque la entidad esté apagada (máquina virtual o ESXi). Para solucionar estos problemas deberá consultar la documentación de VMware.

Algunas soluciones, como por ejemplo la monitorización del estado del hardware (Hardware Status), podrían requerir una configuración avanzada tanto del vCenter como de los host que soportan los ESX.


Despliegue del plugin de VMware

En la imagen ISO de Pandora FMS el plugin de VMware, junto con las extensiones, viene preinstalado. Si requiere desplegar o actualizar su versión del plugin de VMware por una más reciente, por favor siga los pasos descritos en los puntos siguientes:


Instalación de extensiones VMware Manager, VMware View y VMware Manager

Para instalar las extensiones simplemente debe copiar el contenido de la carpeta extensions que encontrará al descomprimir el plugin en la carpeta Extensions de la parte Enterprise de la consola de Pandora FMS, los comandos a ejecutar son los siguientes:

cp -R extensions/* <pandora_console_dir>/enterprise/extensions/

Desde ese momento ya estarán las extensiones del plugin VMware.

Para usar la extensión VMware Manager es necesario instalar el SDK de VMware para Perl en la máquina donde está encuentra la consola de Pandora FMS


Despliegue manual del plugin

1. Acceder al directorio en el que se han extraído los ficheros del plugin VMWare

2. Copiar los ficheros de extensión a la carpeta pandora_console/enterprise/extensions/

sudo -u apache cp -R extensions/vmware* /var/www/html/pandora_console/enterprise/extensions/

3. Copia vmware-plugin.{pl,conf} al directorio correspondiente

sudo cp vmware-plugin.pl vmware-plugin.conf /usr/share/pandora_server/util/plugin/
sudo chown pandora:apache /usr/share/pandora_server/util/plugin/vmware-plugin.{pl,conf}
sudo chmod g+w /usr/share/pandora_server/util/plugin/vmware-plugin.conf

4. Verifique los datos necesarios para configurar el plugin.

En el menú "Configuración" de la consola de Pandora puede asignar una contraseña a la API así como los orígenes permitidos.

Entornos virtuales 03.JPG


5. Edite el fichero de configuración vmware-plugin.conf

6. Verifique la disponibilidad de VMware SDK for Perl

Puede lanzar un script con el siguiente contenido para validar su instalación de VMware SDK Perl

#!/usr/bin/perl

use strict;
use warnings;

use VMware::VIRuntime;

print "VMware SDK Version: " . $VMware::VIRuntime::VERSION . "\n";

Ejecute el script:

perl check_vmware.pl

La salida debe ser similar la siguiente:

VMware SDK Version: 6.5.0

Verifique que la versión del SDK es mayor o igual que la versión de sus productos VMware.

A partir de la versión 717 de Pandora FMS también necesitará instalar la librería perl PluginTools.pm, (disponible junto con el servidor en /usr/lib/perl5/PandoraFMS) en el equipo donde quiera desplegarlo (copiar a /usr/lib/perl5/PandoraFMS en el equipo que vaya a ejecutar el plugin).


Instalación de VMware vSphere SDK para Perl

La url del centro de descargas para el software VMware requerido es:

https://my.vmware.com/web/vmware/details?downloadGroup=VS-PERL-SDK65&productId=614

Si ha instalado Pandora FMS utilizando el appliance (ISO Centos) no es necesario instalar software adicional siempre y cuando la versión a monitorizar de VMware sea inferior a 6.5.


Instalación SDK Linux

Las versiones del SDK probadas con este proceso de instalación han sido la 4.1, 5.1, 6.0, 6.5

Se recomienda el uso del SDK acordes a los componentes VMware instalados

Primero descomprimiremos el SDK con el siguiente comando:

# tar -xzvf VMware-vSphere-Perl-SDK-x.x.x-xxxxxx.i386.tar.gz

Ahora compilaremos e instalaremos el SDK con los siguientes comandos:

# perl Makefile.PL
# make
# make install

Si la instalación fue correcta y no se mostró ningún error podrá conectar con el vCenter con el siguiente comando:

# /usr/lib/vmware-viperl/apps/general/connect.pl --server <vcenter_ip> --username <vcenter_user> --password <vcenter_pass>

La respuesta debería ser similar a la que aparece a continuación:

Connection Successful
Server Time : 2013-02-21T16:24:05.213672Z


Actualización SDK a 6.5 desde otras versiones

Si está realizando una actualización del SDK de VMware, recomendamos seguir los siguientes pasos:

# Instalar las herramientas para desarrolladores
yum groupinstall "Developer Tools"
# Instalar CPAN
yum install perl-CPAN
# Instalar algunas dependencias
yum install openssl-devel perl-Class-MethodMaker
# Descomprimir los archivos de instalación de VMware SDK Perl
tar xvzf VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.tar.gz
# Acceder al directorio
cd vmware-vsphere-cli-distrib
# Lanzar instalador
./vmware-install.pl


Durante la instalación:

  • Acepte la licencia.
  • Indique no utilizar los módulos preconstruidos para VMware SDK.
  • Acepte la instalación automática de los módulos a través del sistema automatizado por CPAN.
  • Verifique que todos los requisitos se han instalado correctamente.
  • Indique el directorio donde se deberán instalar los módulos de VMware SDK Perl

Nota: En ocasiones el paquete perl UUID puede generar errores al instalarse en CentOS 7, realice los pasos siguientes para agregar el componente:

# Instale las dependencias necesarias para UUID-0.03
yum install libuuid-devel perl-JSON-PP
# Descargue el paquete de código de http://search.cpan.org/~cfaber/UUID-0.03/UUID.pm
wget http://search.cpan.org/CPAN/authors/id/C/CF/CFABER/UUID-0.03.tar.gz
# Descomprima el fichero y acceda al directorio
tar xvzf UUID-0.03.tar.gz
cd UUID-0.03
# Genere los archivos necesarios para la compilación del módulo Perl
perl Makefile.PL
# Compile el módulo Perl
make
# Deberá recibir una respuesta similar a Manifying blib/man3/UUID.3pm
# Instale el nuevo módulo compilado
make install


Una vez instalados los módulos pendientes vuelva a ejecutar el proceso de instalación de VMware SDK Perl

./vmware-install.pl


Por desgracia, el desinstalador de VMware no elimina completamente las librerías de módulos VMware previas. Deberemos realizar este paso manualmente:

Verifique que las librerías se han instalado correctamente en/usr/lib/vmware-vcli/VMware/share/ antes de continuar

# Limpiar librerías antiguas
rm -rf /usr/share/perl5/vendor_perl/VMware
rm -rf /usr/share/perl5/VMware
# Agregar las nuevas librerías VMware
cp -R /usr/lib/vmware-vcli/VMware/share/VMware /usr/share/perl5/vendor_perl/

Una vez hecho esto puede lanzar un script con el siguiente contenido para validar su instalación de VMware SDK Perl

#!/usr/bin/perl

use strict;
use warnings;

use VMware::VIRuntime;

print "VMware SDK Version: " . $VMware::VIRuntime::VERSION . "\n";

Ejecute el script:

perl check_vmware.pl

La salida debe ser la siguiente:

VMware SDK Version: 6.5.0

Si la salida es diferente por favor, verifique que ha seguido todos los pasos correctamente o póngase en contacto con soporte en https://support.artica.es

Instalación SDK sobre Windows

La versión de PERL que se distribuye con el vSphere SDK no funciona con las librerías de VMware para PERL. Para solucionar este problema siga los siguientes pasos:

  • Instale el VMware vSphere SDK.
  • Instale Strawberry PERL versión 5.12 de http://strawberryperl.com/releases.html.
  • Copie el directorio C:\Archivos de Programa\VMware\VMware vSphere CLI\Perl\lib\VMware a C:\strawberry\perl\lib.
  • Desinstale el VMware vSphere SDK.



Configuración del plugin

Puede configurar el plugin de VMware manualmente o utilizando la extensión para consola disponible junto con los archivos descargables del plugin de VMware.


Configurando el plugin manualmente

El archivo de configuración del plugin de monitorización de entornos VMware contiene los siguientes elementos generales.

Recomendamos utilizar la extensión disponible en su consola de Pandora FMS para administrar las múltiples configuraciones del plugin de VMware.

Puede editar manualmente el fichero de configuración, recuerde que las lineas que empiezan por '#' serán interpretadas como comentarios.

server FQDN o IP del servidor VMware a monitorizar user usuario con permisos en vCenter pass contraseña del usuario datacenter Nombre del datacenter (por defecto: ha-datacenter) temporal Directorio de trabajo temporal, por defecto: /tmp logfile Archivo de log, por defecto /tmp/vmware_plugin.log entities_list Archivo de entidades a monitorizar, por defecto /tmp/vmware_entitites_list.txt transfer_mode Modo de transferencia de XML a Pandora, por defecto local tentacle_ip Dirección del servidor de Pandora FMS, por defecto 127.0.0.1 tentacle_port Puerto para comunicaciones Tentacle, por defecto 41121 tentacle_opts Opciones extra para Tentacle remoto local_folder En transferencia local, carpeta de destino para los XML de informe /var/spool/pandora/data_in pandora_url Dirección web de la consola de Pandora FMS, por defecto http://127.0.0.1/pandora_console api_pass Contraseña de la API de la consola de Pandora FMS api_user Usuario con acceso a la API de Pandora FMS api_user_pass Contraseña del usuario con acceso a la API retry_send Reintentar (1) o no (0) el envío de XML en caso de error (similar a buffer_xml) event_mode Recuperar información (1) de eventos de VMware o no (0) event_pointer_file Archivo de índices auxiliar para eventos VMware, por defecto /tmp/vmware_events_pointer.txt verbosity Nivel de debug (recomendado 1) threads Número máximo de hilos a utilizar (recomendado 4) interval Intervalo en segundos de los agentes y módulos que se generarán (ajustar conforme a la frecuencia de ejecución del plugin) group Servers Grupo de destino de los agentes generados por el plugin

Server, datacenter, user, pass e interval pueden ser ajustados desde la consola de Pandora

Si está usando Pandora FMS 5.0 o una versión superior y desea usar las extensiones del plugin o la monitorización de eventos, deberá configurar correctamente el API de Pandora FMS. Para ello deberá añadir una contraseña del API y dar acceso a las direcciones pertinentes en la lista de acceso al API. Estos campos se definen en la configuración general de la consola de Pandora FMS

Configurando el plugin con la extensión de consola

Esta extensión viene instalada por defecto en la ISO Enterprise a partir de la versión 5.1.}}

A partir de la versión 7.0 717 se incluye la posibilidad de administrar múltiples instancias del plugin así como mapas dinámicos y mejoras en la interfaz.

Con la extensión de VMware podemos configurar directamente desde la consola de Pandora la ejecución del plugin VMware. Aparecerá en Setup > VMware.


Entornos virtuales 04.png


Dentro de la misma deberemos configurar la ruta del plugin. Se efectuará una validación de la ruta que indiquemos.


Entornos virtuales 05.png


Podemos agregar un nuevo fichero de configuración pulsando "Crear nuevo fichero", acción que nos mostrará un formulario donde podremos configurar la nueva instancia de ejecución del plugin de Pandora FMS para VMware:


Entornos virtuales 06.png


Nota: Debido a que se permiten múltiples configuraciones, deberá especificar un nombre para su configuración. Este nombre es simplemente una etiqueta identificativa de la configuración.

Puede automatizar la ejecución del plugin utilizando la extensión cron de Pandora FMS. La ejecución del plugin se añadirá como una nueva tarea programada en la consola de Pandora FMS, con la periodicidad seleccionada.


Entornos virtuales 07.png



La ejecución de la extensión cron de Pandora es requisito imprescindible, añadida dentro del fichero /etc/crontab, y configurada de la siguiente manera:

*/1 * * * * root wget -q -O http//localhost/pandora_console/enterprise/extensions/cron/cron.php >> /var/www/html/pandora_console/pandora_console.log


Esta extensión requiere versiones de Pandora FMS iguales o superiores a 5.1 instalada para que sea compatible la ejecución de la cron job de Pandora con un intervalo de un minuto, sin este requisito la extensión no funcionará correctamente


Una vez configurado el plugin se añadirá una nueva tarea, dentro de las tareas programadas con la siguiente configuración:



Estas tareas programadas SOLO se pueden administrar desde la extensión VMware Settings, cualquier configuración que se realice sobre la misma dentro de las tareas programadas, provocará un mal funcionamiento en el plugin.

Nota: Si obtiene un resultado diferente al indicado tras acceder a la administración del plugin de VMware, verifique que el usuario que lanza el servidor web (por defecto apache) tiene permisos de lectura y escritura sobre los archivos de configuración.


Ejecución del plugin VMware

Puede elegir diferentes formas de ejecutar el plugin de VMware:


Programar la ejecución desde el agente de Pandora FMS

Utilizar el agente de Pandora FMS:

Copiar vmware-plugin.{pl,conf} en un punto accesible por el agente de Pandora FMS:

 sudo cp /usr/share/pandora_server/util/plugin/vmware-plugin.{pl,conf} /etc/pandora/plugins/

No hay un fichero de configuración vmware-plugin-events.conf en el .tar pero puede crearlo copiando vmware-plugin.conf y modificando 'event_mode' a 1 manualmente.

Ahora hay que añadir un nuevo módulo de tipo plugin al archivo de configuración del agente, con la siguiente línea:

module_plugin perl /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin.conf

Si además queremos realizar el copiado de los eventos debemos crear otro módulo plugin con un archivo de configuración diferente que habilite la copia de eventos. La sintaxis sería la siguiente:

module_plugin perl /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-events.conf

En sistemas Windows será necesario especificar el intérprete usado. El comando sería:

module_plugin perl "C:\Program Files\pandora_agent\util\vmware-plugin.pl" "C:\Program Files\pandora_agent\util\vmware-plugin.conf"

En las siguientes secciones se explica en detalle los parámetros del archivo de configuración del plugin.

El plugin de VMware requiere mucho tiempo de ejecución debido al uso de una API SOAP pesada. Por ello en sistemas con gran cantidad de entidades a monitorizar podría ser necesario distribuir la carga entre varios agentes software de Pandora FMS o elegir otro modo de programación. Toda la información al respecto está en las siguientes secciones

Programar la ejecución desde el cron de sistema

Puede programar la ejecución del plugin desde el propio cron de sistema. Recuerde que el valor de intervalo de los elementos generados (interval en la configuración) y la periodicidad de ejecución deben ser coherentes:

# Entrada a agregar a crontab, configure un intervalo de 600 para utilizar esta configuración
*/10 * * * * root perl /usr/share/pandora_server/util/plugin/vmware-plugin.pl /usr/share/pandora_server/util/plugin/vmware-plugin.conf

Monitorización de la arquitectura virtual VMware

Para ver el resultado de la ejecución del plugin sólo tenemos que acceder al submenú Agent Detail dentro del menú Views.

Entornos virtuales 09.png



En esta vista aparecerán los agentes creados por el plugin junto con los demás agentes de Pandora FMS.

Entornos virtuales 10.jpg



Si pulsamos en el nombre de un agente veremos la vista de agente de Pandora FMS donde aparecerán los módulos monitorizados por el plugin VMware.

Entornos virtuales 11.jpg



Por defecto el plugin despliega una monitorización básica para cada uno de los elementos VMware. La configuración por defecto para las diferentes entidades es la siguiente:

Monitorización por defecto para Datacenter

  • Ping
  • Check 443 port

Monitorización por defecto para Datastore

  • Capacity
  • Free Space
  • Disk Overallocation
  • Free Space Bytes

Monitorización por defecto defecto para ESXi

  • CPU Usage
  • Memory Usage
  • Data received
  • Data transmitted
  • Disk Read Latency
  • Disk Write Latency
  • Host Alive
  • Disk Rate
  • Net Usage

Monitorización por defecto para máquinas virtuales

  • CPU Usage
  • Memory Usage
  • Tools Running Status
  • Host Alive
  • Disk Free
  • Disk Read Latency
  • Disk Write Latency
  • Data received
  • Data transmitted
  • Net Usage

En la siguiente sección se explican con detalle todos los módulos disponibles y la información que reporta cada módulo

Módulos de agentes de la arquitectura virtual VMware

Algunos módulos podrían no estar disponibles dependiendo de la versión de VMware y de la configuración del entorno, en las siguientes tablas se describen los diferentes módulos disponibles y sus características de disponibilidad.


El plugin permite configurar Performance Counters personalizados para los hosts ESX y máquinas virtuales. Podrá ver cómo hacerlo en la sección que detalla el contenido del archivo de configuración

Módulos para agentes del tipo Datacenter

MóduloDescripciónVersión APIDisponibilidad
PingChequeo ping a la máquina que soporta el vCenterTodasSiempre
Check 443 portChequeo al puerto 443 de la máquina que soporta el vCenterTodasSiempre

Módulos para agentes del tipo Datastore

MóduloDescripciónVersión APIDisponibilidad
CapacityCapacidad máxima del Datastore en bytesTodasSiempre
Free SpacePorcentaje de espacio libre del DatastoreTodasSiempre
Disk OverallocationPorcentaje de sobre asignación del disco≥v4.0Siempre
Free Space BytesCantidad de espacio libre en bytesTodasSiempre

Módulos para agentes del tipo host ESXi

MóduloDescripciónVersión APIDisponibilidad
Boot TimeÚltima fecha en la que se encendió el hostTodasSiempre
CPU Info [x]Información general de la CPU (Se crea un módulo por CPU del ESXi)TodasSi conectado
Memory SizeCantidad total de memoria física del host en BytesTodasSi conectado
Overall CPU UsageSuma del uso de todas las CPUs en MhzTodasSi conectado
Overall Memory UsageOverall Memory Usage of VMware HostsTodasSi conectado
Power StateEstado de la energía del host≥v2.5Siempre
SSL ThumbprintHuella SSL del host≥v4.0Si configurado
UptimeUptime del host en segundos≥v4.1Si conectado
VNIC Info [x]Información sobre interfaces de red virtuales del hostTodasSi conectado y configurado
Host AliveMódulo que vale 1 si el ESX está conectada y 0 en caso contrarioTodasSiempre
Connection StateEstado de la conexión del hostTodasSiempre
Disk ReadTasa de Kbps leidos del discoTodasNivel stats ≥2
Disk WriteTasa de Kbps escritos del discoTodasNivel stats ≥2
Disk Read LatencyLatencia de lectura del disco en milisegundosTodasNivel stats ≥2
Disk Write LatencyLatencia de escritura del disco en milisegundosTodasNivel stats ≥2
Data receivedTasa de Kbps recibidos del hostTodasNivel stats ≥2
Data transmittedTasa de Kbps enviados del hostTodasNivel stats ≥2
Packages ReceivedNúmero de paquetes recibidos en el intervaloTodasNivel stats ≥2
Packages TransmittedNúmero de paquetes enviados en el intervaloTodasNivel stats ≥2
CPU UsagePorcentaje de uso de CPUTodasNivel stats ≥2
Memory UsagePorcentaje de uso de la memoria RAMTodasNivel stats ≥2
Net UsageDatos de red recibidos y enviados de todas las NICsTodasNivel stats ≥2
Disk RateTasa I/O agredada en KB/segTodasNivel stats ≥2
Max. Disk LatencyLatencia máxima de todos los discosTodasNivel stats ≥2
HA StatusEstado HA del host≥v5.0Si configurado
Sensor*Estado de los sensores de hardware (un módulo por sensor)TodasESXi >= 3.5

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

MóduloDescripciónVersión APIDisponibilidad
Boot TimeÚltima fecha en la que se encendió la máquina virtualTodasSi conectado
Connection StateEstado de la conexiónTodasSiempre
Consumed Overhead MemoryCantidad de memoria consumida por la máquina virtual en MB≥v4.0Si configurado
CPU AllocationInformación sobre los recursos asignados a la CPU de la máquina virtualTodasSi configurado
Disk Free [x]Porcentaje libre del disco de la máquina virtual. (Habrá un módulo por cada disco que contenga la máquina virtual)TodasSi configurado
Guest StateModo de operación del sistema operativo huéspedTodasSi configurado
Host InfoInformación sobre el host VMwareTodasSi configurado
Host AliveMódulo que vale 1 si la máquina virtual está en ejecución y 0 en caso contrarioTodasSiempre
Host Memory UsageMemoria consumida por la máquina virtual en MBTodasSi conectado
Host NameNombre del host asociadoTodasSi configurado
IP Address [x]Dirección IP de la máquina. (Aparecerá una por interfaz de red disponible)≥v4.1Si configurado
MAC Address [x]Dirección MAC de la máquina. (Aparecerá una por interfaz de red disponible)TodasSi configurado
Max CPU UsageLímite superior de uso de la CPU de la máquina virtualTodasSi conectado
Max Memory UsageLímite superior de uso de la memoria RAM de la máquina virtualTodasSi conectado
Memory AllocationLímite de los recursos para la memoriaTodasSi configurado
Memory OverheadCantidad de memoria usada por la máquina virtual por encima de las necesidades del sistema operativo huésped en BytesTodasSi configurado
Overall CPU DemandEstadísticas básicas sobre el rendimiento de la CPU en Mhz≥v4.0Si conectado
Overall CPU UsageEstadísticas básicas sobre el uso de la CPU en MhzTodasSi conectado
Power StateEstado actual de la máquina virtualTodasSiempre
Private MemoryCantidad de memoria en MB que se otorga a la máquina virtual de la memoria no compartida≥v4.0Si conectado
Shared MemoryCantidad de memoria en MB que se otorga a la máquina virtual de la memoria compartida≥v4.0Si conectado
Tools Running StatusEstado actual de ejecución de VMware Tools instaladas en el sistema operativo huésped≥v4.0Si configurado
Trigger Alarm StateEstado de las alarmas de VMwareTodasSi configurado
Uptime SecondsUptime de la máquina virtual en segundos≥v4.1Si conectado
Virtual Image PathRuta del archivo de configuración de la máquina virtual (.vmx)TodasSiempre
Disk ReadTasa de Kbps leidos del discoTodasNivel stats ≥2
Disk WriteTasa de Kbps escritos del discoTodasNivel stats ≥2
Disk Read LatencyLatencia de lectura del disco en milisegundosTodasNivel stats ≥2
Disk Write LatencyLatencia de escritura del disco en milisegundosTodasNivel stats ≥2
Data receivedTasa de Kbps recibidos del hostTodasNivel stats ≥2
Data transmittedTasa de Kbps enviados del hostTodasNivel stats ≥2
Packages ReceivedNúmero de paquetes recibidos en el intervaloTodasNivel stats ≥2
Packages TransmittedNúmero de paquetes enviados en el intervaloTodasNivel stats ≥2
CPU UsagePorcentaje de uso de CPUTodasNivel stats ≥2
Memory UsagePorcentaje de uso de la memoria RAMTodasNivel stats ≥2
Net UsageDatos de red recibidos y enviados de todas las NICsTodasNivel stats ≥2
Disk RateTasa I/O agredada en KB/segTodasNivel stats ≥2
Max. Disk LatencyLatencia máxima de todos los discosTodasNivel stats ≥2
HeartBeatNúmero de heartbeats de la máquina virtualTodasNivel stats ≥2
CPU ReadyPorcentaje de tiempo que la máquina está en lista, pero no encolada para ejecutarse en la CPU físicaTodasNivel stats ≥2
Number SnapshotsNúmero de snapshots para la máquina virtual (Este módulo puede afectar al rendimiento de la monitorización', por ello se recomienda ejecutarlo con un valor de intervalo alto, por ejemplo cada hora)TodasSi configurado
HA StatusEstado HA para la máquina virtual≥v5.0Si configurado


Algunos módulos requieren tener instalado las VMware tools

Monitorización de eventos VMware

Esta funcionalidad realiza una copia de los eventos presentes en el vCenter de VMware a la lista de eventos de Pandora FMS.

Estos eventos pasan a formar parte del flujo de eventos normales de Pandora FMS y quedan asociados de forma automática al agente que representa el vCenter del que provienen (si el agente existe en el momento de creación del evento).

Entornos virtuales 12.png



En el proceso de volcado de eventos se respeta la información y severidad que VMware indica en la creación del evento, de tal forma que los eventos con un nivel de severidad crítico, advertencia o informativo conservaran estos niveles en Pandora. La siguiente imagen muestra un ejemplo de la información detallada de un evento volcado de VMware a Pandora FMS.

Entornos virtuales 13.png



Con todos los eventos presentes en Pandora FMS podrá realizar todas las acciones disponibles para la gestión de eventos como por ejemplo: creación de alertas, configuración de filtros, apertura de incidencias, etc.

Gestión y visualización de la arquitectura virtual VMware

Junto con el plugin VMware se distribuyen dos extensiones VMware Manager y VMware View. VMware View permite visualizar todos los componentes de la arquitectura VMware de una forma cómoda, además con VMware Manager podrá gestionar máquinas virtuales parando, arrancando, reseteando o suspendiendo su actividad desde la consola de Pandora FMS. Estas extensiones son opcionales y sólo funcionan con versiones de Pandora FMS 4.0 o superior.
A partir de la versión 4.1 del plugin, estas extensiones estan englobadas en una única extensión que a su vez se divide en las 2 citadas anteriormente, y una última extensión de configuración del plugin VMware Settings. Esta última extensión es compatible únicamente a partir de la versión 5.1 de Pandora FMS.


Usando la extensión VMware View

Para comenzar a usar el visor de arquitecturas VMware haga click en el submenú VMware View dentro del menú Monitoring.


Entornos virtuales 14.png


La extensión VMware View le mostrará un mapa similar al de abajo con toda la arquitectura VMware.


Entornos virtuales 15.png


El mapa contiene los elementos de la arquitectura VMware (máquinas virtuales, ESX, Datastores y Datacenters) con diferentes iconos que los identifican así como el estado de los agentes de Pandora FMS que representan cada elemento. Además se muestra la relación que existe entre máquinas virtuales, ESX y DataCenter. De esta manera de un vistazo se puede ver el estado de la arquitectura VMware de un forma muy sencilla.

Esta extensión tiene unas opciones que ayudan a mejorar la visualización de la arquitectura ocultando elementos, aumentando el tamaño de letra y permitiendo hacer zoom para poder ver los elementos más de cerca.

Entornos virtuales 16.png



Usando las opciones anteriores podríamos ver sólo los Datacenter y los ESX con un tamaño de fuente 14 y con un zoom de 2x


Entornos virtuales 17.png


VMware View Dashboards (version 5.0 o superior)

Para versiones de Pandora FMS 5.0 o superior la extensión VMware View aporta dos vistas adicionales además de la vista de mapa topológico de la arquitectura virtual. Los nuevos tabs permiten cambiar entre las diferentes vistas de la extensión VMware View.


Entornos virtuales 18.png


La primera vista es un dashboard general en el que podrá ver de un vistazo el estado general de la arquitectura virtual en números, es decir, cuántas máquinas virtuales, host ESXi o datastores tienen problemas. Además podrá ver parámetros de rendimiento generales gracias a las gráficas que muestran las 5 máquinas virtuales que más memoria, CPU, disco y red consumen de toda la arquitectura virtual.


Entornos virtuales 19.png


La segunda vista permite ver los parámetros de rendimiento de cada host ESX. En esta vista podrá escoger un host ESX para el que se cargará un cuadro de mando en el que se mostrará el estado del host y de las máquinas virtuales, así como unas métricas de rendimiento relativas al uso de CPU, memoria, disco y red del host ESXi. Además esta vista también ofrece unas gráficas que muestran las máquinas virtuales que más recursos (CPU, memoria, disco y red) consumen del host seleccionado.


Entornos virtuales 20.png


Usando la extensión VMware Manager

Para usar la extensión VMware Manager debe ir a la vista de operación de un agente que se corresponda con una máquina virtual en la arquitectura VMware. Dentro de esta vista podrá ver un icono con el símbolo de VMware que corresponde a la extensión.


Entornos virtuales 21.png


La extensión VMware Manager permite gestionar máquinas virtuales desde la consola de Pandora FMS. La extensión muestra el estado actual de la máquina virtual con un código de colores (verde = encendida, naranja = suspendida y gris = parada), además en un combo muestra los estados disponibles y permite cambiar el estado de la máquina virtual al seleccionado pulsando el botón Change Status.


Entornos virtuales 22.png


Con esta extensión podríamos parar una máquina virtual que está encendida seleccionando el estado Stop como en la siguiente imagen:


Entornos virtuales 23.png


Lo que provocaría que la máquina se parase y la vista de la extensión VMware Manage cambiara mostrando que la máquina ahora está parada como se ve en la siguiente imagen:


Entornos virtuales 24.png


Esta extensión requiere la instalación del SDK de VMware para Perl en la misma máquina que soporta la consola de Pandora, sin este requisito la extensión no funcionará

Configuración del plugin

Por defecto el plugin de VMware descubre todas las entidades y añade los chequeos por defecto. Mediante el archivo de configuración podrá configurar la monitorización y escoger qué variables desea monitorizar.

El archivo de configuración contiene toda la información necesaria para realizar la monitorización agrupada las siguientes secciones: Configuration, Rename, Reject, Datacenter, Datastore, ESX, VM. A continuación se explica cada sección y sus posibles configuraciones.


Todos los errores relativos al archivo de configuración son presentados en el log de errores del servidor de Pandora y además en el visor de eventos de la consola de Pandora. Por ello, podrá ver si existe cualquier con el archivo de configuración consultando cualquiera de estas dos fuentes

Archivo de configuración

Configuración global

La configuración general está definida por el token Configuration y contiene los siguientes parámetros:

  • server: IP del vCenter.
  • user: usuario del vCenter.
  • pass: contraseña de acceso al vCenter.
  • datacenter: datacenter a monitorizar.
  • temporal: directorio temporal.
  • logfile: ubicación del fichero de log.
  • entities_list: ubicación del fichero que contiene la lista de entidades que son monitorizadas.
  • transfer_mode: modo de transferencia para los XMLs, puede ser tentacle o local.
    • tentacle: envía los archivos XMLs al servidor de Pandora usando el protocolo Tentacle.
    • local: copia los archivos a una carpeta local, el agente debe ejecutarse en la misma máquina donde se encuentra la carpeta local..
  • tentacle_ip: IP del servidor de Pandora al que enviar la información.
  • tentacle_port: puerto del servidor de Pandora al que enviar la información (por defecto 41121).
  • tentacle_opts: opciones adicionales para el envío con tentacle (por defecto ninguna).
  • local_folder: directorio destino para realizar la copia de XMLs con el modo local activado.
  • pandora_url: url de la consola de Pandora (por ejemplo: http://192.168.70.81/pandora_console).
  • api_pass: password de la API de la consola de Pandora.
  • api_user: usuario de la consola de Pandora.
  • api_user_pass: password del usuario de la consola de Pandora.
  • retry_send: Activa (1) o desactiva (0) el reenvío de ficheros .data en el directorio temporal
  • event_mode: flag que activa el modo de recolección de eventos. Si vale 1 está activado, si vale 0 desactivado.
  • event_pointer_file: ubicación del archivo temporal que guarda el puntero para recolección de eventos.
  • verbosity: Nivel de log (0 sólo errores que impiden el funcionamiento del plugin, 1 todos los errores).
  • threads: Número de hilos del plugin. (Por defecto 1).
  • interval: Intervalo de los agentes que representan las entidades VMware.

Un ejemplo de esta sección en el archivo de configuración podría ser la siguiente:

Configuration
server 192.168.70.249
user Administrator
pass S1stemas
datacenter artica
temporal /tmp
logfile /tmp/vmware_plugin.log
entities_list /tmp/vmware_entities_list.txt
transfer_mode tentacle
tentacle_ip 192.168.70.81
tentacle_port 41121
tentacle_opts
local_folder /var/spool/pandora/data_in
pandora_url http://192.168.70.81/pandora_console
api_pass 1234
api_user admin
api_user_pass pandora
event_mode 0
event_pointer_file /tmp/vmware_events_pointer.txt


Si está usando el plugin en sistemas Windows será necesario cambiar todas las rutas de los archivos por rutas compatibles con Windows

Renombrado de entidades

El renombrado de entidades se realiza usando el token Rename y permite cambiar el nombre a las entidades descubiertas por el plugin. Usando esta funcionalidad los agentes creados en Pandora aparecerán con el nuevo nombre asignado. La estructura de esta sección es la siguiente:

<nombre actual> TO <nombre nuevo>

Un ejemplo de configuración de esta sección podría ser el siguiente:

#Rename entities
Rename
Debian 11 TO Virtual Machine 1
RedHat 12 TO Web server 
ESX Workstation TO Host Work Sales
Descarte de entidades

El plugin permite realizar un descarte de entidades por tipo o de forma individual, a continuación se explican ambas opciones.

El descarte de tipos de entidades se realiza usando el token Reject. En esta sección podrá descartar las entidades según su tipo, por ejemplo todas las máquinas virtuales o todos los hosts ESX. Los posibles valores que puede tomar esta sección son los siguientes: all_datastore, all_datacenter, all_esx, all_vm.

Una configuración de esta sección que descarta todas las entidades sería la siguiente:

#Dismissed entities
Reject
all_datastore
all_datacenter
all_esx
all_vm

Para realizar un descarte de entidades de forma individual será necesario borrarlas del archivo de entidades creado por el plugin. El plugin crea este archivo en la ubicación indicada en el parámetro entities_list (por defecto /tmp/vmware_entities_list.txt). El plugin rellena el contenido de este archivo con la primera ejecución, o siempre que no exista, creando una lista con todas las entidades descubiertas. Un ejemplo de archivo podría ser el siguiente:

Datacenter
artica
Datastore
datastore_1
datastore2
ESX
192.168.70.252
VM
Pandora FMS 4.0.3
Debian2
Debian3
Debian4
Redhat
debian5
Debian6
Debian8
Debian7
Debian11
Debian10
Debian9
NSM
Pandora
vcenter
suse11.2

El archivo de configuración se divide en varios tokens: Datacenter, Datastore, ESX y VM donde se listan las diferentes entidades. Una vez que este creado el archivo de configuración el plugin leerá de este archivo las entidades a monitorizar. Para descartar una entidad sólo tiene que borrarla de este fichero. Si por ejemplo no quisiera monitorizar las entidades: Debian2, datastore2, NSM, suse11.2 y 192.168.70.252, el archivo de configuración quedaría así:

Datacenter
artica
Datastore
datastore_1
ESX
VM
Pandora FMS 4.0.3
Debian3
Debian4
Redhat
debian5
Debian6
Debian8
Debian7
Debian11
Debian10
Debian9
Pandora
vcenter

Esta funcionalidad permite realizar una distribución de la carga de monitorización limitando el número de entidades monitorizadas en cada ejecución del plugin. Más adelante se explican varias técnicas de distribución de carga.

Configuración de monitorización

Las siguientes secciones del archivo configuran los módulos creados para cada tipo de entidad. Las secciones usan los token Datacenter, Datastore, ESX, VM. En estas secciones podrá habilitar/deshabilitar los módulos a monitorizar, en el siguiente ejemplo hemos realizamos una configuración seleccionando los módulos que deseamos crear para los ESX y máquinas virtuales:

...
#ESX Modules
ESX
cpuUsagePercent disabled
diskRead enabled
diskWrite enabled

#VM Modules
VM
diskReadLatency disabled
diskWriteLatency disabled
diskRate enabled
...

Cada línea de configuración se corresponde con un módulo. En el ejemplo anterior los módulos serán creados con los valores por defecto, pero es posible configurar: el nombre, la descripción y los límites para los estados de Advertencia y de Crítico del módulo. Un ejemplo de esta configuración podría ser la siguiente:

...
#VM Modules
VM
diskReadLatency disabled
diskWriteLatency disabled
diskRate name = Tasa Disco; desc = Tasa Lec/Esc disco; limits_warn = 5 10; limits_crit = 0 4
...

Las opciones disponibles para la configuración de módulos son las siguientes:

  • <modulo> disabled: El módulo NO se creará
  • <modulo> enabled: El módulo SI se creará (con los valores por defecto)
  • <modulo> name = <nombre>; desc = <descripcion>; limits_warn <lim_warn>; limits_crit <lim_crit>: 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 estados Advertencia y Crítico.

Es muy importante tener en cuenta la estructura de las líneas del archivo de configuración y sobre todo ver que el carácter ; va pegado al nombre y la descripción del módulo. Estas dos líneas NO SON EQUIVALENTES (véanse los espacios antes del carácter ; ):

diskRate name = Tasa Disco; desc = Tasa Lec/Esc disco; limits_warn = 5 10; limits_crit = 0 4
diskRate name = Tasa Disco    ; desc = Tasa Lec/Esc disco    ; limits_warn = 5 10; limits_crit    = 0    4

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 de nombres cortos y expandidos está en la siguiente sección.

Analicemos la configuración de ejemplo anterior. Hemos configurado el módulo Disk Rate que se creará con los siguientes valores:

* Nombre: Tasa Disco
* Descripción: Tasa Lec/Esc disco
* Min Warning: 5
* Max Warning: 10
* Min Critical: 0
* Max Critical: 4

Hay módulos que se generan de forma dinámica por ejemplo los relativos a discos o interfaces de red. Para estas métricas el plugin crea un módulo por cada elemento descubierto. Estos módulos suelen tener nombres especiales en Pandora, por ejemplo:

Disk Free [0]
Disk Free [1]
Disk Free [2]
...

En estos casos como el nombre tiene parte dinámica, se permite el uso de la macro %s que será sustituida por la parte variable del nombre del módulo. Un ejemplo de configuración de módulos dinámicos sería el siguiente:

diskFree name = Disk (%s) free space; desc = Free space for disk; limits_warn = 0 0; limits_crit = 0 0

En este caso el nombre del módulo por defecto es:

Disk Free [0]

Y pasará a llamarse:

Disk (0) free space

A partir de la versión 5.0 es posible configurar cadenas de texto para los límites de los estados Advertencia y Crítico de los módulos. La configuración sería como la siguiente:

powerState name = Estado funcionamiento; desc = Estado funcionamiento VM; limits_warn = .*suspended.*; limits_crit = .*poweredOff.*

Es posible configurar expresiones regulares para dotar de mayor flexibilidad al establecimiento de los límites.

Métricas de rendimiento personalizadas

En esta sección es posible configurar nuevos módulos relativos a Performance Counters para las máquinas virtuales y los ESX. Para configurar un nuevo módulo de rendimiento necesitará usar la siguiente estructura:

custom_performance type = mem; metric = swapinRate; module_type = generic_data; name = Swap In Rate; desc = Swap In Rate for host; limits_warn = 0 0; limits_crit = 0 0

Los parámetros a configurar son:

  • type: tipo de métrica a monitorizar. Los tipos de métrica son:
    • cpu: CPU
    • mem: Memory
    • disk: Disk
    • net: Network
    • sys: System
  • metric: métrica a monitorizar (más adelante se explica dónde ver las métricas disponibles).
  • module_type: tipo del módulo de Pandora (por ejemplo: generic_data).
  • name: nombre del módulo.
  • desc: descripción del módulo.
  • limits_warn: límites para el estado Advertencia.
  • limits_crit: límites para el estado Crítico.

Podrá consultar las métricas disponibles para cada tipo en el apartado Performance de cada entidad. Esta vista se encuentra dentro del vCenter y muestra las métricas de rendimiento que es posible monitorizar con el plugin VMware. Por ejemplo, la siguiente imagen muestra la vista de Performance para un host ESX.

Entornos virtuales 25.png



Para ver el listado completo de todas las métricas según su tipo deberá hacer click en el botón Advanced y luego en el boton Char option. Verá una lista con todos los tipos de métricas y las respectivas métricas de cada tipo en una ventana como la que muestra la siguiente imagen.

Entornos virtuales 26.png



Para cada tipo de métrica aparecerán una serie de contadores que son las variables que podremos monitorizar con Pandora. Para monitorizar una variable necesitamos su Internal Name. Además necesitaremos asegurarnos que el nivel de estadísticas, configurado en el vCenter, permite mostrar la variable que buscamos, comparándolo con el campo Collection Level de la métrica.

Entornos virtuales 27.png



Si por ejemplo queremos ver el uso de CPU de un host ESX, buscaremos las variables tipo cpu para un ESX y de las disponibles escogeremos utilization. La línea que tendremos que añadir al archivo de configuración, en este caso dentro de la sección ESX, será la siguiente:

custom_performance type = cpu; metric = utilization; module_type = generic_data; name = CPU Utilization; desc = CPU Utilization for ESX; limits_warn = 0 0; limits_crit = 0 0

Monitorización de varios Datacenter con un mismo agente

Cada módulo plugin configurado en el agente monitoriza un datacenter, por lo que si se quiere monitorizar varios datacenter con un mismo agente software de Pandora FMS será necesario tomar las siguientes consideraciones.

  • Es necesario añadir una module_plugin por cada datacenter a monitorizar, por ejemplo
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter1.conf
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter2.conf
  • En cada archivo de configuración será necesario cambiar los parámetros: logfile, entities_list, event_pointer_file. Los archivos de configuración quedarían como los siguientes:

vmware-plugin-datacenter1.conf

...
logfile /tmp/vmware_plugin_datacenter1.log
entities_list /tmp/vmware_entities_list_datacenter1.txt
event_pointer_file /tmp/vmware_events_pointer_datacenter1.txt
...

vmware-plugin-datacenter2.conf

...
logfile /tmp/vmware_plugin_datacenter2.log
entities_list /tmp/vmware_entities_list_datacenter2.txt
event_pointer_file /tmp/vmware_events_pointer_datacenter2.txt
...


  • Si además desea realizar el copiado de eventos, deberá tener dos módulos plugin más con los respectivos archivos de configuración y activando el flag event_mode. La configuración de los module_plugin sería como la siguiente:
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter1.conf
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter1-events.conf
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter2.conf
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter2-events.conf

Dividir la carga de la monitorización entre varios servidores de Pandora

Las opciones del archivo de configuración del plugin permiten distribuir la carga de monitorización fácilmente entre varios servidores de Pandora FMS. Por ejemplo, supongamos que tenemos la siguiente estructura en nuestro entorno de virtualización:

DC
|
|- Datastore_1
|- DataStore_2
|
|- ESX_1
|- mv1.1
|- mv1.2
|- mv1.3

|- ESX_2
|- mv2.1
|- mv2.2
|- mv2.3

En nuestro entorno disponemos de dos servidores de Pandora FMS para realizar la monitorización. Una manera sencilla de dividir la carga sería monitorizar el Datacenter, los Datastores y los ESX en el primer servidor y todas las máquinas virtuales en el segundo. Los archivos de configuración del plugin serían los siguientes:

Servidor 1:

Reject
all_vm

Servidor 2:

Reject
all_datacenter
all_datastore
all_esx

El Servidor 1 monitoriza todo excepto las máquinas virtuales y el Server 2 sólo monitoriza las máquinas virtuales.

Otra forma de distribuir la carga sería dividiendo la monitorización por ESX, el primer servidor de Pandora monitorizará todo lo relativo al primer servidor ESX y el segundo todo lo perteneciente al segundo ESX. Para ello dividiremos el archivo entities_list.txt en dos archivos y configuraremos dos ejecuciones del plugin en diferentes agentes. Los archivos entities_list.txt quedarían así:

Servidor 1:

Datacenter
DC
Datastore
Datastore_1
ESX
ESX_1
VM
mv1.1
mv1.2
mv1.3

El Servidor 1 omite todo lo relacionado con el segundo grupo de entidades VMware, por lo que se encarga de monitorizar la mitad del entorno.

Servidor 2:

Datastore
DataStore_2
ESX
ESX_2
VM
mv2.1
mv2.2
mv2.3

El Servidor 2 omite todo lo relacionado con el primer grupo de entidades VMware además del Datacenter, ya que esto está siendo monitorizado por el Servidor 1.

La configuración de entidades descartadas es muy flexible y permite dividir la carga asignando unas pocas entidades a cada agente de Pandora FMS.

Ejemplos archivo configuración

Archivo con todos los módulos desactivados
#These lines are comments

#Datacenter Modules
Datacenter
ping disabled
check443 disabled

#Datastore Modules
Datastore
capacity disabled
freeSpace disabled
overallocation disabled
freeSpaceBytes disabled

#ESX Modules
ESX
bootTime disabled
cpuInfo disabled
memorySize disabled
overallCpuUsage disabled
overallMemoryUsage disabled
powerState disabled
sslThumbprint disabled
uptime disabled
vnicInfo disabled
hostAlive disabled
connectionState disabled
diskRead disabled
diskWrite disabled
diskReadLatency disabled
diskWriteLatency disabled
netReceived disabled
netTransmitted disabled
netPkgRx disabled
netPkgTx disabled
cpuUsagePercent disabled
memoryUsagePercent disabled
netUsage disabled
diskRate disabled
maxDiskLatency disabled
haStatus disabled

#VM Modules
VM
bootTime disabled
connectionState disabled
consumedOverheadMemory disabled 
cpuAllocation disabled
diskFree disabled
guestState disabled
host disabled
hostAlive disabled
hostMemoryUsage disabled
hostName disabled
ipAddress disabled
macAddress disabled
maxCpuUsage disabled
maxMemoryUsage disabled
memoryAllocation disabled
memoryOverhead disabled
overallCpuDemand disabled
overallCpuUsage disabled
powerState disabled
privateMemory disabled
sharedMemory disabled
toolsRunningStatus disabled
triggeredAlarmState disabled
virtualImagePath disabled
uptimeSeconds disabled
diskRead disabled
diskWrite disabled
diskReadLatency disabled
diskWriteLatency disabled
netReceived disabled
netTransmitted disabled
netPkgRx disabled
netPkgTx  disabled
cpuUsagePercent disabled
memoryUsagePercent disabled
netUsage disabled
diskRate disabled
maxDiskLatency disabled
heartbeat disabled
cpuReady disabled
snapshotCounter disabled

Tabla de correspondencia de nombres cortos

Datacenter
Nombre expandidoNombre corto
Pingping
Check 443 portcheck443
Datastores
Nombre expandidoNombre corto
Capacitycapacity
Free SpacefreeSpace
Disk Overallocationoverallocation
Free Space BytesfreeSpaceBytes
ESX
Nombre expandidoNombre corto
Boot TimebootTime
CPU InfocpuInfo
Memory SizememorySize
Overall CPU UsageoverallCpuUsage
Overall Memory UsageoverallMemoryUsage
Power StatepowerState
SSL ThumbprintsslThumbprint
Uptimeuptime
VNIC InfovnicInfo
Host AlivehostAlive
Connection StateconnectionState
Disk ReaddiskRead
Disk WritediskWrite
Disk Read LatencydiskReadLatency
Disk Write LatencydiskWriteLatency
Data receivednetReceived
Data transmittednetTransmitted
Packages ReceivednetPkgRx
Packages TransmittednetPkgTx
CPU UsagecpuUsagePercent
Memory UsagememoryUsagePercent
Net UsagenetUsage
Disk RatediskRate
Max Disk LatencymaxDiskLatency
HA StatushaStatus
Sensor*systemHealthInfo
Máquinas Virtuales
Nombre expandidoNombre corto
Boot TimebootTime
Connection StateconnectionState
Consumed Overhead MemoryconsumedOverheadMemory
CPU AllocationcpuAllocation
Disk FreediskFree
Guest StateguestState
Host Infohost
Host AlivehostAlive
Host Memory UsagehostMemoryUsage
Host NamehostName
IP AddressipAddress
MAC AddressmacAddress
Max CPU UsagemaxCpuUsage
Max Memory UsagemaxMemoryUsage
Memory AllocationmemoryAllocation
Memory OverheadmemoryOverhead
Overall CPU DemandoverallCpuDemand
Overall CPU UsageoverallCpuUsage
Power StatepowerState
Private MemoryprivateMemory
Shared MemorysharedMemory
Tools Running StatustoolsRunningStatus
Trigger Alarm StatetriggeredAlarmState
Uptime SecondsuptimeSeconds
Virtual Image PathvirtualImagePath
Disk ReaddiskRead
Disk WritediskWrite
Disk Read LatencydiskReadLatency
Disk Write LatencydiskWriteLatency
Data receivednetReceived
Data transmittednetTransmitted
Packages ReceivednetPkgRx
Packages TransmittednetPkgTx
CPU UsagecpuUsagePercent
Memory UsagememoryUsagePercent
Net UsagenetUsage
Disk RatediskRate
Max Disk LatencymaxDiskLatency
HeartBeatheartbeat
CPU ReadycpuReady
Number SnapshotssnapshotCounter
HA StatushaStatus

Tabla de eventos

Esta lista de eventos se facilita para hacer más sencilla la tarea de configuración de alertas de eventos en Pandora FMS. Para obtener una referencia completa y actualizada de todos los posibles eventos deberá consultar la documentación que VMware tenga al respecto

EventoSeveridadTipo de eventoGrupo
An account was created on host {host.name}InformationalSystemAll
Account {account} was removed on host {host.name}InformationalSystemAll
An account was updated on host {host.name}InformationalSystemAll
The default password for the root user on the host {host.name} has not been changedInformationalSystemAll
Alarm '{alarm.name}' on {entity.name} triggered an actionInformationalSystemAll
Created alarm '{alarm.name}' on {entity.name}InformationalSystemAll
Alarm '{alarm.name}' on {entity.name} sent email to {to}InformationalSystemAll
Alarm '{alarm.name}' on {entity.name} cannot send email to {to}CriticalSystemAll
Reconfigured alarm '{alarm.name}' on {entity.name}InformationalSystemAll
Removed alarm '{alarm.name}' on {entity.name}InformationalSystemAll
Alarm '{alarm.name}' on {entity.name} ran script {script}InformationalSystemAll
Alarm '{alarm.name}' on {entity.name} did not complete script: {reason.msg}CriticalSystemAll
Alarm '{alarm.name}': an SNMP trap for entity {entity.name} was sentInformationalSystemAll
Alarm '{alarm.name}' on entity {entity.name} did not send SNMP trap: {reason.msg}CriticalSystemAll
Alarm '{alarm.name}' on {entity.name} changed from {from.@enum.ManagedEntity.Status} to {to.@enum.ManagedEntity.Status}InformationalSystemAll
All running virtual machines are licensedInformationalSystemAll
User cannot logon since the user is already logged onInformationalSystemAll
Cannot login {userName}@{ipAddress}CriticalSystemAll
The operation performed on host {host.name} in {datacenter.name} was canceledInformationalSystemAll
Changed ownership of file name {filename} from {oldOwner} to {newOwner} on {host.name} in {datacenter.name}.InformationalSystemAll
Cannot change ownership of file name {filename} from {owner} to {attemptedOwner} on {host.name} in {datacenter.name}.CriticalSystemAll
Checked cluster for complianceInformationalSystemAll
Created cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
Removed cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
Insufficient capacity in cluster {computeResource.name} to satisfy resource configuration in {datacenter.name}CriticalSystemAll
Reconfigured cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
Configuration status on cluster {computeResource.name} changed from {oldStatus.@enum.ManagedEntity.Status} to {newStatus.@enum.ManagedEntity.Status} in {datacenter.name}InformationalSystemAll
Created new custom field definition {name}InformationalSystemAll
Removed field definition {name}InformationalSystemAll
Renamed field definition from {name} to {newName}InformationalSystemAll
Changed custom field {name} on {entity.name} in {datacenter.name} to {value}InformationalSystemAll
Cannot complete customization of VM {vm.name}. See customization log at {logLocation} on the guest OS for details.InformationalSystemAll
An error occurred while setting up Linux identity. See log file '{logLocation}' on guest OS for details.CriticalSystemAll
An error occurred while setting up network properties of the guest OS. See the log file {logLocation} in the guest OS for details.CriticalSystemAll
Started customization of VM {vm.name}. Customization log located at {logLocation} in the guest OS.InformationalSystemAll
Customization of VM {vm.name} succeeded. Customization log located at {logLocation} in the guest OS.InformationalSystemAll
The version of Sysprep {sysprepVersion} provided for customizing VM {vm.name} does not match the version of guest OS {systemVersion}. See the log file {logLocation} in the guest OS for more information.CriticalSystemAll
An error occurred while customizing VM {vm.name}. For details reference the log file {logLocation} in the guest OS.CriticalSystemAll
dvPort group {net.name} in {datacenter.name} was added to switch {dvs.name}.InformationalSystemAll
dvPort group {net.name} in {datacenter.name} was deleted.InformationalSystemAll

InformationalSystemAll
dvPort group {net.name} in {datacenter.name} was reconfigured.InformationalSystemAll
dvPort group {oldName} in {datacenter.name} was renamed to {newName}InformationalSystemAll
HA admission control disabled on cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
HA admission control enabled on cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
Re-established contact with a primary host in this HA clusterInformationalSystemAll
Unable to contact a primary HA agent in cluster {computeResource.name} in {datacenter.name}CriticalSystemAll
All hosts in the HA cluster {computeResource.name} in {datacenter.name} were isolated from the network. Check the network configuration for proper network redundancy in the management network.CriticalSystemAll
HA disabled on cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
HA enabled on cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
A possible host failure has been detected by HA on {failedHost.name} in cluster {computeResource.name} in {datacenter.name}CriticalSystemAll
Host {isolatedHost.name} has been isolated from cluster {computeResource.name} in {datacenter.name}WarningSystemAll
Created datacenter {datacenter.name} in folder {parent.name}InformationalSystemAll
Renamed datacenter from {oldName} to {newName}InformationalSystemAll
Datastore {datastore.name} increased in capacity from {oldCapacity} bytes to {newCapacity} bytes in {datacenter.name}InformationalSystemAll
Removed unconfigured datastore {datastore.name}InformationalSystemAll
Discovered datastore {datastore.name} on {host.name} in {datacenter.name}InformationalSystemAll
Multiple datastores named {datastore} detected on host {host.name} in {datacenter.name}CriticalSystemAll
<internal>InformationalSystemAll
File or directory {sourceFile} copied from {sourceDatastore.name} to {datastore.name} as {targetFile}InformationalSystemAll
File or directory {targetFile} deleted from {datastore.name}InformationalSystemAll
File or directory {sourceFile} moved from {sourceDatastore.name} to {datastore.name} as {targetFile}InformationalSystemAll
Reconfigured Storage I/O Control on datastore {datastore.name}InformationalSystemAll
Configured datastore principal {datastorePrincipal} on host {host.name} in {datacenter.name}InformationalSystemAll
Removed datastore {datastore.name} from {host.name} in {datacenter.name}InformationalSystemAll
Renamed datastore from {oldName} to {newName} in {datacenter.name}InformationalSystemAll
Renamed datastore from {oldName} to {newName} in {datacenter.name}InformationalSystemAll
Disabled DRS on cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
Enabled DRS on {computeResource.name} with automation level {behavior} in {datacenter.name}InformationalSystemAll
DRS put {host.name} into standby modeInformationalSystemAll
DRS is putting {host.name} into standby modeInformationalSystemAll
DRS cannot move {host.name} out of standby modeCriticalSystemAll
DRS moved {host.name} out of standby modeInformationalSystemAll
DRS is moving {host.name} out of standby modeInformationalSystemAll
DRS invocation not completedCriticalSystemAll
DRS has recovered from the failureInformationalSystemAll
Unable to apply DRS resource settings on host {host.name} in {datacenter.name}. {reason.msg}. This can significantly reduce the effectiveness of DRS.CriticalSystemAll
Resource configuration specification returns to synchronization from previous failure on host '{host.name}' in {datacenter.name}InformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is now compliant with DRS VM-Host affinity rulesInformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is violating a DRS VM-Host affinity ruleInformationalSystemAll
DRS migrated {vm.name} from {sourceHost.name} to {host.name} in cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
DRS powered On {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Virtual machine {macAddress} on host {host.name} has a duplicate IP {duplicateIP}InformationalSystemAll
A vNetwork Distributed Switch {dvs.name} was created in {datacenter.name}.InformationalSystemAll
vNetwork Distributed Switch {dvs.name} in {datacenter.name} was deleted.InformationalSystemAll
vNetwork Distributed Switch eventInformationalSystemAll
The vNetwork Distributed Switch {dvs.name} configuration on the host was synchronized with that of the vCenter Server.InformationalSystemAll
The host {hostJoined.name} joined the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
The host {hostLeft.name} left the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
The host {hostMember.name} changed status on the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
The vNetwork Distributed Switch {dvs.name} configuration on the host differed from that of the vCenter Server.WarningSystemAll
vNetwork Distributed Switch {srcDvs.name} was merged into {dstDvs.name} in {datacenter.name}.InformationalSystemAll
dvPort {portKey} was blocked in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
The port {portKey} was connected in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}InformationalSystemAll
New ports were created in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
Deleted ports in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
The dvPort {portKey} was disconnected in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
dvPort {portKey} entered passthrough mode in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
dvPort {portKey} exited passthrough mode in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
dvPort {portKey} was moved into the dvPort group {portgroupName} in {datacenter.name}.InformationalSystemAll
dvPort {portKey} was moved out of the dvPort group {portgroupName} in {datacenter.name}.InformationalSystemAll
The port {portKey} link was down in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}InformationalSystemAll
The port {portKey} link was up in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}InformationalSystemAll
Reconfigured ports in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
dvPort {portKey} was unblocked in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.InformationalSystemAll
The vNetwork Distributed Switch {dvs.name} in {datacenter.name} was reconfigured.InformationalSystemAll
The vNetwork Distributed Switch {oldName} in {datacenter.name} was renamed to {newName}.InformationalSystemAll
An upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} is available.InformationalSystemAll
An upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} is in progress.InformationalSystemAll
Cannot complete an upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name}InformationalSystemAll
vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} was upgraded.InformationalSystemAll
Host {host.name} in {datacenter.name} has entered maintenance modeInformationalSystemAll
The host {host.name} is in standby modeInformationalSystemAll
Host {host.name} in {datacenter.name} has started to enter maintenance modeInformationalSystemAll
The host {host.name} is entering standby modeInformationalSystemAll
{message}CriticalSystemAll
Host {host.name} in {datacenter.name} has exited maintenance modeInformationalSystemAll
The host {host.name} could not exit standby modeCriticalSystemAll
The host {host.name} is no longer in standby modeInformationalSystemAll
The host {host.name} is exiting standby modeInformationalSystemAll
Sufficient resources are available to satisfy HA failover level in cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
General event: {message}InformationalSystemAll
Error detected on {host.name} in {datacenter.name}: {message}CriticalSystemAll
Issue detected on {host.name} in {datacenter.name}: {message}InformationalSystemAll
Issue detected on {host.name} in {datacenter.name}: {message}WarningSystemAll
User logged event: {message}InformationalSystemAll
Error detected for {vm.name} on {host.name} in {datacenter.name}: {message}CriticalSystemAll
Issue detected for {vm.name} on {host.name} in {datacenter.name}: {message}InformationalSystemAll
Issue detected for {vm.name} on {host.name} in {datacenter.name}: {message}WarningSystemAll
The vNetwork Distributed Switch corresponding to the proxy switches {switchUuid} on the host {host.name} does not exist in vCenter Server or does not contain this host.InformationalSystemAll
A ghost proxy switch {switchUuid} on the host {host.name} was resolved.InformationalSystemAll
The message changed: {message}InformationalSystemAll
{componentName} status changed from {oldStatus} to {newStatus}InformationalSystemAll
Cannot add host {hostname} to datacenter {datacenter.name}CriticalSystemAll
Added host {host.name} to datacenter {datacenter.name}InformationalSystemAll
Administrator access to the host {host.name} is disabledWarningSystemAll
Administrator access to the host {host.name} has been restoredWarningSystemAll
Cannot connect {host.name} in {datacenter.name}: cannot configure management accountCriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: already managed by {serverName}CriticalSystemAll
Cannot connect host {host.name} in {datacenter.name} : server agent is not respondingCriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: incorrect user name or passwordCriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: incompatible versionCriticalSystemAll
Cannot connect host {host.name} in {datacenter.name}. Did not install or upgrade vCenter agent service.CriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: error connecting to hostCriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: network errorCriticalSystemAll
Cannot connect host {host.name} in {datacenter.name}: account has insufficient privilegesCriticalSystemAll
Cannot connect host {host.name} in {datacenter.name}CriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: not enough CPU licensesCriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: incorrect host nameCriticalSystemAll
Cannot connect {host.name} in {datacenter.name}: time-out waiting for host responseCriticalSystemAll
Host {host.name} checked for compliance.InformationalSystemAll
Host {host.name} is in compliance with the attached profileInformationalSystemAll
Host configuration changes applied.InformationalSystemAll
Connected to {host.name} in {datacenter.name}InformationalSystemAll
Host {host.name} in {datacenter.name} is not respondingCriticalSystemAll
dvPort connected to host {host.name} in {datacenter.name} changed statusInformationalSystemAll
HA agent disabled on {host.name} in cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
HA is being disabled on {host.name} in cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
HA agent enabled on {host.name} in cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
Enabling HA agent on {host.name} in cluster {computeResource.name} in {datacenter.name}WarningSystemAll
HA agent on {host.name} in cluster {computeResource.name} in {datacenter.name} has an error {message}: {reason.@enum.HostDasErrorEvent.HostDasErrorReason}CriticalSystemAll
HA agent on host {host.name} in cluster {computeResource.name} in {datacenter.name} is configured correctlyInformationalSystemAll
Disconnected from {host.name} in {datacenter.name}. Reason: {reason.@enum.HostDisconnectedEvent.ReasonCode}InformationalSystemAll
Cannot restore some administrator permissions to the host {host.name}CriticalSystemAll
Host {host.name} has the following extra networks not used by other hosts for HA communication:{ips}. Consider using HA advanced option das.allowNetwork to control network usageCriticalSystemAll
Cannot complete command 'hostname -s' on host {host.name} or returned incorrect name formatCriticalSystemAll
Maximum ({capacity}) number of hosts allowed for this edition of vCenter Server has been reachedCriticalSystemAll
The virtual machine inventory file on host {host.name} is damaged or unreadable.InformationalSystemAll
IP address of the host {host.name} changed from {oldIP} to {newIP}InformationalSystemAll
Configuration of host IP address is inconsistent on host {host.name}: address resolved to {ipAddress} and {ipAddress2}CriticalSystemAll
Cannot resolve IP address to short name on host {host.name}CriticalSystemAll
Host {host.name} could not reach isolation address: {isolationIp}CriticalSystemAll
A host license for {host.name} has expiredCriticalSystemAll
Host {host.name} does not have the following networks used by other hosts for HA communication:{ips}. Consider using HA advanced option das.allowNetwork to control network usageCriticalSystemAll
Host monitoring state in {computeResource.name} in {datacenter.name} changed to {state.@enum.DasConfigInfo.ServiceState}InformationalSystemAll
Host {host.name} currently has no available networks for HA Communication. The following networks are currently used by HA: {ips}CriticalSystemAll
Host {host.name} has no port groups enabled for HA communication.CriticalSystemAll
Host {host.name} currently has no management network redundancyCriticalSystemAll
Host {host.name} is not in compliance with the attached profileCriticalSystemAll
Host {host.name} is not a cluster member in {datacenter.name}CriticalSystemAll
Insufficient capacity in host {computeResource.name} to satisfy resource configuration in {datacenter.name}CriticalSystemAll
Primary agent {primaryAgent} was not specified as a short name to host {host.name}CriticalSystemAll
Profile is applied on the host {host.name}InformationalSystemAll
Cannot reconnect to {host.name} in {datacenter.name}CriticalSystemAll
Removed host {host.name} in {datacenter.name}InformationalSystemAll
Host names {shortName} and {shortName2} both resolved to the same IP address. Check the host's network configuration and DNS entriesCriticalSystemAll
Cannot resolve short name {shortName} to IP address on host {host.name}CriticalSystemAll
Shut down of {host.name} in {datacenter.name}: {reason}InformationalSystemAll
Configuration status on host {computeResource.name} changed from {oldStatus.@enum.ManagedEntity.Status} to {newStatus.@enum.ManagedEntity.Status} in {datacenter.name}InformationalSystemAll
Cannot synchronize host {host.name}. {reason.msg}CriticalSystemAll
Cannot install or upgrade vCenter agent service on {host.name} in {datacenter.name}CriticalSystemAll
The userworld swap is not enabled on the host {host.name}WarningSystemAll
Host {host.name} vNIC {vnic.vnic} was reconfigured to use dvPort {vnic.port.portKey} with port level configuration, which might be different from the dvPort group.InformationalSystemAll
WWNs are changed for {host.name}WarningSystemAll
The WWN ({wwn}) of {host.name} conflicts with the currently registered WWNCriticalSystemAll
Host {host.name} did not provide the information needed to acquire the correct set of licensesCriticalSystemAll
{message}InformationalSystemAll
Insufficient resources to satisfy HA failover level on cluster {computeResource.name} in {datacenter.name}CriticalSystemAll
The license edition '{feature}' is invalidCriticalSystemAll
License {feature.featureName} has expiredCriticalSystemAll
License inventory is not compliant. Licenses are overusedCriticalSystemAll
Unable to acquire licenses due to a restriction in the option file on the license server.CriticalSystemAll
License server {licenseServer} is availableInformationalSystemAll
License server {licenseServer} is unavailableCriticalSystemAll
Created local datastore {datastore.name} on {host.name} in {datacenter.name}InformationalSystemAll
The Local Tech Support Mode for the host {host.name} has been enabledInformationalSystemAll
Datastore {datastore} which is configured to back the locker does not existWarningSystemAll
Locker was reconfigured from {oldDatastore} to {newDatastore} datastoreInformationalSystemAll
Unable to migrate {vm.name} from {host.name} in {datacenter.name}: {fault.msg}CriticalSystemAll
Unable to migrate {vm.name} from {host.name} to {dstHost.name} in {datacenter.name}: {fault.msg}CriticalSystemAll
Migration of {vm.name} from {host.name} to {dstHost.name} in {datacenter.name}: {fault.msg}WarningSystemAll
Cannot migrate {vm.name} from {host.name} to {dstHost.name} and resource pool {dstPool.name} in {datacenter.name}: {fault.msg}CriticalSystemAll
Migration of {vm.name} from {host.name} to {dstHost.name} and resource pool {dstPool.name} in {datacenter.name}: {fault.msg}WarningSystemAll
Migration of {vm.name} from {host.name} in {datacenter.name}: {fault.msg}WarningSystemAll
Created NAS datastore {datastore.name} on {host.name} in {datacenter.name}InformationalSystemAll
Cannot login user {userName}@{ipAddress}: no permissionCriticalSystemAll
No datastores have been configured on the host {host.name}InformationalSystemAll
A required license {feature.featureName} is not reservedCriticalSystemAll
Unable to automatically migrate {vm.name} from {host.name}InformationalSystemAll
Non-VI workload detected on datastore {datastore.name}CriticalSystemAll
Not enough resources to failover {vm.name} in {computeResource.name} in {datacenter.name}InformationalSystemAll
The vNetwork Distributed Switch configuration on some hosts differed from that of the vCenter Server.WarningSystemAll
Permission created for {principal} on {entity.name}, role is {role.name}, propagation is {propagate.@enum.auth.Permission.propagate}InformationalSystemAll
Permission rule removed for {principal} on {entity.name}InformationalSystemAll
Permission changed for {principal} on {entity.name}, role is {role.name}, propagation is {propagate.@enum.auth.Permission.propagate}InformationalSystemAll
Profile {profile.name} attached.InformationalSystemAll
Profile {profile.name} was changed.InformationalSystemAll
Profile is created.InformationalSystemAll
Profile {profile.name} detached.InformationalSystemAll
Profile {profile.name} reference host changed.InformationalSystemAll
Profile was removed.InformationalSystemAll
Remote Tech Support Mode (SSH) for the host {host.name} has been enabledInformationalSystemAll
Created resource pool {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name}InformationalSystemAll
Removed resource pool {resourcePool.name} on {computeResource.name} in {datacenter.name}InformationalSystemAll
Moved resource pool {resourcePool.name} from {oldParent.name} to {newParent.name} on {computeResource.name} in {datacenter.name}InformationalSystemAll
Updated configuration for {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name}InformationalSystemAll
Resource usage exceeds configuration for resource pool {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name}CriticalSystemAll
New role {role.name} createdInformationalSystemAll
Role {role.name} removedInformationalSystemAll
Modifed role {role.name}InformationalSystemAll
Task {scheduledTask.name} on {entity.name} in {datacenter.name} completed successfullyInformationalSystemAll
Created task {scheduledTask.name} on {entity.name} in {datacenter.name}InformationalSystemAll
Task {scheduledTask.name} on {entity.name} in {datacenter.name} sent email to {to}InformationalSystemAll
Task {scheduledTask.name} on {entity.name} in {datacenter.name} cannot send email to {to}: {reason.msg}CriticalSystemAll
Task {scheduledTask.name} on {entity.name} in {datacenter.name} cannot be completed: {reason.msg}CriticalSystemAll
Reconfigured task {scheduledTask.name} on {entity.name} in {datacenter.name}InformationalSystemAll
Removed task {scheduledTask.name} on {entity.name} in {datacenter.name}InformationalSystemAll
Running task {scheduledTask.name} on {entity.name} in {datacenter.name}InformationalSystemAll
A vCenter Server license has expiredCriticalSystemAll
vCenter startedInformationalSystemAll
A session for user '{terminatedUsername}' has stoppedInformationalSystemAll
Task: {info.descriptionId}InformationalSystemAll
Task: {info.descriptionId} time-outInformationalSystemAll
Upgrading template {legacyTemplate}InformationalSystemAll
Cannot upgrade template {legacyTemplate} due to: {reason.msg}InformationalSystemAll
Template {legacyTemplate} upgrade completedInformationalSystemAll
The operation performed on {host.name} in {datacenter.name} timed outWarningSystemAll
There are {unlicensed} unlicensed virtual machines on host {host} - there are only {available} licenses availableInformationalSystemAll
{unlicensed} unlicensed virtual machines found on host {host}InformationalSystemAll
The agent on host {host.name} is updated and will soon restartInformationalSystemAll
User {userLogin} was added to group {group}InformationalSystemAll
User {userName}@{ipAddress} logged inInformationalSystemAll
User {userName} logged outInformationalSystemAll
Password was changed for account {userLogin} on host {host.name}InformationalSystemAll
User {userLogin} removed from group {group}InformationalSystemAll
{message}InformationalSystemAll
Created VMFS datastore {datastore.name} on {host.name} in {datacenter.name}InformationalSystemAll
Expanded VMFS datastore {datastore.name} on {host.name} in {datacenter.name}InformationalSystemAll
Extended VMFS datastore {datastore.name} on {host.name} in {datacenter.name}InformationalSystemAll
A vMotion license for {host.name} has expiredCriticalSystemAll
Cannot uninstall vCenter agent from {host.name} in {datacenter.name}. {reason.@enum.fault.AgentInstallFailed.Reason}CriticalSystemAll
vCenter agent has been uninstalled from {host.name} in {datacenter.name}InformationalSystemAll
Cannot upgrade vCenter agent on {host.name} in {datacenter.name}. {reason.@enum.fault.AgentInstallFailed.Reason}CriticalSystemAll
vCenter agent has been upgraded on {host.name} in {datacenter.name}InformationalSystemAll
VIM account password was changed on host {host.name}InformationalSystemAll
Remote console to {vm.name} on {host.name} in {datacenter.name} has been openedInformationalSystemAll
A ticket for {vm.name} of type {ticketType} on {host.name} in {datacenter.name} has been acquiredInformationalSystemAll
Invalid name for {vm.name} on {host.name} in {datacenter.name}. Renamed from {oldName} to {newName}InformationalSystemAll
Cloning {vm.name} on host {host.name} in {datacenter.name} to {destName} on host {destHost.name}InformationalSystemAll
Cloning {vm.name} on host {host.name} in {datacenter.name} to {destName} on host {destHost.name}InformationalSystemAll
Creating {vm.name} on host {host.name} in {datacenter.name}InformationalSystemAll
Deploying {vm.name} on host {host.name} in {datacenter.name} from template {srcTemplate.name}InformationalSystemAll
Migrating {vm.name} from {host.name} to {destHost.name} in {datacenter.name}InformationalSystemAll
Relocating {vm.name} from {host.name} to {destHost.name} in {datacenter.name}InformationalSystemAll
Relocating {vm.name} in {datacenter.name} from {host.name} to {destHost.name}InformationalSystemAll
Cannot clone {vm.name}: {reason.msg}CriticalSystemAll
Clone of {sourceVm.name} completedInformationalSystemAll
Configuration file for {vm.name} on {host.name} in {datacenter.name} cannot be foundInformationalSystemAll
Virtual machine {vm.name} is connectedInformationalSystemAll
Created virtual machine {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
dvPort connected to VM {vm.name} on {host.name} in {datacenter.name} changed statusInformationalSystemAll
{vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} reset by HA. Reason: {reason.@enum.VmDasBeingResetEvent.ReasonCode}InformationalSystemAll
{vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} reset by HA. Reason: {reason.@enum.VmDasBeingResetEvent.ReasonCode}. A screenshot is saved at {screenshotFilePath}.InformationalSystemAll
Cannot reset {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}WarningSystemAll
Unable to update HA agents given the state of {vm.name}CriticalSystemAll
HA agents have been updated with the current state of the virtual machineInformationalSystemAll
Disconnecting all hosts as the date of virtual machine {vm.name} has been rolled backCriticalSystemAll
Cannot deploy template: {reason.msg}CriticalSystemAll
Template {srcTemplate.name} deployed on host {host.name}InformationalSystemAll
{vm.name} on host {host.name} in {datacenter.name} is disconnectedInformationalSystemAll
Discovered {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Cannot create virtual disk {disk}CriticalSystemAll
Migrating {vm.name} off host {host.name} in {datacenter.name}InformationalSystemAll
End a recording session on {vm.name}InformationalSystemAll
End a replay session on {vm.name}InformationalSystemAll
Cannot migrate {vm.name} from {host.name} to {destHost.name} in {datacenter.name}CriticalSystemAll
Cannot complete relayout {vm.name} on {host.name} in {datacenter.name}: {reason.msg}CriticalSystemAll
Cannot complete relayout for virtual machine {vm.name} which has disks on a VMFS2 volume.CriticalSystemAll
vCenter cannot start the Secondary VM {vm.name}. Reason: {reason.@enum.VmFailedStartingSecondaryEvent.FailureReason}CriticalSystemAll
Cannot power Off {vm.name} on {host.name} in {datacenter.name}: {reason.msg}CriticalSystemAll
Cannot power On {vm.name} on {host.name} in {datacenter.name}. {reason.msg}CriticalSystemAll
Cannot reboot the guest OS for {vm.name} on {host.name} in {datacenter.name}. {reason.msg}CriticalSystemAll
Cannot suspend {vm.name} on {host.name} in {datacenter.name}: {reason.msg}CriticalSystemAll
{vm.name} cannot shut down the guest OS on {host.name} in {datacenter.name}: {reason.msg}CriticalSystemAll
{vm.name} cannot standby the guest OS on {host.name} in {datacenter.name}: {reason.msg}CriticalSystemAll
Cannot suspend {vm.name} on {host.name} in {datacenter.name}: {reason.msg}CriticalSystemAll
vCenter cannot update the Secondary VM {vm.name} configurationCriticalSystemAll
Failover unsuccessful for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Reason: {reason.msg}WarningSystemAll
Fault Tolerance state on {vm.name} changed from {oldState.@enum.VirtualMachine.FaultToleranceState} to {newState.@enum.VirtualMachine.FaultToleranceState}InformationalSystemAll
Fault Tolerance protection has been turned off for {vm.name}InformationalSystemAll
The Fault Tolerance VM ({vm.name}) has been terminated. {reason.@enum.VmFaultToleranceVmTerminatedEvent.TerminateReason}InformationalSystemAll
Guest OS reboot for {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Guest OS shut down for {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Guest OS standby for {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
VM monitoring state in {computeResource.name} in {datacenter.name} changed to {state.@enum.DasConfigInfo.VmMonitoringState}InformationalSystemAll
Assign a new instance UUID ({instanceUuid}) to {vm.name}InformationalSystemAll
The instance UUID of {vm.name} has been changed from ({oldInstanceUuid}) to ({newInstanceUuid})InformationalSystemAll
The instance UUID ({instanceUuid}) of {vm.name} conflicts with the instance UUID assigned to {conflictedVm.name}CriticalSystemAll
New MAC address ({mac}) assigned to adapter {adapter} for {vm.name}InformationalSystemAll
Changed MAC address from {oldMac} to {newMac} for adapter {adapter} for {vm.name}WarningSystemAll
The MAC address ({mac}) of {vm.name} conflicts with MAC assigned to {conflictedVm.name}CriticalSystemAll
Reached maximum Secondary VM (with FT turned On) restart count for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}.WarningSystemAll
Reached maximum VM restart count for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}.WarningSystemAll
Error message on {vm.name} on {host.name} in {datacenter.name}: {message}CriticalSystemAll
Message on {vm.name} on {host.name} in {datacenter.name}: {message}InformationalSystemAll
Warning message on {vm.name} on {host.name} in {datacenter.name}: {message}WarningSystemAll
Migration of virtual machine {vm.name} from {sourceHost.name} to {host.name} completedInformationalSystemAll
No compatible host for the Secondary VM {vm.name}CriticalSystemAll
Not all networks for {vm.name} are accessible by {destHost.name}WarningSystemAll
{vm.name} does not exist on {host.name} in {datacenter.name}WarningSystemAll
{vm.name} was powered Off on the isolated host {isolatedHost.name} in cluster {computeResource.name} in {datacenter.name}InformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is powered offInformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is powered onInformationalSystemAll
Virtual machine {vm.name} powered On with vNICs connected to dvPorts that have a port level configuration, which might be different from the dvPort group configuration.InformationalSystemAll
VM ({vm.name}) failed over to {host.name}. {reason.@enum.VirtualMachine.NeedSecondaryReason}CriticalSystemAll
Reconfigured {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Registered {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Relayout of {vm.name} on {host.name} in {datacenter.name} completedInformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is in the correct format and relayout is not necessaryInformationalSystemAll
{vm.name} on {host.name} reloaded from new configuration {configPath}.InformationalSystemAll
{vm.name} on {host.name} could not be reloaded from {configPath}.CriticalSystemAll
Cannot relocate virtual machine '{vm.name}' in {datacenter.name}CriticalSystemAll
Completed the relocation of the virtual machineInformationalSystemAll
Remote console connected to {vm.name} on host {host.name}InformationalSystemAll
Remote console disconnected from {vm.name} on host {host.name}InformationalSystemAll
Removed {vm.name} on {host.name} from {datacenter.name}InformationalSystemAll
Renamed {vm.name} from {oldName} to {newName} in {datacenter.name}WarningSystemAll
{vm.name} on {host.name} in {datacenter.name} is resetInformationalSystemAll
Moved {vm.name} from resource pool {oldParent.name} to {newParent.name} in {datacenter.name}InformationalSystemAll
Changed resource allocation for {vm.name}InformationalSystemAll
Virtual machine {vm.name} was restarted on {host.name} since {sourceHost.name} failedInformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is resumedInformationalSystemAll
A Secondary VM has been added for {vm.name}InformationalSystemAll
vCenter disabled Fault Tolerance on VM '{vm.name}' because the Secondary VM could not be powered On.CriticalSystemAll
Disabled Secondary VM for {vm.name}InformationalSystemAll
Enabled Secondary VM for {vm.name}InformationalSystemAll
Started Secondary VM for {vm.name}InformationalSystemAll
{vm.name} was shut down on the isolated host {isolatedHost.name} in cluster {computeResource.name} in {datacenter.name}: {shutdownResult.@enum.VmShutdownOnIsolationEvent.Operation}InformationalSystemAll
Start a recording session on {vm.name}InformationalSystemAll
Start a replay session on {vm.name}InformationalSystemAll
{vm.name} on host {host.name} in {datacenter.name} is startingInformationalSystemAll
Starting Secondary VM for {vm.name}InformationalSystemAll
The static MAC address ({mac}) of {vm.name} conflicts with MAC assigned to {conflictedVm.name}CriticalSystemAll
{vm.name} on {host.name} in {datacenter.name} is stoppingInformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is suspendedInformationalSystemAll
{vm.name} on {host.name} in {datacenter.name} is being suspendedInformationalSystemAll
Starting the Secondary VM {vm.name} timed out within {timeout} msCriticalSystemAll
Unsupported guest OS {guestId} for {vm.name} on {host.name} in {datacenter.name}WarningSystemAll
Virtual hardware upgraded to version {version}InformationalSystemAll
Cannot upgrade virtual hardwareCriticalSystemAll
Upgrading virtual hardware on {vm.name} in {datacenter.name} to version {version}InformationalSystemAll
Assigned new BIOS UUID ({uuid}) to {vm.name} on {host.name} in {datacenter.name}InformationalSystemAll
Changed BIOS UUID from {oldUuid} to {newUuid} for {vm.name} on {host.name} in {datacenter.name}WarningSystemAll
BIOS ID ({uuid}) of {vm.name} conflicts with that of {conflictedVm.name}CriticalSystemAll
New WWNs assigned to {vm.name}InformationalSystemAll
WWNs are changed for {vm.name}WarningSystemAll
The WWN ({wwn}) of {vm.name} conflicts with the currently registered WWNCriticalSystemAll
{message}WarningSystemAll
Booting from iSCSI failed with an error. See the VMware Knowledge Base for information on configuring iBFT networking.WarningSystemAll
com.vmware.license.AddLicenseEvent|License {licenseKey} added to VirtualCenterInformationalSystemAll
com.vmware.license.AssignLicenseEvent|License {licenseKey} assigned to asset {entityName} with id {entityId}InformationalSystemAll
com.vmware.license.DLFDownloadFailedEvent|Failed to download license information from the host {hostname} due to {errorReason.@enum.com.vmware.license.DLFDownloadFailedEvent.DLFDownloadFailedReason}WarningSystemAll
com.vmware.license.LicenseAssignFailedEvent|License assignment on the host fails. Reasons: {errorMessage.@enum.com.vmware.license.LicenseAssignError}.InformationalSystemAll
com.vmware.license.LicenseExpiryEvent|Your host license will expire in {remainingDays} days. The host will be disconnected from VC when its license expires.WarningSystemAll
com.vmware.license.LicenseUserThresholdExceededEvent|Current license usage ({currentUsage} {costUnitText}) for {edition} exceeded the user-defined threshold ({threshold} {costUnitText})WarningSystemAll
com.vmware.license.RemoveLicenseEvent|License {licenseKey} removed from VirtualCenterInformationalSystemAll
com.vmware.license.UnassignLicenseEvent|License unassigned from asset {entityName} with id {entityId}InformationalSystemAll
com.vmware.vc.HA.ClusterFailoverActionCompletedEvent|HA completed a failover action in cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
com.vmware.vc.HA.ClusterFailoverActionInitiatedEvent|HA initiated a failover action in cluster {computeResource.name} in datacenter {datacenter.name}WarningSystemAll
com.vmware.vc.HA.DasAgentRunningEvent|HA Agent on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is runningInformationalSystemAll
com.vmware.vc.HA.DasFailoverHostFailedEvent|HA failover host {host.name} in cluster {computeResource.name} in {datacenter.name} has failedCriticalSystemAll
com.vmware.vc.HA.DasHostCompleteDatastoreFailureEvent|All shared datastores failed on the host {hostName} in cluster {computeResource.name} in {datacenter.name}CriticalSystemAll
com.vmware.vc.HA.DasHostCompleteNetworkFailureEvent|All VM networks failed on the host {hostName} in cluster {computeResource.name} in {datacenter.name}CriticalSystemAll
com.vmware.vc.HA.DasHostFailedEvent|A possible host failure has been detected by HA on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name}CriticalSystemAll
com.vmware.vc.HA.DasHostMonitoringDisabledEvent|No virtual machine failover will occur until Host Monitoring is enabled in cluster {computeResource.name} in {datacenter.name}WarningSystemAll
com.vmware.vc.HA.DasTotalClusterFailureEvent|HA recovered from a total cluster failure in cluster {computeResource.name} in datacenter {datacenter.name}WarningSystemAll
com.vmware.vc.HA.HostDasAgentHealthyEvent|HA Agent on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is healthyInformationalSystemAll
com.vmware.vc.HA.HostDasErrorEvent|HA agent on {host.name} in cluster {computeResource.name} in {datacenter.name} has an error: {reason.@enum.HostDasErrorEvent.HostDasErrorReason}CriticalSystemAll
com.vmware.vc.VCHealthStateChangedEvent|vCenter Service overall health changed from '{oldState}' to '{newState}'InformationalSystemAll
com.vmware.vc.cim.CIMGroupHealthStateChanged|Health of [data.group] changed from [data.oldState] to [data.newState].InformationalSystemAll
com.vmware.vc.datastore.UpdateVmFilesFailedEvent|Failed to update VM files on datastore {ds.name} using host {hostName}CriticalSystemAll
com.vmware.vc.datastore.UpdatedVmFilesEvent|Updated VM files on datastore {ds.name} using host {hostName}InformationalSystemAll
com.vmware.vc.datastore.UpdatingVmFilesEvent|Updating VM files on datastore {ds.name} using host {hostName}InformationalSystemAll
com.vmware.vc.ft.VmAffectedByDasDisabledEvent|VMware HA has been disabled in cluster {computeResource.name} of datacenter {datacenter.name}. HA will not restart VM {vm.name} or its Secondary VM after a failure.WarningSystemAll
com.vmware.vc.npt.VmAdapterEnteredPassthroughEvent|Network passthrough is active on adapter {deviceLabel} of virtual machine {vm.name} on host {host.name} in {datacenter.name}InformationalSystemAll
com.vmware.vc.npt.VmAdapterExitedPassthroughEvent|Network passthrough is inactive on adapter {deviceLabel} of virtual machine {vm.name} on host {host.name} in {datacenter.name}InformationalSystemAll
com.vmware.vc.vcp.FtDisabledVmTreatAsNonFtEvent|HA VM Component Protection protects virtual machine {vm.name} on {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} as non-FT virtual machine because the FT state is disabledInformationalSystemAll
com.vmware.vc.vcp.FtFailoverEvent|FT Primary VM {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is going to fail over to Secondary VM due to component failureInformationalSystemAll
com.vmware.vc.vcp.FtFailoverFailedEvent|FT virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to failover to secondaryCriticalSystemAll
com.vmware.vc.vcp.FtSecondaryRestartEvent|HA VM Component Protection is restarting FT secondary virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} due to component failureInformationalSystemAll
com.vmware.vc.vcp.FtSecondaryRestartFailedEvent|FT Secondary VM {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to restartCriticalSystemAll
com.vmware.vc.vcp.NeedSecondaryFtVmTreatAsNonFtEvent|HA VM Component Protection protects virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} as non-FT virtual machine because it has been in the needSecondary state too longInformationalSystemAll
com.vmware.vc.vcp.TestEndEvent|VM Component Protection test ends on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
com.vmware.vc.vcp.TestStartEvent|VM Component Protection test starts on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
com.vmware.vc.vcp.VcpNoActionEvent|HA VM Component Protection did not take action on virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} due to the feature configuration settingInformationalSystemAll
com.vmware.vc.vcp.VmDatastoreFailedEvent|Virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} lost access to {datastore}CriticalSystemAll
com.vmware.vc.vcp.VmNetworkFailedEvent|Virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} lost access to {network}CriticalSystemAll
com.vmware.vc.vcp.VmPowerOffHangEvent|HA VM Component Protection could not power off virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} successfully after trying {numTimes} times and will keep tryingCriticalSystemAll
com.vmware.vc.vcp.VmRestartEvent|HA VM Component Protection is restarting virtual machine {vm.name} due to component failure on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name}InformationalSystemAll
com.vmware.vc.vcp.VmRestartFailedEvent|Virtual machine {vm.name} affected by component failure on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to restartCriticalSystemAll
com.vmware.vc.vcp.VmWaitForCandidateHostEvent|HA VM Component Protection could not find a destination host for virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} after waiting {numSecWait} seconds and will keep tryingCriticalSystemAll
com.vmware.vc.vmam.AppMonitoringNotSupported|Application monitoring is not supported on {host.name} in cluster {computeResource.name} in {datacenter.name}WarningSystemAll
com.vmware.vc.vmam.VmAppHealthMonitoringStateChangedEvent|Application heartbeat status changed to {status} for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}WarningSystemAll
com.vmware.vc.vmam.VmDasAppHeartbeatFailedEvent|Application heartbeat failed for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}WarningSystemAll
esx.clear.net.connectivity.restored|Network connectivity restored on virtual switch {1}, portgroups: {2}. Physical NIC {3} is up.InformationalSystemAll
esx.clear.net.dvport.connectivity.restored|Network connectivity restored on DVPorts: {1}. Physical NIC {2} is up.InformationalSystemAll
esx.clear.net.dvport.redundancy.restored|Uplink redundancy restored on DVPorts: {1}. Physical NIC {2} is up.InformationalSystemAll
esx.clear.net.redundancy.restored|Uplink redundancy restored on virtual switch {1}, portgroups: {2}. Physical NIC {3} is up.InformationalSystemAll
esx.clear.net.vmnic.linkstate.up|Physical NIC {1} linkstate is up.InformationalSystemAll
esx.clear.storage.connectivity.restored|Connectivity to storage device {1} (Datastores: {2}) restored. Path {3} is active again.InformationalSystemAll
esx.clear.storage.redundancy.restored|Path redundancy to storage device {1} (Datastores: {2}) restored. Path {3} is active again.InformationalSystemAll
esx.problem.apei.bert.memory.error.corrected|A corrected memory error occurred in last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10}CriticalSystemAll
esx.problem.apei.bert.memory.error.fatal|A fatal memory error occurred in the last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10}CriticalSystemAll
esx.problem.apei.bert.memory.error.recoverable|A recoverable memory error occurred in last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10}CriticalSystemAll
esx.problem.apei.bert.pcie.error.corrected|A corrected PCIe error occurred in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}.CriticalSystemAll
esx.problem.apei.bert.pcie.error.fatal|Platform encounterd a fatal PCIe error in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}.CriticalSystemAll
esx.problem.apei.bert.pcie.error.recoverable|A recoverable PCIe error occurred in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}.CriticalSystemAll
esx.problem.iorm.nonviworkload|An external I/O activity is detected on datastore {1}, this is an unsupported configuration. Consult the Resource Management Guide or follow the Ask VMware link for more information.InformationalSystemAll
esx.problem.net.connectivity.lost|Lost network connectivity on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}.CriticalSystemAll
esx.problem.net.dvport.connectivity.lost|Lost network connectivity on DVPorts: {1}. Physical NIC {2} is down.CriticalSystemAll
esx.problem.net.dvport.redundancy.degraded|Uplink redundancy degraded on DVPorts: {1}. Physical NIC {2} is down.WarningSystemAll
esx.problem.net.dvport.redundancy.lost|Lost uplink redundancy on DVPorts: {1}. Physical NIC {2} is down.WarningSystemAll
esx.problem.net.e1000.tso6.notsupported|Guest-initiated IPv6 TCP Segmentation Offload (TSO) packets ignored. Manually disable TSO inside the guest operating system in virtual machine {1}, or use a different virtual adapter.CriticalSystemAll
esx.problem.net.migrate.bindtovmk|The ESX advanced configuration option /Migrate/Vmknic is set to an invalid vmknic: {1}. /Migrate/Vmknic specifies a vmknic that vMotion binds to for improved performance. Update the configuration option with a valid vmknic. Alternatively, if you do not want vMotion to bind to a specific vmknic, remove the invalid vmknic and leave the option blank.WarningSystemAll
esx.problem.net.proxyswitch.port.unavailable|Virtual NIC with hardware address {1} failed to connect to distributed virtual port {2} on switch {3}. There are no more ports available on the host proxy switch.WarningSystemAll
esx.problem.net.redundancy.degraded|Uplink redundancy degraded on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}.WarningSystemAll
esx.problem.net.redundancy.lost|Lost uplink redundancy on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}.WarningSystemAll
esx.problem.net.uplink.mtu.failed|VMkernel failed to set the MTU value {1} on the uplink {2}.WarningSystemAll
esx.problem.net.vmknic.ip.duplicate|A duplicate IP address was detected for {1} on the interface {2}. The current owner is {3}.WarningSystemAll
esx.problem.net.vmnic.linkstate.down|Physical NIC {1} linkstate is down.InformationalSystemAll
esx.problem.net.vmnic.watchdog.reset|Uplink {1} has recovered from a transient failure due to watchdog timeoutInformationalSystemAll
esx.problem.scsi.device.limitreached|The maximum number of supported devices of {1} has been reached. A device from plugin {2} could not be created.CriticalSystemAll
esx.problem.scsi.device.thinprov.atquota|Space utilization on thin-provisioned device {1} exceeded configured threshold. Affected datastores (if any): {2}.WarningSystemAll
esx.problem.scsi.scsipath.limitreached|The maximum number of supported paths of {1} has been reached. Path {2} could not be added.CriticalSystemAll
esx.problem.storage.connectivity.devicepor|Frequent PowerOn Reset Unit Attentions are occurring on device {1}. This might indicate a storage problem. Affected datastores: {2}WarningSystemAll
esx.problem.storage.connectivity.lost|Lost connectivity to storage device {1}. Path {2} is down. Affected datastores: {3}.CriticalSystemAll
esx.problem.storage.connectivity.pathpor|Frequent PowerOn Reset Unit Attentions are occurring on path {1}. This might indicate a storage problem. Affected device: {2}. Affected datastores: {3}WarningSystemAll
esx.problem.storage.connectivity.pathstatechanges|Frequent path state changes are occurring for path {1}. This might indicate a storage problem. Affected device: {2}. Affected datastores: {3}WarningSystemAll
esx.problem.storage.redundancy.degraded|Path redundancy to storage device {1} degraded. Path {2} is down. Affected datastores: {3}.WarningSystemAll
esx.problem.storage.redundancy.lost|Lost path redundancy to storage device {1}. Path {2} is down. Affected datastores: {3}.WarningSystemAll
esx.problem.vmfs.heartbeat.recovered|Successfully restored access to volume {1} ({2}) following connectivity issues.InformationalSystemAll
esx.problem.vmfs.heartbeat.timedout|Lost access to volume {1} ({2}) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly.InformationalSystemAll
esx.problem.vmfs.heartbeat.unrecoverable|Lost connectivity to volume {1} ({2}) and subsequent recovery attempts have failed.CriticalSystemAll
esx.problem.vmfs.journal.createfailed|No space for journal on volume {1} ({2}). Opening volume in read-only metadata mode with limited write support.CriticalSystemAll
esx.problem.vmfs.lock.corruptondisk|At least one corrupt on-disk lock was detected on volume {1} ({2}). Other regions of the volume might be damaged too.CriticalSystemAll
esx.problem.vmfs.nfs.mount.connect.failed|Failed to mount to the server {1} mount point {2}. {3}CriticalSystemAll
esx.problem.vmfs.nfs.mount.limit.exceeded|Failed to mount to the server {1} mount point {2}. {3}CriticalSystemAll
esx.problem.vmfs.nfs.server.disconnect|Lost connection to server {1} mount point {2} mounted as {3} ({4}).CriticalSystemAll
esx.problem.vmfs.nfs.server.restored|Restored connection to server {1} mount point {2} mounted as {3} ({4}).InformationalSystemAll
esx.problem.vmfs.resource.corruptondisk|At least one corrupt resource metadata region was detected on volume {1} ({2}). Other regions of the volume might be damaged too.CriticalSystemAll
esx.problem.vmfs.volume.locked|Volume on device {1} locked, possibly because remote host {2} encountered an error during a volume operation and could not recover.CriticalSystemAll
vim.event.LicenseDowngradedEvent|License downgrade: {licenseKey} removes the following features: {lostFeatures}WarningSystemAll
vprob.net.connectivity.lost|Lost network connectivity on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}.CriticalSystemAll
vprob.net.e1000.tso6.notsupported|Guest-initiated IPv6 TCP Segmentation Offload (TSO) packets ignored. Manually disable TSO inside the guest operating system in virtual machine {1}, or use a different virtual adapter.CriticalSystemAll
vprob.net.migrate.bindtovmk|The ESX advanced config option /Migrate/Vmknic is set to an invalid vmknic: {1}. /Migrate/Vmknic specifies a vmknic that vMotion binds to for improved performance. Please update the config option with a valid vmknic or, if you do not want vMotion to bind to a specific vmknic, remove the invalid vmknic and leave the option blank.WarningSystemAll
vprob.net.proxyswitch.port.unavailable|Virtual NIC with hardware address {1} failed to connect to distributed virtual port {2} on switch {3}. There are no more ports available on the host proxy switch.WarningSystemAll
vprob.net.redundancy.degraded|Uplink redundancy degraded on virtual switch {1}. Physical NIC {2} is down. {3} uplinks still up. Affected portgroups:{4}.WarningSystemAll
vprob.net.redundancy.lost|Lost uplink redundancy on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}.WarningSystemAll
vprob.scsi.device.thinprov.atquota|Space utilization on thin-provisioned device {1} exceeded configured threshold.WarningSystemAll
vprob.storage.connectivity.lost|Lost connectivity to storage device {1}. Path {2} is down. Affected datastores: {3}.CriticalSystemAll
vprob.storage.redundancy.degraded|Path redundancy to storage device {1} degraded. Path {2} is down. {3} remaining active paths. Affected datastores: {4}.WarningSystemAll
vprob.storage.redundancy.lost|Lost path redundancy to storage device {1}. Path {2} is down. Affected datastores: {3}.WarningSystemAll
vprob.vmfs.heartbeat.recovered|Successfully restored access to volume {1} ({2}) following connectivity issues.InformationalSystemAll
vprob.vmfs.heartbeat.timedout|Lost access to volume {1} ({2}) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly.InformationalSystemAll
vprob.vmfs.heartbeat.unrecoverable|Lost connectivity to volume {1} ({2}) and subsequent recovery attempts have failed.CriticalSystemAll
vprob.vmfs.journal.createfailed|No space for journal on volume {1} ({2}). Opening volume in read-only metadata mode with limited write support.CriticalSystemAll
vprob.vmfs.lock.corruptondisk|At least one corrupt on-disk lock was detected on volume {1} ({2}). Other regions of the volume may be damaged too.CriticalSystemAll
vprob.vmfs.nfs.server.disconnect|Lost connection to server {1} mount point {2} mounted as {3} ({4}).CriticalSystemAll
vprob.vmfs.nfs.server.restored|Restored connection to server {1} mount point {2} mounted as {3} ({4}).InformationalSystemAll
vprob.vmfs.resource.corruptondisk|At least one corrupt resource metadata region was detected on volume {1} ({2}). Other regions of the volume might be damaged too.CriticalSystemAll
vprob.vmfs.volume.locked|Volume on device {1} locked, possibly because remote host {2} encountered an error during a volume operation and could not recover.CriticalSystemAll

RHEV

Red Hat Enterprise Virtualization (RHEV) es una de las tecnologías más usadas por empresas que tienen como base el sistema operativo Red Hat en su Data Center. Pandora FMS Enterprise ofrece la posibilidad de monitorizar las arquitecturas virtuales basadas en RHEV mediante el plugin RHEV Monitoring Plugin que permite controlar de forma sencilla todos los aspectos relacionados con la arquitectura virutal RHEV.

Arquitectura a monitorizar

Con el plugin es posible monitorizar la arquitectura completa de un sistema RHEV: Data Centers, Host Clusters, Storage Domains, Networks, Hosts y Virtual Machines, ofreciendo una visión global del estado del entorno virtual.

Para ello Pandora usa el API oficial que provee el sistema de virtualización RHEV.

Monitorización con RHEV Monitoring Plugin

La monitorización de entornos virtuales RHEV se basa en dos componentes:

  1. Un plugin de agente que realiza las tareas de autodescubrimiento y recogida datos. El plugin de agente es el encargado de enviar la información a Pandora FMS.
  2. Un scrip de reconocimiento que actualiza diversos valores para las entidades descubiertas. Este script es necesario para el correcto funcionamiento de las extensiones del plugin.
  3. Extensión RHEV Viewer y RHEV Manager. Son extensiones que aportan un valor añadido permitiendo ver la infraestructura monitorizada y operar apadando/encendiendo máquinas virtuales todo ello desde la consola web de Pandora FMS.


Para poder usar el script de reconocimiento es necesario tener activados el reconserver

Para que ciertas variables del API reflejen el valor real de la máquina virtual asociada es necesario instalar el Agente de RHEV podrá encontra todo al respecto en la documentación de su versión de RHEV

Para la monitorización del sistema operativo instalado en las máquinas virtuales se recomienda usar un agente de Pandora FMS en lugar del API RHEV

Funcionamiento interno del plugin

El plugin RHEV Monitoring Plugin extrae la información mediante el API web que sirve el entorno de virtualización RHEV.

Si sólo necesita la información de monitorización lo único que tiene que configurar es el plugin de agente que realizará esta tarea.

El plugin de agente realiza un descubrimiento de dispositivos y compone los XML con los módulos para cada uno de ellos. La configuración del plugin permite escoger qué elementos van a ser monitorizados y la configuración de sus módulos. Los módulos creados por el plugin son configurables y es posible: cambiar el nombre y la descripción y añadir valores máximos y mínimos para los estados Warning y Critical del módulo.


La actualización de valores para los estados Warning y Critical a través de XML está disponible para versiones 4.0 y posteriores de Pandora FMS, en versiones anteriores será necesario realizar esta configuración mediante la consola web

Una vez creados los XMLs el plugin de agente envía los archivos, bien usando tentacle o bien los copia a un directorio local, según el método de transferencia escogido.

Si además va a usar las extensión RHEV Viewer y RHEV Manager necesitará usar el script de reconocimiento.

El script de reconocimiento es el encargado de actualizar unas variables para cada uno de los agentes detectados en Pandora según los valores configurados en RHEV. Estas variables son necesarias para poder visualizar las entidades correctamente en la extensión RHEV Viewer y gestionar adecuadamente las máquinas virtuales con la extensión RHEV Manager.

Requisitos previos a la instalación

El plugin de agente requiere el siguiente software:

  • curl
  • perl-XML-Simple
  • agente software de Pandora FMS
  • tentacle_client (si se quiere usar tentacle para enviar los archivos, tentacle_client se instala junto con el Agente Software de Pandora FMS)

Red Hat

En sistemas basados en Red Hat puede instalar las dependencias con el comando:

yum install perl-XML-Simple curl

SLES

En sistemas basados en SUSE puede instalar las dependencias con el comando:

zypper install perl-XML-Simple curl

Debian/Ubuntu

En sistemas basados en Debiand/Ubuntu puede instalar las dependencias con el comando:

apt-get install libxml-simple-perl curl

Instalación del agente software de Pandora FMS

La instalación del agente software de Pandora FMS se explica en la sección Instalación de Pandora FMS, ahí encontrará todo lo necesario para realizar la instalación de dicho agente en su plataforma.

Descarga del certificado de RHEV

Antes de usar el plugin será necesario descargar el certificado que permite la conexión por HTTPS al API de RHEV. Para ello ejecute el siguiente comando:

curl -o rhevm.cer http://[RHEVM-HOST]:8080/ca.crt

Donde [RHEVM-HOST] es el nombre del servidor que sirve el API de RHEV. Un ejemplo concreto podría ser:

curl -o rhevm.cer http://rhevm.server:8080/ca.crt

Una vez descargado el certificado podemos comprobar que la conexión al API se realiza de forma correcta con el siguiente comando:

curl -X GET -H "Accept: application/xml" -u [USER:PASS] --cacert [CERT] https://[RHEVM-HOST]:8443/api

Con los siguientes valores:

  • USER: usuario@dominio para conectarse al API
  • PASS: contraseña del usuario con el que se conectará al API
  • CERT: ruta al certificado descargado en el paso anterior
  • RHEVM-HOST: dirección del host que sirve el API

Un ejemplo con datos concretos del comando sería como el siguiente:

curl -X GET -H "Accept: application/xml" -u [user@testdomain:12345] --cacert /home/user/ca.crt https://rhevm.server:8443/api

Si todo fue bien el comando devolverá una salida en formato XML con información general sobre el API de RHEV.

Consideraciones previas sobre la configuración de RHEV

En el entorno de virutalización RHEV es posible que varias entidades tengan un mismo nombre. Esto supone un problema ya que en Pandora FMS esas entidades se transformarán en agentes en los que no se permite duplicidad en los nombres. Además también generará problemas a la hora de parsear el resultado devuelto por el API en formato XML mostrando un error parecido al siguiente:

Warning: <data_center> element has non-unique value in 'name' key attribute: Default at ./plugin-rhev.pl line 199

Para solucionar el problema lo único necesario es seguir una nomenclatura de nombres para las entidades del entorno de virutalización RHEV en el que no se repitan los nombres.

Instalación del plugin de agente

Para instalar el plugin de agente sólo tiene que copiar el script rhev-plugin.pl y el archivo de configuración rhev-plugin.conf en un directorio de la máquina donde está instalado el agente de Pandora que ejecutará el plugin. El plugin se puede ejecutar en un agente instalado en las misma máquina que el servidor de Pandora FMS o en otra máquina distinta.

Para ejecutar el plugin debe añadir al archivo de configuración del agente (por defecto /etc/pandora/pandora_agent.conf) la siguiente línea:

module_plugin /root/rhev-plugin.pl /root/rhev-plugin.conf

Añadiendo esta línea el plugin de agente realizará sus funciones en cada ejecución del agente.

Monitorizando la arquitectura virtual RHEV

Para ver el resultado de la ejecución del plugin de agente entramos en Monitoring > Views > Agent Detail.

Archivo:Entornos virtuales 28.png



Como se puede ver, el plugin ha creado un agente en Pandora FMS por cada una de las entidades detectadas en el descubrimiento de la arquitectura RHEV.

Entornos virtuales 29.png



Si pulsamos sobre el nombre de un agente podremos ver los módulos de monitorización creados por el plugin, además de otros datos relativos al agente como se puede ver en la siguiente imagen:

Entornos virtuales 30.png



Para cada tipo de entidad se crean automáticamente una serie de módulos determinados monitorizando la información importante de cada una de ellas. Por ejemplo en la siguiente imagen se pueden ver algunos de los módulos que se crean para monitorizar las Máquinas Virtuales.

Entornos virtuales 31.png



Si el agente seleccionado correspondiera a un Host en lugar de una Máquina Virtual, los módulos de monitorización serían distintos. La siguiente imagen muestra un ejemplo de los módulos que contiene un agente referenciado a un Host.

Entornos virtuales 32.png



El plugin RHEV también monitoriza los eventos ocurridos dentro de la arquitectura virtual. El plugin creará un módulo para cada evento monitorizado dentro de cada entidad afectada, como se puede ver en la siguiente imagen.

Entornos virtuales 33.png



Los datos para los módulos creados a partir de eventos son datos del evento: hora del suceso, descripción del evento. Un ejemplo de datos se puede ver en la siguiente imagen.

Entornos virtuales 34.png



Además de los agentes y los módulos relativos a la arquitectura RHEV propiamente dicha, se genera un módulo en el agente que ejecuta el plugin. Este módulo se llama, por defecto, RHEV Plugin un ejemplo del resultado de este módulo se ve en la siguiente imagen.

Entornos virtuales 35.png



El contenido del módulo será el resultado de ejecución del plugin, podrá ser OK si todo es correcto o mostrará una cadena de error con la explicación del mismo si algo inesperado ocurre. Esta información además de en el módulo del plugin se podrá consultar en un archivo de log.

Monitorizando el estado de las entidades

Los módulos de estado de las diferentes entidades devuelven los valores predefinidos en la arquitectura RHEV. Esto significa que los valores serán cadenas de texto cuyo contenido será: up, down, error, maintenance, non_operational, etc. dependiendo del estado y la entidad monitorizada.

Para asignar valores warning y critical será necesario definir una expresión regular en la configuración del módulo. Por ejemplo, para definir un estado crítico en un módulo que está determinado por los valores error, down y non_operational, insertamos en el campo Str. del valor critical del módulo la siguiente expresión regular:

error|down|non_operational

En versiones anteriores a Pandora FMS 4.0 no está disponible esta opción, pero podrá definir una alerta que se dispare usando la misma condición. Para crear una plantilla con el mismo ejemplo anterior realizaríamos los siguientes pasos:

  1. Crearemos una plantilla de alerta con prioridad crítica y en el campo Condition Type usaremos el tipo Regular expresion.
  2. En el campo value insertaremos una expresion regular como la siguiente: error|down|non_operational. Esto quiere decir que la alerta será disparada cuando el módulo tome los valores error, down o non_operational.
  3. Completaremos los pasos restantes de creación de la plantilla normalmente.

Una vez definida la plantilla podremos escoger cualquier acción a ejecutar cuando la alerta se dispare: crear un evento, enviar un email o SMS, etc.

Módulos de agente de la arquitectura virtual RHEV

A continuación se detallan los módulos disponibles para cada elemento de la arquitecture RHEV.

Data Center

  • Status: Estado del Data Center.

Storage Domain

  • Available Space: Espacio disponible en el Storage Domain.
  • Committed Space: Espacio comprometido en el Storage Domain.
  • Used Space: Espacio usado en el Storage Domain.
  • Percent Free Space: Procentaje de espacio libre en el Storage Domain.

Network

  • Status: Estado de la red virtual.
  • STP Status: Estado de la funcionalidad Spanning Tree Protocol

Cluster

  • Overcommit Percent: Porcentaje de sobreasignación del cluster.
  • Transparent HugePages: Estado de la funcionalidad Transparent HugePages.
  • High threshold: Límite superior en las políticas de planificación.
  • Low threshold: Límite inferior en las políticas de planificación.
  • Threshold duration: Duración de los límites en las políticas de planificación.

Host

  • Status: Estado del Host.
  • Buffers size: Tamaño de los buffers.
  • Cache size: Tamaño de la cache.
  • Cached swap: Cantidad de memoria Swap cacheada (en bytes).
  • Free memory: Cantidad de memoria libre (en bytes).
  • Percent free memory: Porcentaje de memoria libre.
  • Swap cached percent: Procentaje de memoria Swap cacheada.
  • Swap free: Cantida de memoria Swap libre (en bytes).
  • Swap free percent: Porcentaje de memoria Swap libre.
  • Total Memory: Cantidad total de memoria del Host (en bytes).
  • Total Swap: Cantidad total de memoria Swap (en bytes).
  • Used memory: Cantidad total de memoria usada (en bytes).
  • Used Swap: Cantidad total de memoria Swap usada (en bytes).
  • Nic [x] TX: Ratio de transferencia para el nic x (en bytes/segundo). Se genera uno por cada interfaz de red detectada.
  • Nic [x] RX: Ratio de recepción para el nic x (en bytes/segundo). Se genera uno por cada interfaz de red detectada.
  • Nic [x] erros TX: Número de errores de transmisión para en nic x. Se genera uno por cada interfaz de red detectada.
  • Nic [x] erros RX: Número de errores de recepción para en nic x. Se genera uno por cada interfaz de red detectada.
  • User CPU: Porcentaje de CPU usada por el usuario.
  • System CPU: Porcentaje de CPU usada por el sistema.
  • CPU Idle: Porcentaje de CPU ociosa.
  • CPU Load: Carga media de CPU de los últimos 5 minutos.
  • KSM CPU: Porcentaje de CPU usado por KSM.
  • Active VM: Número de máquinas virtuales activas en el Host.
  • Migrating VM: Número de máquinas virtuales en migración en el Host.
  • Total VM: Número total de máquinas virtuales del Host.
  • Fence Status: Estado del fencing del host.

Virtual Machine

  • Status: Estado de la máquina virtual.
  • Disk [x] read: Tasa de lectura del disco x (bytes/segundo). Se genera uno por cada disco detectado.
  • Disk [x] write: Tasa de escritura del disco x (bytes/segundo). Se genera uno por cada disco detectado.
  • Disk [x] size: Tamaño del disco x (en bytes). Se genera uno por cada disco detectado.
  • Disk [x] status: Estado del disco x. Se genera uno por cada disco detectado.
  • Nic [x] TX: Ratio de transferencia para el nic x (en bytes/segundo). Se genera uno por cada interfaz de red detectada.
  • Nic [x] RX: Ratio de recepción para el nic x (en bytes/segundo). Se genera uno por cada interfaz de red detectada.
  • Nic [x] erros TX: Número de errores de transmisión para en nic x. Se genera uno por cada interfaz de red detectada.
  • Nic [x] erros RX: Número de errores de recepción para en nic x. Se genera uno por cada interfaz de red detectada.
  • Installed memory: Cantidad de memoria instalada (en bytes).
  • Percent free memory: Porcentaje de memoria libre.
  • Used memory: Cantidad de memoria usada (en bytes).
  • Stateless: Estado de la funcionalidad Stateless.
  • HA Status: Estado de la funcionalidad de HA.
  • Total CPU: Porcentaje total de CPU usada por la máquina virtual.
  • Hypervisor CPU: Porcentaje de CPU del Hypervisor usado por la máquina virtual.
  • Guest CPU: Porcentaje de CPU del Host que usa la máquina virtual.

Eventos

  • Event [x]: Descripción del evento x ocurrido en el sistema. Se crearan uno por cada evento detectado en los agentes afectados.

Gestión y visualización de la arquitectura RHEV

En esta sección se explica la instalación, configuración y funcionamiento de las extensióndes RHEV View y RHEV Manager.


Las extensiones RHEV View y RHEV Manager sólo funcionan correctamente con versiones de Pandora FMS 4.0.2 o superiores

Instalación de la recon task

A continuación se detalla la instalación del script de reconocimiento y la creación de la tarea de reconocimiento que actualizan las variables usadas en las extensiones.

Instalación del Recon Script

Antes de crear la recon task, debemos registrar el Recon Script que actualiza las variables necesarias para el funcionamiento de las extensiones. Para ello seleccionamos el submenú Manage recon script dentro del menú Manage Servers.

Entornos virtuales 36.jpg



Una vez que vemos la pantalla inicial del submenú Manage recon script pulsamos en el botón Add.

Entornos virtuales 37.jpg



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.

Entornos virtuales 38.png



Una vez registrado el script veremos una pantalla que informa del correcto funcionamiento de la operación y muestra el script registrado en la lista.

Entornos virtuales 39.png


Creación de Recon Task

Para que las variables necesarias para las extensiones se actualicen de forma periodica crearemos una Recon Task que se ejecutará cada cierto tiempo. Para crear una Recon Task pulsamos en el submenú Recon Task dentro del menú Manage Servers.

Entornos virtuales 40.jpg



Al pulsar veremos la siguiente imagen que muestra la vista general de Recon Task, en ella pulsamos en el botón Create para crear una nueva tarea.

Entornos virtuales 41.jpg



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 RHEV Recon Script).



Los campos Script field están reservados para los parámetros del script que hemos registrado. En concreto el script para la tecnología RHEV necesita los siguientes parámetros:

  • server: dirección host del servidor que sirve el API.
  • user: usuario para acceder al API, en formato "user@domain".
  • pass: contraseña para acceder al API.
  • cert: localización del certificado para acceder al API.
  • pandoraconf: Path donde se encuentra el archivo de configuración de Pandora FMS.


El parámetro cert será usado por tanto Recon Task como por la extensión RHEV Manager por lo que es importante asegurar que tanto el servidor web como el servidor de Pandora FMS pueden acceder la locaclización del fichero

Por último pulsamos el botón Add para crear la nueva Recon Task.

Al pulsar el botón aparecerá la siguiente pantalla informando que la operación ha sido realizada con éxito y se mostrara la nueva Recon Task en la lista.

800px



En este momento tenemos una tarea de reconocimiento Recon Task que se ejecutará con el intervalo seleccionado y actualizará todas las variables de los agentes asociados a la arquitectura de virtualización de RHEV.

Instalación de extensiones RHEV View y RHEV Manager

Para instalar las extensiones simplemente debe copiar el contenido de la carpeta extensions que encontrará al descomprimir el plugin en la carpeta extensions de la parte enterprise de la consola de Pandora FMS, el comando a ejecutar es el siguiente:

cp -R extensions/* <pandora_console_dir>/enterprise/extensions/

Desde este momento ya están disponibles las extensiones de monitorización RHEV.

Usado la extensión RHEV View

Para usar la extensión RHEV View sólo tiene que pulsar en la opción RHEV View dentro del submenú Monitoring.

Entornos virtuales 44.png



La extensión mostrará un mapa como el siguiente con todos los componentes de la arquitectura RHEV descubiertos por el plugn.

Entornos virtuales 45.png



En el mapa aparecen representados los diferentes elementos de la arquitectura RHEV (Data Centers, Storage Domains, Clusters, Networks, Hosts y Virtual machines). Cada elemento está representado por un icono, distinto para cada tipo de elemento de la arquitectura. También quedan representadas las relaciones entre los diferentes elementos de la arquitectura RHEV. Con esta vista es muy sencillo ver el estado de los elementos y cómo se interrelacionan.

La extensión cuenta con un menú que permite configurar la vista ocultando o mostrando entidades, ampliando o reduciendo el tamaño del texto y realizando zoom para ver la imagen con más detalle.

Entornos virtuales 46.png



Por ejemplo en la siguiente imagen del mapa hemos ocultado los elementos Networks, Hosts y Virtual Machine de la arquitectura porque necesitamos ver en detalle las relaciones de Clusters y Storage Domains con los Data Center.

Entornos virtuales 47.png


Usado la extensión RHEV Manager

La extensión RHEV Manager está disponible en la vista de operación de los agentes de Pandora FMS que se correspondan con máquinas virtuales dentro de la arquitectura de virtualización RHEV.


Esta extensión usa el comando curl por lo que será necesario que esté instalado y sea accesible para el servidor web que soporte la consola de Pandora FMS

Para acceder a la extensión pulse en el botón con el logo de Red Hat que encontrarán junto con los demás tabs del agente.

Entornos virtuales 48.png



La extensión permite gestionar máquinas virtuales (encender, apager y suspender) sin necesidad de abrir la consola de gestión de RHEV. En la extensión se muestra el estado actual de la máquina virtual con un código de colores (verde = encendida, naranaja = suspendida y gris = parada), y un combo con los estados disponibles a los que podemos llevar la máquina virtual al pulsar el botón Change Status.

Entornos virtuales 49.png



Si por escogemos el estado Stop para parar la máquina virtual, la extensión conectará con el API RHEV y mandará la orden. El resultado será el cambio de estado en la máquina virtual y las opciones del combo, como se puede ver en la siguiente imagen.

Entornos virtuales 50.png



El paso entre algunos estado no es automático, como por ejemplo del estado Stop a Start. En este caso la extensión irá mostrando el estado de la máquina virtual según vaya cambiando en la arquitectura de virtualización. Por ejemplo para pasar de Stop a Start la máquina virtual pasa por los siguientes estados:

Entornos virtuales 51.pngEntornos virtuales 52.pngEntornos virtuales 53.pngEntornos virtuales 54.png


Configuración del plugin de agente

La configuración del plugin de agente se realiza mediante un archivo de configuración cuyo nombre por defecto es rhev-plugin.conf.

Por defecto el plugin de agente selecciona todas las entidades y crea todos los módulos correspondientes con unos valores predeterminados para el nombre y la descripción. Todos estos aspectos así como variables generales del plugin se pueden configurar a través del archivo de configuración.

Archivo de configuración

El archivo de configuración tiene dos áeras bien diferenciadas: las variables de globales y la configuración de la monitorización.

La sección de variables globales comienza con el token Configuration y contiene la información de configuración del plugin. Los parámetros permitidos en esta sección son:

  • module_name: nombre del módulo del agente con el estado de la ejecución del plugin.
  • server: nombre del host que sirve el API de RHEV.
  • user: usuario en formato usuario@dominio para conectarse al API.
  • pass: contraseña para conectarse al API.
  • cert: ruta del certificado para conectarse al API.
  • temporal: directorio temporal.
  • logfile: archivo de log.
  • transfer_mode: modo de transferencia. Puede tomar los calores: local o tentacle.
  • tentacle_ip: IP del servidor de tentacle al que enviar la información. Típicamente estará situado en la misma máquina que el servidor de Pandora. Esta opción sólo se usa si transfer_mode tiene el valor tentacle.
  • tentacle_port: puerto del servidor de tentacle. Esta opción sólo se usa si transfer_mode tiene el valor tentacle.
  • tentacle_opts: opciones de envío de datos para tentacle. Esta opción sólo se usa si transfer_mode tiene el valor tentacle.

La sección de configuración de la monitorización se divide en varias subsecciones. La primera subsección tiene como token Reject y sirve para listar las entidades del entorno de virtualización que serán descartadas de la monitorización. Para descartar una entidad será necesario poner el nombre de la misma en esta lista. Por ejemplo:

#Dismissed entities
Reject
mv1
mv_WindowsXP
mv_WebServer1
...

Es posible descartar todas las entidades de un mismo tipo, por ejemplo todos los hosts, todas las máquinas virtuales, etc. Los token para cada entidad son: all_dc (Data Center), all_host (Hosts), all_network (Networks), all_storage (Storage Domain), all_cluster (Cluster), all_vm (Máquinas Virtuales). Un ejemplo de uso de estos tokens sería:

#Dismissed entities
Reject
all_dc
all_host
all_network
all_storage
all_cluster
all_vm

La segunda sección tiene como token Rename y sirve para cambiar los nombres de las entidades monitorizadas a través del plugin. Esta funcionalidad es muy útil si se quiere combinar la monitorización de agentes software con datos extraidos del API en el mismo agente de Pandora FMS. La configuración de esta sección se realiza poniendo primero el nombre antiguo y a continuación el nuevo separado por un espacio, por ejemplo:

#Rename entities
Rename
mv_WebServer1 WebServer1
mv_WindowsXP WindowsXP Test
...

Las siguientes subsecciones se corresponden con la configuración de monitorización para cada entidad. Cada entidad tiene su propio token siendo los siguientes: DataCenter, StorageDomain, Network, Cluster, Host y VM. Para cada una de estas entidades es posible definir los módulos que estarán deshabilitados o definir unos valores personalizados para el nombre, la descipción y los rangos de máximos y mínimos para los estados Warning y Critical. Un ejemplo sería en siguiente:

#VM Modules
VM
status disabled
errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100
memory_used name = Memoria en uso; desc = Memoria usada por la maquina virtual; limits = 256 1024 1025 2048
...

Cada línea de configuración de los módulos de monitorización se corresponde dos opciones disponibles:

  • <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 ; ):

errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100 #Correcto
errors_total_tx name = Errores TX Net [%s]    ; desc = Errores totales TX de red    ; limits = 60 70 71 100 #Incorrecto

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 ejemplo de configuración para las máquinas virtuales, sección VM.

Para las monitorización de las máquinas virtuales se han definido una serie de módulos habiliados o no en la sección VM del archivo de configuración. Más concretamente: el módulo status ha sido deshabilitado y para los módulos errors_total_tx y memory_used se ha definido unos valores personalizados. Los demás módulos que no aparecen en el listado se crearán con los valores por defecto. Con esta configuración, el módulo memory_used tomará los siguientes valores:

  • Nombre: Memoria en uso
  • Descripción: Memoria usada por la maquina virtual
  • Min Warning: 256
  • Max Warning: 1024
  • Min Critical: 1025
  • Max Critical: 2048

Los módulos se generan dinamicamente por ejemplo dos relativos a discos o interfaces de los cuales se crea uno por cada elemento detectado tienen una sintaxis especial para el nombre del módulo que es la siguiente:

errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100

En estos casos como el nombre tiene parte dinámica lo que se permite es usar la macro %s que será sustituida por el plugin por la parte variable del nombre del módulo.

Por ejemplo el módulo errors_total_tx tiene por nombre por defecto:

Nic [nic1] errors TX 

Pasará a llamarse

Errores TX Net [nic1] 

Siendo nic1 la parte dinámica del nombre del módulo.


Todos los errores relativos al archivo de configuración son presentados en el log definido en el archivo de configuración y además son enviados como un módulo asíncrono a Pandora FMS que quedará reflejado como un módulo dentro del agente que ejecuta el plugin

Además de las secciones propias de cada elemento de la arquitectura el archivo de configuración tiene una sección común para los Eventos. Esta sección se define con el token EventCodes y en el se listarán los códigos de los eventos a moniorizar, por ejemplo:

EventCodes
30
920
980
509
956


Si no define esta sección, no se realizará la monitorización de eventos.

Dividir la carga de la monitorización entre varios Agentes Software

Mediante el archivo de configuración del plugin de agente es posible dividir la carga de monitorización de la infraestructura de virtualización RHEV.

Para ello se repartirán las entidades a monitorizar entre los distintos agentes. Supongamos que tenemos la siguiente arquitectura:

DC1
|
|- Cluster 1.1
|- c1.1mv1
|- c1.1mv2
|- c1.1mv3

|- Cluster 1.2
|- c1.2mv1
|- c1.2mv2
|- c1.2mv3

DC2
|
|- Cluster 2.1
|- c2.1mv1
|- c2.1mv2
|- c2.1mv3

|- Cluster 2.2
|- c2.2mv1
|- c2.2mv2
|- c2.2mv3

Una forma de dividir la carga sería asignando una Datacenter a cada uno de los agentes software, para ello usaríamos la funcionalidad para descartar entidades a monitorizar (token Reject).

El primer agente software monitoriza el Datacenter DC1 y descarta las entidades de DC2

Reject
DC2
Cluster 2.1
Cluster 2.2
c2.1mv1
c2.1mv2
c2.1mv3
c2.2mv1
c2.2mv2
c2.2mv3

El segundo agente software monitorizar el Datacenter DC2 y descarta las entidades de DC1

Reject
DC1
Cluster 1.1
Cluster 1.2
c1.1mv1
c1.1mv2
c1.1mv3
c1.2mv1
c1.2mv2
c1.2mv3

También podríamos dividir la carge basándonos en los clusters por ejemplo. El primer cuatro agentes software uno para cada cluster de los dos Datacenters.

Agente software 1, monitorizar Cluster 1.1 y descarta las demás entidades

Reject
DC1
Cluster 1.2
c1.2mv1
c1.2mv2
c1.2mv3
DC2
Cluster 2.1
Cluster 2.2
c2.1mv1
c2.1mv2
c2.1mv3
c2.2mv1
c2.2mv2
c2.2mv3

Agente software 2, monitorizar Cluster 1.2 y descarta las demás entidades

Reject
DC1
Cluster 1.1
c1.1mv1
c1.1mv2
c1.1mv3
DC2
Cluster 2.1
Cluster 2.2
c2.1mv1
c2.1mv2
c2.1mv3
c2.2mv1
c2.2mv2
c2.2mv3

Agente software 3, monitorizar Cluster 2.1 y descarta las demás entidades

Reject
DC1
Cluster 1.1
Cluster 1.2
c1.1mv1
c1.1mv2
c1.1mv3
c1.2mv1
c1.2mv2
c1.2mv3
DC2
Cluster 2.2
c2.2mv1
c2.2mv2
c2.2mv3

Agente software 4, monitorizar Cluster 2.2 y descarta las demás entidades

Reject
DC1
Cluster 1.1
Cluster 1.2
c1.1mv1
c1.1mv2
c1.1mv3
c1.2mv1
c1.2mv2
c1.2mv3
DC2
Cluster 2.1
c2.1mv1
c2.1mv2
c2.1mv3

La configuración de entidades descartadas es totalmente flexible y se podría llegar a dividir la carga asignando varias entidades a cada agente software.

Ejemplos de archivos de configuración

Archivo con todos los módulos deshabilitados
#These lines are comments

#Plugin configuration parameters
Configuration
server rhevm.server
user user@testdomain
pass 12345
cert /home/user/rhevm.cer
temporal /tmp
logfile /tmp/plugin-rhev.log
transfer_mode local
tentacle_ip 127.0.0.1
tentacle_port 41121
tentacle_opts

#Dismissed entities
Reject

#Data Center modules
DataCenter
status disabled

#StorageDomain modules
StorageDomain
available disabled
used disabled
committed disabled
free_percent disabled 

#Networks modules
Network
status disabled
stp disabled

#Clusters modules
Cluster
overcommit disabled
hugepages disabled
threshold_low disabled
threshold_high disabled
threshold_duration disabled

#Host Modules
Host
status disabled 
vm_active disabled
vm_migrating disabled
vm_total disabled
data_current_rx disabled
data_current_tx disabled
errors_total_rx disabled
errors_total_tx disabled
memory_cached disabled
memory_total disabled
swap_free_percent disabled
swap_cached_percent disabled
swap_free disabled
cpu_current_idle disabled
cpu_current_user disabled
memory_used disabled
ksm_cpu_current disabled
memory_free_percent disabled
swap_total disabled
memory_buffers disabled
cpu_current_system disabled
cpu_load_avg_5m disabled
swap_cached disabled
swap_used disabled
memory_free disabled
fence_status disabled

#VM Modules
VM
status disabled
stateless disabled
ha disabled
cpu_current_guest disabled
cpu_current_hypervisor disabled
memory_free_percent disabled
memory_installed disabled
memory_used disabled
cpu_current_total disabled
data_current_read disabled
data_current_write disabled
size disabled
disk_status disabled
data_current_rx disabled 
data_current_tx disabled
errors_total_rx disabled
errors_total_tx disabled

Tabla correspondencia nombres de módulos

Data Center
Nombre ExpandidoNombre Corto
Statusstatus
Storage Domain
Nombre ExpandidoNombre Corto
Available Spaceavailable
Used Spaceused
Committed Spacecommitted
Percent Free Spacefree_percent
Network
Nombre ExpandidoNombre Corto
Statusstatus
STP Statusstp
Cluster
Nombre ExpandidoNombre Corto
Overcommit Percentovercommit
Transparent HugePageshugepages
Low Thresholdthreshold_low
High Thresholdthreshold_high
Threshold durationthreshold_duration
Host
Nombre ExpandidoNombre Corto
Statusstatus
Active VMvm_active
Migrating VMvm_migrating
Total VMvm_total
Nic [x] RXdata_current_rx
Nic [x] TXdata_current_tx
Nic [x] errors RXerrors_total_rx
Nic [x] errors TXerrors_total_tx
Cache sizememory_cached
Total memorymemory_total
Swap free percentswap_free_percent
Swap cached percentswap_cached_percent
Swap freeswap_free
CPU Idlecpu_current_idle
User CPUcpu_current_user
Used memorymemory_used
KSM CPUksm_cpu_current
Percent free memorymemory_free_percent
Total swapswap_total
Buffers sizememory_buffers
System CPUcpu_current_system
CPU Loadcpu_load_avg_5m
Cached swapswap_cached
Used swapswap_used
Free memorymemory_free
Fence Statusfence_status
Virtual Machine
Nombre ExpandidoNombre Corto
Statusstatus
Statelessstateless
HA Statusha
Guest CPUcpu_current_guest
Hypervisor CPUcpu_current_hypervisor
Percent free memorymemory_free_percent
Installed memorymemory_installed
Used memorymemory_used
Total CPUcpu_current_total
Disk [x] readdata_current_read
Disk [x] writedata_current_write
Disk [x] sizesize
Disk [x] statusdisk_status
Nic [x] RXdata_current_rx
Nic [x] TXdata_current_tx
Nic [x] errors RXerrors_total_rx
Nic [x] errors TXerrors_total_tx


Nutanix

La solución de hiperconvergencia Nutanix, nos ofrece la posibilidad de gestionar todos los recursos de red, disco, procesamiento y memoria desde un único punto.

El plugin de monitorización de Pandora FMS para Nutanix, nos permite controlar en todo momento el estado de nuestra solución Nutanix.

Entornos virtuales 55.png


Funcionamiento del plugin

El plugin Nutanix es un programa escrito en Perl, que se conectará a la API REST de Nutanix PRISM, recuperando las métricas necesarias para monitorizar los siguientes elementos:

  • Clústers Nutanix
  • Dispositivos de almacenamiento
  • Contenedores
  • Máquinas Virtuales
  • Hosts
  • Estado de los procesos de replicación.


Requisitos del plugin

Para poder recuperar la información del API REST, necesitaremos:

  • La dirección IP/ FQDN del portal
  • Un usuario con permisos de lectura sobre la API.
  • La contraseña de dicho usuario.

En cuanto a la comunicación de los resultados de la monitorización a su Pandora FMS. Necesitará:

  • El modo de transferencia de la información, sea local o vía Tentacle.
    • En caso de ser local, la dirección del directorio donde han de entregarse los ficheros XML con los resultados así como permisos de escritura en dicho directorio.
    • En caso de ser comunicación vía Tentacle, será necesario poder conectar contra la dirección IP o FQDN del servidor Pandora, el puerto utilizado por su instalación Tentacle, la localización del cliente de Tentacle así como cualquier opción extraordinaria que haya definido.


Instalación del plugin

Descargue los archivos requeridos por el plugin de la librería de módulos:

https://library.pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=819


Transfiera los archivos al equipo remoto desde donde desea realizar la monitorización de su infraestructura Nutanix y extraiga los archivos del plugin:

tar xvzf pandora_nutanix.tar.gz


Configuración del plugin

Se declaran los siguientes campos:


Nutanix API configuration

nx_fqdn Dirección del servidor principal Prism nx_port Puerto en el que la API REST está publicada (por defecto 9440) nx_user Usuario con privilegios de lectura sobre la API REST nx_pass Contraseña de dicho usuario use_https Usar https (1) o no (0) nx_rest_version Versión del API Rest (por defecto 'v1')

Nutanix agent configuration

agent_interval Intervalo de los agentes generados por el plugin (por defecto 300) agent_group Grupo al que pertenecerán los agentes generados (si se comenta 'autocreate_group' en la configuración de su PandoraServer), por defectoNutanix module_interval Intervalo de los módulos de los agentes generados (factor de multiplicación, por defecto 1) module_tags Etiquetas asociadas a los nuevos módulos de los agentes generados. module_group Grupo al que pertenecerán los nuevos módulos.

Configuración de la comunicación hacia el servidor de Pandora

mode Modo de transferencia de datos, "local" o "tentacle" tentacle_ip dirección IP del servidor Pandora, solo aplica en modo tentacle tentacle_port Puerto en el que el servicio Tentacle está escuchando tentacle_opts Cualquier opción extra que haya configurado en su servicio Tentacle tentacle_client Ruta completa a su cliente Tentacle temp Directorio de trabajo temporal local_folder Ruta de entrega para el modo de transferencia de datos "local"

Filtros

cluster_monitoring Habilitar (1) o no (0) la monitorización de clústers storage_monitoring Habilitar (1) o no (0) la monitorización de dispositivos de almacenamiento container_monitoring Habilitar (1) o no (0) la monitorización de los contenedores de almacenamiento vm_monitoring Habilitar (1) o no (0) la monitorización de máquinas virtuales host_monitoring Habilitar (1) o no (0) la monitorización de servidores de máquinas virtuales (nodos Nutanix) pd_monitoring Habilitar (1) o no (0) la monitorización de dominios de protección

Personalizaciones

cluster_agent_header Cabecera para el nombre del agente de dispositivos de tipo clúster storage_agent_header Cabecera para el nombre del agente de dispositivos de tipo dispositivo de almacenamiento host_agent_header Cabecera para el nombre del agente de dispositivos de tipo servidor de máquinas virtuales (nodos Nutanix) container_agent_header Cabecera para el nombre del agente de dispositivos de tipo contenedores de almacenamiento vm_agent_header Cabecera para el nombre del agente de dispositivos de tipo máquina virtual pd_agent_header Cabecera para el nombre del agente de dispositivos de tipo dominio de protección

Reglas de generación de módulos

vm_stat Regla para agregado de módulos para la monitorización de máquinas virtuales, por defecto 'hypervisor_cpu_usage_ppm|hypervisor_memory_usage_ppm|.*avg.*', esto indica los módulos extraordinarios que se generarán, cuando el nombre de la métrica coincida con las expresiones regulares indicadas en este campo. Agrege el valor ".*" para monitorizar todas las métricas disponibles. host_stat Regla para agregado de módulos para la monitorización de servidores de máquinas virtuales (nodos Nutanix), por defecto 'hypervisor_cpu_usage_ppm|hypervisor_memory_usage_ppm|.*avg.*', esto indica los módulos extraordinarios que se generarán, cuando el nombre de la métrica coincida con las expresiones regulares indicadas en este campo. Agrege el valor ".*" para monitorizar todas las métricas disponibles. pd_stat Regla para agregado de módulos para la monitorización de dominios de protección, por defecto 'replication_transmitted_bandwidth_kBps|replication_total_transmitted_bytes', esto indica los módulos extraordinarios que se generarán, cuando el nombre de la métrica coincida con las expresiones regulares indicadas en este campo. Agrege el valor ".*" para monitorizar todas las métricas disponibles.

Renombrado de entidades

RENAME aaa TO bbb Regla para el renombrado de entidades, puede definir tantas directivas como elementos necesite renombrar

Exclusión de entidades

REJECT aaa Regla para la exclusión de monitorización de entidades, puede definir tantas directivas como elementos necesite excluir


Ejecución del plugin

Se recomienda ejecutar el plugin de forma remota desde un equipo con acceso tanto a Pandora Server como a su infraestructura Nutanix a monitorizar.

Ejecución manual:

./pandora_nutanix-linux-x64 pandora_nutanix.conf


Puede automatizar la ejecución del plugin en el cron de sistema agregando la siguiente línea a /etc/crontab

*/5 * * * * root /path/to/plugin/pandora_nutanix-linux-x64 /path/to/plugin/pandora_nutanix.conf


Resultados del plugin

Capturas con los resultados obtenidos por el plugin:


Ejemplo de mapa de arquitectura Nutanix:

Entornos virtuales 56.JPG



Ejemplo de vista de agente de arquitectura Nutanix:

Entornos virtuales 57.JPG



Ejemplo de vista de módulos para agentes de tipo Host Nutanix:

Entornos virtuales 58.JPG


XenServer

Xen es un monitor de máquina virtual de código abierto desarrollado por la Universidad de Cambridge.

La meta del diseño es poder ejecutar instancias de sistemas operativos con todas sus características, de forma completamente funcional en un equipo sencillo.

Xen proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales en caliente. Los sistemas operativos pueden ser modificados explícitamente para correr Xen (aunque manteniendo la compatibilidad con aplicaciones de usuario). Esto permite a Xen alcanzar virtualización de alto rendimiento sin un soporte especial de hardware.

Intel ha realizado diversas contribuciones a Xen que han permitido añadir soporte para sus extensiones de arquitectura VT-X Vanderpool. Esta tecnología permite que sistemas operativos sin modificar actúen como hosts dentro de las máquinas virtuales de Xen, siempre y cuando el servidor físico soporte las extensiones VT de Intel o Pacifica de AMD.

Entornos virtuales 59.png


Funcionamiento del plugin

El plugin Pandora FMS para la monitorización de entornos Xen, está escrito en Python. Utiliza XenAPI para recuperar toda la información necesaria. Permite la monitorización de los siguientes tipos de elementos:

  • Sistemas virtualizados en Xen
  • Recursos de almacenamiento
  • propio servidor Xen (host).

Entornos virtuales 60.PNG


Requisitos del plugin

Es imprescindible que el sistema que ejecute el plugin disponga de los siguientes requisitos:

  • Python instalado
  • Librerías Python instaladas:
    • XenAPI
    • xmltodict
  • Acceso a la API de su XenServer (web, habilite el tráfico desde el equipo que ejecuta el plugin al puerto 443 o el 80 del XenServer)
  • Se recomienda que las máquinas virtuales tengan Xen Server Tools instalada, ya que la información disponible en caso contrario es bastante excasa.

El funcionamiento del plugin se ha probado satisfactoriamente en sistemas XenServer 6.5 y 7.2

Instalación del plugin

Descargue su copia del plugin de Pandora FMS para XenServer de la librería de módulos siguiendo el siguiente enlace:

https://library.pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=634

Puede desplegarlo en el equipo que prefiera (Windows o Linux), extrayendo el contenido del archivo en un directorio no volátil desde donde pueda ejecutarlo ya bien sea utilizando el agente de Pandora FMS o el cron de sistema.

Configuración del plugin

Configuración disponible para el plugin Pandora FMS para Xen:

Bloque de configuración [CONF]

xen_server_ip Dirección IP/FQDN del servidor Xen user Usuario con permisos de consulta sobre la API de Xen password Contraseña del usuario temporal Directorio de trabajo temporal

Bloque de configuración [PANDORA]

tentacle_client Ubicación del binario del cliente de Tentacle tentacle_ip Dirección IP donde el servicio Tentacle está escuchando. tentacle_port Puerto donde el servicio Tentacle está escuchando. logfile Ruta completa al fichero de log interval Intervalo de los agentes generados group Grupo asignado a los agentes generados.

Bloque de configuración [TUNNING]

time_adjustment Parámetro que permite el ajuste de las posibles diferencias de tiempo entre el equipo que ejecuta el plugin y el servidor Xen. (por defecto =10, medido en segundos)


Ejecución del plugin

Puede programar la ejecución del plugin desde cualquier agente de Pandora FMS agregando lo siguiente a la configuración del mismo:

module_plugin python "<ruta>\xen-plugin.py" "<ruta>\xen-plugin.conf"


Para programarlo a través del cron de sistema puede añadir la línea siguiente a /etc/crontab:

*/5 * * * * root python "<ruta>\xen-plugin.py" "<ruta>\xen-plugin.conf" > /dev/null 2>&1


Si ejecuta el plugin manualmente la salida debe ser similar a la que sigue:

python "<ruta>\xen-plugin.py" "<ruta>\xen-plugin.conf"
<module>
<name><![CDATA[XenServer Plugin]]></name>
<type><![CDATA[async_string]]></type>
<description><![CDATA[Result of XenServer Plugin execution]]></description>
<![CDATA[OK]]>
</module>


Resultados del plugin

Capturas con los resultados obtenidos por el plugin:


Ejemplo de mapa de arquitectura Xen:

Entornos virtuales 61.PNG



Ejemplo de vista de agente de arquitectura Xen:

Entornos virtuales 62.PNG



Ejemplo de vista de módulos para agentes de tipo Host Xen:

Entornos virtuales 63.PNG


OpenNebula

OpenNebula es una plataforma para computación en la nube orientado a centros de datos distribuidos y heterogéneos, proporcionando la infraestructura virtual para construir nubes privadas, públicas, e implementaciones híbridas de infraestructura como servicio (IaaS).

OpenNebula es software de fuente abierta amparado en la Licencia apache 2.


Entornos virtuales 64.png


Funcionamiento del plugin

El plugin Pandora FMS para la monitorización de entornos OpenNebula, está escrito en Perl. Se ejecuta de manera local en el servidor OpenNebula y recuperara toda la información necesaria utilizando los propios comandos de gestión de OpenNebula. Permite la monitorización de los siguientes tipos de elementos:

  • Clústers
  • Hosts
  • Máquinas virtuales
  • Recursos de almacenamiento


Requisitos del plugin

Es imprescindible que el sistema que ejecute el plugin disponga de los siguientes requisitos:

  • Perl disponible en el equipo
  • Usuario con privilegios para ejecutar los siguientes comandos:
    • onehost
    • onecluster
    • onedatastore

El funcionamiento del plugin se ha probado satisfactoriamente en sistemas OpenNebula 5.X.X

Instalación del plugin

Descargue su copia del plugin de Pandora FMS para OpenNebula de la librería de módulos siguiendo el siguiente enlace:

https://library.pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=820


Debe extraer el contenido del archivo en un directorio no volátil desde donde pueda ejecutarlo ya bien sea utilizando el agente de Pandora FMS o el cron de sistema.

unzip pandora_OpenNebula.zip


Configuración del plugin

Configuración disponible para el plugin Pandora FMS para OpenNebula:

Configuración de la comunicación hacia el servidor de Pandora

mode Modo de transferencia de datos, "local" o "tentacle" tentacle_ip dirección IP del servidor Pandora, solo aplica en modo tentacle tentacle_port Puerto en el que el servicio Tentacle está escuchando tentacle_opts Cualquier opción extra que haya configurado en su servicio Tentacle tentacle_client Ruta completa a su cliente Tentacle temp Directorio de trabajo temporal local_folder Ruta de entrega para el modo de transferencia de datos "local"

Configuración del agente

agent_interval Intervalo del agente, por defecto 300 agent_group Grupo del agente, por defecto OpenNebula

Personalización de los módulos

MODULE_GROUP Grupo de los módulos, por defecto OpenNebula MODULE_INTERVAL Intervalo de los módulos (multiplicador), por defecto 1 MODULE_TAGS Etiquetas para los módulos

Personalización de nombres

cluster_agent_header Cabecera para el nombre del agente de dispositivos de tipo clúster host_agent_header Cabecera para el nombre del agente de dispositivos de tipo servidor de máquinas virtuales storage_agent_header Cabecera para el nombre del agente de dispositivos de tipo dispositivo de almacenamiento vm_agent_header Cabecera para el nombre del agente de dispositivos de tipo máquina virtual

Filtros

cluster_monitoring Habilitar (1) o no (0) la monitorización de clústers host_monitoring Habilitar (1) o no (0) la monitorización de servidores de máquinas virtuales storage_monitoring Habilitar (1) o no (0) la monitorización de dispositivos de almacenamiento vm_monitoring Habilitar (1) o no (0) la monitorización de máquinas virtuales

Renombrado de entidades

RENAME aaa TO bbb Regla para el renombrado de entidades, puede definir tantas directivas como elementos necesite renombrar

Exclusión de entidades

REJECT aaa Regla para la exclusión de monitorización de entidades, puede definir tantas directivas como elementos necesite excluir


Ejecución del plugin

Para programarlo a través del cron de sistema puede añadir la línea siguiente a /etc/crontab:

*/5 * * * * root "<ruta>/pandora_opennebula" "<ruta>/pandora_opennebula.conf" > /dev/null 2>&1


Si ejecuta el plugin manualmente la salida debe ser similar a la que sigue:

[root@valhalla ~]# ./pandora_opennebula pandora_opennebula.conf
[root@valhalla ~]# echo $?
0


Resultados del plugin

Lista de módulos generados por el plugin OpenNebula:

Para Hosts:

  1. Available CPU
  2. Available Disk
  3. Available memory
  4. Error Error reported by OpenNebula
  5. State
  6. Total zombies
  7. VMs running


Para dispositivos de almacenamiento:

  1. Disk Free %


Para máquinas virtuales:

  1. Assigned CPU
  2. Assigned Memory
  3. Network RX
  4. Network TX
  5. State
  6. Time running

Ejemplo de mapa de arquitectura OpenNebula:

Entornos virtuales 65.PNG



IBM HMC

Este plugin permite monitorizar equipos de virtualización IBM AIX a través de la consola de administración de hardware HMC. Este plugin recolectará información de todas las particiones lógicas creadas en un entorno AIX administrado por un sistema HMC, creando un agente por cada servidor administrado, cada partición lógica y cada servidor IO virtual.

Para recoger la información vía SSH, el plugin puede utilizar tres modos de trabajo:

  1. Basado en expect utilizando el script ssh_launcher.sh
  2. Basado en la librería Net::SSH::Perl
  3. Basado en la librería Net::SSH::Expect

Para complementar la información capturada también se realizarán consultas contra la API REST (por defecto en https://fqdn:12443/rest/api/{root_element}).


Requisitos

Los parámetros necesarios para la monitorización que tiene que proporcionar el área que requiere los servicios de monitorización son:

  • Nombre de usuario para autenticarse en el sistema HMC (solo lectura)
    • El usuario debe tener permiso para poder conectarse a la API REST y para hacer login en la shell del HMC y ejecutar los siguientes comandos (como mínimo):
      • lssyscfg
      • lshwres
  • Contraseña de dicho usuario
  • Ubicación (FQDN/IP) del HMC (p.e. myhmc.mydomain)
  • URL base de la API rest del HMC (p.e. https://myhmc.mydomain:12443)


Módulos generados por el plugin

Los parámetros que monitoriza el plugin son (agrupados por tipo de elemento):

  • Current logical partitions Current logical partitions deployed
  • Max logical partitions Max available logical partitions
  • Max memory available Available memory
  • Max memory installed Max memory installed
  • Proc pool DefaultPool current proc units
  • Proc pool DefaultPool max proc units
  • Proc pool DevelopmentPool current proc units
  • Proc pool DevelopmentPool max proc units
  • Proc pool ProductionPool current proc units
  • Proc pool ProductionPool max proc units
  • Proc pool TestPool current proc units
  • Proc pool TestPool max proc units
  • Proc pool VIOPool current proc units
  • Proc pool VIOPool max proc units
  • Processor pools configured Processor pools configured
  • Processor units available Available processor units
  • Processor units installed Installed processor units
  • State Status of the managed system
  • UUID Used to query the HMC API
  • Virtual proc units max Max virtual processor units for logical partitions


LPAR:

  • Auto start Logical partition autostart configuration
  • LPAR type Logical partition type
  • LPAR UUID Used to query the HMC API
  • Max memory Max memory
  • Max memory current Available memory
  • Processor units available Available processor units
  • Processor units current Installed processor units
  • RMC IP address RMC IP address
  • RMC state RMC status on the LPAR
  • State Logical partition status
  • Virtual proc units Virtual processor units assigned to this LPAR


Virtual IO:

  • Auto start Logical partition autostart configuration
  • LPAR type Logical partition type
  • LPAR UUID Used to query the HMC API
  • Max memory Max memory
  • Max memory current Available memory
  • Processor units available Available processor units
  • Processor units current Installed processor units
  • RMC IP address RMC IP address
  • RMC state RMC status on the LPAR
  • State Logical partition status
  • Virtual proc units Virtual processor units assigned to this LPAR


Configuración del plugin

Configuración disponible para el plugin Pandora FMS para IBM HMC:


Configuración de la comunicación hacia el servidor de Pandora

mode Modo de transferencia de datos, "local" o "tentacle" tentacle_ip dirección IP del servidor Pandora, solo aplica en modo tentacle tentacle_port Puerto en el que el servicio Tentacle está escuchando tentacle_opts Cualquier opción extra que haya configurado en su servicio Tentacle tentacle_client Ruta completa a su cliente Tentacle temp Directorio de trabajo temporal local_folder Ruta de entrega para el modo de transferencia de datos "local"

Configuración de acceso a HMC

hmc_host IP o FQDN de la HMC hmc_user Usuario con permiso de lectura hmc_pass Contraseña

as_agent_plugin La salida del plugin se devolverá en formato XML para ejecuciones programadas con el agente de Pandora FMS (as_agent_plugin = 1). O salida estándar (as_agent_plugin = 0) para ejecuciones programadas con el cron de sistema o realizadas como plugin de servidor.

Configuración del agente

agent_name Opcional, indicar un nombre para el agente padre, por defecto `hostname` agent_interval Intervalo del agente, por defecto 300 agent_group Grupo del agente, por defecto IBM

Personalización de los módulos

module_group Grupo de los módulos, por defecto IBM module_interval Intervalo de los módulos (multiplicador), por defecto 1 module_tags Etiquetas para los módulos

Renombrado de entidades

Para el renombrado de entidades se utiliza un renombrado por bloque:

rename
MyLPAR_NAME TO my new name
MyLPAR_NAME2 TO my second new name
rename_end


Ejecución del plugin

El plugin de Pandora para la monitorización de sistemas IBM AIX a través de HMC se despliega de la siguiente manera:

Configurando el parámetro as_agent_plugin a 1 (ejecución como plugin de agente):

module_plugin /usr/bin/perl pandora_hmc.pl pandora_hmc.conf


Configurando el parámetro as_agent_plugin a 0 (ejecución como plugin de servidor):

# /etc/crontab
*/5 * * * * root /usr/bin/perl /root/hmc/pandora_hmc.pl /root/vmware/pandora_hmc .conf


HPVM

La virtualización de máquinas, provista por Hewlett-Packard, permite correr concurrentemente múltiples máquinas virtuales en cualquier servidor Itanium corriendo HP-UX. Es un producto optimizado para servidores.


Funcionamiento del plugin

Este plugin permite monitorizar equipos de virtualización HPVM. Se lanza como un plugin de agente, generando en paralelo un agente más por cada equipo virtualizado alojado en el sistema monitorizado.

Para recoger la información se utilizan comandos locales.

Requisitos del plugin

  1. Desplegar un agente de Pandora FMS en el equipo que se desee monitorizar
  2. Disponer de un usuario con permisos para ejecutar el plugin
  3. Este usuario debe disponer de permisos para ejecutar el comando hpvmstatus para poder interpretar la salida:
    1. hpvmstatus
    2. hpvmstatus -X
    3. hpvmstatus -r -X


Instalación del plugin

Descargue su copia del plugin de Pandora FMS para OpenNebula de la librería de módulos siguiendo el siguiente enlace: https://library.pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=639

Puede programar la ejecución utilizando colecciones y el agente de Pandora FMS desplegado o bien extraer el contenido del archivo en un directorio no volátil desde donde pueda ejecutarlo a través del cron de su sistema.

unzip pandora_HPVM.zip


Configuración del plugin

Configuración disponible para el plugin Pandora FMS para HPVM:


Configuración de la comunicación hacia el servidor de Pandora

mode Modo de transferencia de datos, "local" o "tentacle" tentacle_ip dirección IP del servidor Pandora, solo aplica en modo tentacle tentacle_port Puerto en el que el servicio Tentacle está escuchando tentacle_opts Cualquier opción extra que haya configurado en su servicio Tentacle tentacle_client Ruta completa a su cliente Tentacle temp Directorio de trabajo temporal local_folder Ruta de entrega para el modo de transferencia de datos "local"

Configuración del agente

agent_name Opcional, indicar un nombre para el agente padre, por defecto `hostname` agent_interval Intervalo del agente, por defecto 300 agent_group Grupo al que pertenecerán los agentes, por defecto HPVM

Personalización de los módulos

module_group Grupo de los módulos module_interval Intervalo de los módulos (multiplicador), por defecto 1 module_tags Etiquetas para los módulos


Ejecución del plugin

Ejecutando el plugin desde el agente de Pandora FMS, aparecerá en el fichero de configuración del agente:

module_plugin /usr/bin/perl pandora_hpvm.pl pandora_hpvm.conf

Para una prueba manual, configure el plugin siguiendo los pasos descritos, puede lanzarlo como sigue:

perl pandora_hpvm.pl pandora_hpvm.conf


Resultados del plugin

Lista de módulos generados por el plugin por tipo de elemento.

Agentes servidor (quien lanza el plugin)

  • Available VMs
  • HPVM Plugin HPVM Plugin execution status
  • HPVM Service Presence of hpvmctrld (X instances)
  • HPVM Service CPU usage CPU usage of hpvmctrld (X instances)
  • HPVM Service RAM usage RAM usage of hpvmctrld (X instances)
  • hpvmapp Presence of hpvmapp (X instances)
  • hpvmapp CPU usage CPU usage of hpvmapp (X instances)
  • hpvmapp RAM usage RAM usage of hpvmapp (X instances)

Máquinas virtuales

  • boot_type
  • console_type
  • CPU usage
  • device_number
  • direct_io_number
  • distributed
  • effective_serverid
  • guest_type
  • Host RAM available
  • Host RAM free
  • local_id
  • memory total
  • model_name
  • networks_number
  • run_pid
  • run_serverid
  • serial_number
  • uuid
  • vcpu_number
  • vm_condition
  • vm_config_label
  • vm_config_version
  • vm_state
  • vm_version
  • vm_version_label
  • No labels