Para monitorizar VMware®, XenServer®, MySQL®, Microsoft SQL Server®, Oracle®, DB2® y SAP R3® se utiliza Discovery PFMS®.
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 RHEV Monitoring Plugin.
Pandora FMS usa la API oficial que provee el sistema de virtualización 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.
La monitorización de entornos virtuales RHEV se basa en los siguientes componentes:
Para poder usar el script de reconocimiento es necesario tener activado el Discovery server. Para que ciertas variables de la API reflejen el valor real de la máquina virtual asociada es necesario instalar el Agente de RHEV; podrá encontrar todo al respecto en la documentación de su versión de RHEV.
El plugin RHEV Monitoring Plugin extrae la información mediante la API web que sirve el entorno de virtualización RHEV.
Si solamente necesita la información de monitorización lo único que tiene que configurar es el plugin de Agente que realizará esta tarea. La configuración del plugin permite escoger qué elementos van a ser monitorizados y la configuración de sus Módulos. Una vez creados los XML, 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 extensiones RHEV Viewer y RHEV Manager necesitará usar el script de reconocimiento. El guión de reconocimiento es el encargado de actualizar unas variables para cada uno de los Agentes detectados en Pandora FMS 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.
El plugin de Agente requiere el siguiente software:
tentacle_client
de Pandora FMS.En sistemas basados en Red Hat® puede instalar las dependencias con el comando:
yum install perl-XML-Simple curl
En sistemas basados en SUSE puede instalar las dependencias con el comando:
zypper install perl-XML-Simple curl
En sistemas basados en Debian/Ubuntu puede instalar las dependencias con el comando:
apt-get install libxml-simple-perl curl
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 puede comprobar que la conexión a la API se realiza de forma correcta con el siguiente comando mediante el uso de conectores de línea \
:
curl -X GET \ -H "Accept: application/xml" \ -u [USER:PASS] \ --cacert [CERT] https://[RHEVM-HOST]:8443/api
Con los siguientes valores:
Ejemplo con datos concretos del comando:
curl -X GET \ -H "Accept: application/xml" \ -u [user@testdomain:12345] \ --cacert /home/user/ca.crt https://rhevm.server:8443/api
Si la ejecución de comando es positiva, devolverá una salida en formato XML con información general sobre la API de RHEV.
En el entorno de virtualizació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 la 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 virtualización RHEV en el que no se repitan los nombres.
Para instalar el plugin de Agente solo 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 FMS que ejecutará el plugin. El plugin se puede ejecutar en un Agente instalado en las mismas 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.
Para ver el resultado de la ejecución del plugin de Agente vaya a Operation → Monitoring → Views → Agent Detail. Al pulsar el nombre de un Agente podrá ver los Módulos de monitorización creados por el plugin, además de otros datos relativos.
El plugin crea un Agente en Pandora FMS por cada una de las entidades detectadas en el descubrimiento de la arquitectura RHEV. 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.
Si el Agente seleccionado correspondiera a un Host en lugar de una Máquina Virtual, los módulos de monitorización serían distintos.
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. Los datos para los Módulos creados a partir de eventos son datos del evento: hora del suceso, descripción del evento.
Además de los Agentes y los Módulos relativos a la arquitectura RHEV propiamente dicha, se genera un Módulo llamado, por defecto RHEV Plugin, en el Agente que ejecuta el plugin.
Existe la posibilidad de crear tareas personalizadas de reconocimiento gracias al Discovery server.
Para instalar las extensiones simplemente debe copiar el contenido de la carpeta extensions
, que encontrará al descomprimir el plugin, en la correspondiente 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 ese momento estarán disponibles las extensiones de monitorización RHEV.
Para usar la extensión RHEV View solo tiene que pulsar en la opción RHEV View dentro del submenú Monitoring.
La extensión mostrará un mapa con todos los componentes de la arquitectura RHEV descubiertos por el plugin.
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á junto con los demás pestañas del agente.
La extensión permite gestionar máquinas virtuales (encender, apagar 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:
Con un combo con los estados disponibles a los estados que se puede llevar la máquina virtual al pulsar el botón Change Status.
Si escoge el estado Stop para detener la máquina virtual, la extensión conectará con la API RHEV y enviará la orden. El resultado será el cambio de estado en la máquina virtual y las opciones del combo.
El paso entre algunos estados 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.
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.
El archivo de configuración tiene dos áreas bien diferenciadas: las variables 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:
local
o tentacle
.transfer_mode
tiene el valor tentacle
.transfer_mode
tiene el valor tentacle
.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_Windows10 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). Ejemplo de uso de estos tokens:
#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 extraídos de la 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_Windows10 Windows10 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 descripción y los rangos de máximos y mínimos para los estados Warning
y Critical
. Un ejemplo sería el 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:
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 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 ;
):
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.
Ejemplo de configuración para las máquinas virtuales, sección VM:
Para la monitorización de las máquinas virtuales se han definido una serie de Módulos habilitados 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 han 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:
Los Módulos se generan dinámicamente; 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 él se listarán los códigos de los eventos a monitorizar; por ejemplo:
EventCodes 30 920 980 509 956
Si no define esta sección, no se realizará la monitorización de eventos.
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. Suponga que tiene 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 un 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 monitoriza 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 carga basándonos en los clústeres, por ejemplo. Para cada clúster de los dos Datacenters se asignará un agente de los cuatro primeros.
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.
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:
Para poder recuperar la información de la API REST, necesita:
En cuanto a la comunicación de los resultados de la monitorización a su Pandora FMS necesita:
Descargue los archivos requeridos por el plugin de la biblioteca de Módulos. 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
Se declaran los siguientes campos:
Nutanix API configuration
Nutanix agent configuration
Nutanix
.Configuración de la comunicación hacia el servidor de Pandora FMS
Filtros
Personalizaciones
Reglas de generación de Módulos
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. Agregue el valor .*
para monitorizar todas las métricas disponibles.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. Agregue el valor .*
para monitorizar todas las métricas disponibles.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. Agregue el valor .*
para monitorizar todas las métricas disponibles.Renombrado de entidades
Exclusión de entidades
Se recomienda ejecutar el plugin de forma remota desde un equipo con acceso tanto a Pandora FMS 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
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:
Es imprescindible que el sistema que ejecute el plugin disponga de los siguientes requisitos:
Descargue una copia del plugin de Pandora FMS para XenServer de la biblioteca de módulos Puede desplegarlo en el equipo que prefiera (MS Windows® o GNU/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 disponible para el plugin Pandora FMS para Xen:
Bloque de configuración [CONF]
Bloque de configuración [PANDORA]
Bloque de configuración [TUNNING]
Bloque de configuración [RENAME]
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 se 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> <data><![CDATA[OK]]></data> </module>
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 recuperará toda la información necesaria utilizando los propios comandos de gestión de OpenNebula. Permite la monitorización de los siguientes tipos de elementos:
Es imprescindible que el sistema que ejecute el plugin disponga de los siguientes requisitos:
onehost
.onecluster
.onedatastore
.El funcionamiento del plugin se ha probado satisfactoriamente en sistemas OpenNebula 5.X.X .
Descargue su copia del plugin de Pandora FMS para OpenNebula de la biblioteca de módulos. 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
RENAME aaa TO bbb: Regla para el renombrado de entidades, puede definir tantas directivas como elementos necesite renombrar.
REJECT aaa: Regla para la exclusión de monitorización de entidades, puede definir tantas directivas como elementos necesite excluir.
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
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:
script ssh_launcher.sh
.Net::SSH::Perl
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}
Los parámetros necesarios que tiene que proporcionar el área que requiere los servicios de monitorización son:
myhmc.mydomain
)https://myhmc.mydomain:12443
Los parámetros que monitoriza el plugin son (agrupados por tipo de elemento):
LPAR:
Virtual IO:
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.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
El plugin de Pandora FMS 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
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.
Verifique cada uno de los siguientes pasos:
hpvmstatus
para poder interpretar la salida:hpvmstatus
.hpvmstatus -X
.hpvmstatus -r -X
.Descargue una copia del plugin de Pandora FMS para HPVM HP Virtualization Manager monitoring de la biblioteca de módulos. 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
hostname
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