Plugin Zevenet

Plugin de servidor para monitorizar balanceadores de carga Zevenet utilizando API Rest (Zapi)

Introducción

Version: 1.0 ESP Build (01062021)

Tipo: Plug-in de servidor

Con el plug-in se obtendrán métricas sobre el estado del balanceador y las granjas utilizando la API Rest (Zapi) disponible en el equipo. 

image-1624920672126.png

Este plug-in esta fue desarrollado en conjunto con Zevenet.com

SIGUIENTE >

 

 

Matriz de compatibilidad

Sistemas donde se ha probado

CentOS 7

Sistemas donde debería funcionar

Cualquier servidor de PandoraFMS Version 7.0NG

Balanceador

Zevenet con acceso a API Rest (Zapi)

< ANTERIOR SIGUIENTE>

Pre requisitos

Se requiere :

< ANTERIOR SIGUIENTE>

Configuración Zevenet

Desde el balanceador es necesario crear un nuevo usuario y crear una ZAPI Key, para esto desde la GUI del Balanceador

Para entrar en el balanceador desde nuestro navegador entramos a la gestión del equipo utilizando https://ip-zevenet:444 

Validamos nuestro usuario en este ejemplo es root 

image-1625601035141.png

Buscamos  Sistema -> RBAC -> Usuarios

image-1625601519993.png

Hacemos click en CREATE USER

image-1625601626414.png

Completamos los datos como se ve en la siguiente pantalla:
Nombre: Nombre de usuario
Perfil: Local (Validación local)
Contraseña: clave de acceso al usuario

image-1625601711402.png

En unos segundos el usuario se creo en forma exitosa
image-1625602002411.png
Para la utilizar el plugin en PandoraFMS es necesario tener permisos de consulta a la ZAPI de Zevenet vamos a ajustar los permisos para tener un perfil de solo lectura que nos permita leer la información del balanceador lo hacemos con los siguientes ajustes vamos a crear un nuevo grupo PandoraFMS y al mismo le vamos a otorgar permisos de monitoring un rol existente en el balanceador

Vamos a Sistema -> RBAC -> Grupos

image-1625602383698.png

Selecionamos CREAR GRUPO

image-1625602436644.png

Le damos un nombre al grupo PandoraFMS y seleccionamos APLICAR

image-1625602539256.png

Luego de crear el grupo sumamos al usuario pandorafms y el rol monitoring le seleccionamos APLICAR

image-1625602852653.png

Vamos a Recursos para definir que acceso le vamos a dar el usuario 

image-1625611868028.png

Si queremos que el usuario tenga acceso a todas las granjas y las interfaces seleccionamos todas las granjas y todas las interfaces

image-1625611963640.png

Nuevamente vamos a Sistema -> RBAC -> Usuarios

image-1625602999004.png

Hacemos click en el nombre de usuario que creamos en los paso anteriores

image-1625603083799.png

Seleccionamos Permisos de ZAPI -> GENERAR CLAVE ALTEATORIA, copiamos los datos en Clave para ZAPI es el valor necesario para el Plug-in de servidor lo copiamos y guardamos para poder copiar y pegar y luego le damos APLICAR 

image-1625603196284.png

Nota: es importante copiar la clave ahora ya que luego no será visible para copiar y pegar y se deberá generar una nueva

 

 

< ANTERIOR SIGUIENTE>

 

Configuracion PandoraFMS

Para poder utilizar este plug-in es indispensable contar con Python3 conectados por ssh ejecutamos los siguientes comandos 

yum -y install python3 python3-pip

image-1625606150631.png

Descagarmos el archivo para la instalación de los requerimientos con el siguiente comando 

wget https://pandorafms.com/library/wp-content/uploads/2021/07/zevenet.txt

image-1625610193920.png

Importamos el modulo request con con comando 

pip3 install -r zevenet.txt

image-1625606293872.png

Descargamos el plugin en nuestro equipo desde este enlace

Importamos el modulo en nuestro servidor de pandora desde el menú Servidores -> Registro plugin

image-1624921763841.png

Presionamos el botón Selecionar archivo

image-1624922043434.png

Buscamos el archivo zevenet_plugin.pspz2 que descargamos en el paso anterior, si aun no lo ha descargado lo puede hacer presionando el nombre y presionamos el botón subir

image-1624922251397.png

Validamos que el proceso funciono en forma correcta 

image-1624922335754.png

<ANTERIOR SIGUIENTE>

 

 

 

Primera Ejecución Manual

Para poder utilizar el plug-in la primera vez vamos a ejecutarlo en forma manual para crear el agente y luego automatizar la ejecución periódica para teniendo la Zapi Key generada en el paso anterior nos conectamos a nuestro servidor de PandroaFMS via ssh y ejecutamos el siguientes comando 

Ajustar los parámetros a su entorno 
-i IP DNS del balanceador
-k Zapi Key
-n Agente en PandoraFMS 
-v 1 (ejecutar en modo diagnostico)

/var/www/html/pandora_console/attachment/plugin/zevenet.py -i 192.168.110.231 -k JoTUW0a1SLX4BHHZvqEXTPplpEa7bbfb2tST1KctAGWhYncWVITVddj5bRK6iH0bV -n Zevenet01 -v 1

image-1625612774946.png

Si el valor es 1, la configuración es correcta si se produce un error será 0 y se deben revisar los pasos anteriores

< ANTERIOR SIGUIENTE>

 

Agregar Monitor para Ejecución Plug-in

Buscamos el agente creado en el paso anterior lo encontraremos en el grupo Servers, vamos a Monitorización -> Vista -> Vista de Grupo

image-1625613137486.png

Buscamos el agente Zevenet01 creado en nuestra ejecución Manual, hacemos click en el nombre para editarlo

image-1625613235348.png

Desde el icono del engranaje -> Gestionar

image-1625613379959.png

Seleccionamos  -> Modulos

image-1625613553798.png

Seleccionamos Crear un nuevo modulo del servidor de complementos y luego Crear

image-1625611074679.png

Nota: si no disponemos de esta opción es necesario activar el modulo de complementos en PandoraFMS

Nombre: Zevenet01
Tipo: Generic boolean
Plugin: Zevenet_Zapiimage-1624923784293.png

Luego de Seleccionar el plugin vamos a tener disponible las opciones de configuración del plug-in

IP: Dirección IP o nombre DNS del Balanceador
Zapi Key: Clave de acceso a API Rest generada en el Balanceador
Agent Name: Nombre del Agente en nuestro Servidor de PandoraFMS, el mismo que creamos en el paso anterior
Cluster Data: Si tiene un balanceador con HA configurado poner el valor en 1

image-1625613696210.png

Completando los datos correspondientes a su entorno seleccionar el botón Crear

image-1624924173066.png

image-1624924160035.png

Con este modulo se ejecuta el plug-in de servidor cada 6 minutos 

image-1625613807907.png

Finalizada la creación si todo es correcto en veremos que se genero un nuevo monitor con el nombre ZevenetRUN que devuelve un 1 si la ejecución es correcta, en el siguiente ejemplo vemos el resultado de tomar datos de 3 Balanceadores 2 en HA y uno independiente

image-1624924362683.png

< ANTERIOR SIGUIENTE>

 

 

Modulos Generados por el Plug-in

Se toman los datos de aplicación del balanceador, los mismos que podemos ver en la GUI del producto 

image-1624924687226.pngGUI Zevenet

image-1624924727433.png

PandoraFMS

Se muestran los datos de las granjas (farms) de todas las que tenga configurada el equipo 

image-1624924809040.png

Ejemplo granja ReverseProxy

También se ven todas las placas de red y los datos de trafico de las mismas

image-1624924891654.png

Ejemplo con una placa de red eth0

Si se activa el valor Cluster Data en 1 se obtienen estas métricas adicionales

image-1624924951980.png

Ejemplo de un Cluster en modo master

Todos los datos generados son dinámicos y se ven reflejados si se realiza cualquier cambio en el balanceador como crear una nueva granja (Farm), agregar una nueva placa de red, etc.

< ANTERIOR