Plugin Zevenet
Plugin de servidor para monitorizar balanceadores de carga Zevenet utilizando API Rest (Zapi)
- Introducción
- Matriz de compatibilidad
- Pre requisitos
- Configuración Zevenet
- Configuracion PandoraFMS
- Primera Ejecución Manual
- Agregar Monitor para Ejecución Plug-in
- Modulos Generados por el Plug-in
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.
Este plug-in esta fue desarrollado en conjunto con Zevenet.com
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) |
Pre requisitos
Se requiere :
- Balanceador Zevenet 6.x
- Generar ZAPI Key desde el balanceador ZAPI V4.0
- Tener el Data Server de Pandora FMS habilitado
- Tener el Plugin Server de Pandora FMS habilitado
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
Buscamos Sistema -> RBAC -> Usuarios
Hacemos click en CREATE USER
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
En unos segundos el usuario se creo en forma exitosa
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
Selecionamos CREAR GRUPO
Le damos un nombre al grupo PandoraFMS y seleccionamos APLICAR
Luego de crear el grupo sumamos al usuario pandorafms y el rol monitoring le seleccionamos APLICAR
Vamos a Recursos para definir que acceso le vamos a dar el usuario
Si queremos que el usuario tenga acceso a todas las granjas y las interfaces seleccionamos todas las granjas y todas las interfaces
Nuevamente vamos a Sistema -> RBAC -> Usuarios
Hacemos click en el nombre de usuario que creamos en los paso anteriores
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
Nota: es importante copiar la clave ahora ya que luego no será visible para copiar y pegar y se deberá generar una nueva
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
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
Importamos el modulo request con con comando
pip3 install -r zevenet.txt
Descargamos el plugin en nuestro equipo desde este enlace
Importamos el modulo en nuestro servidor de pandora desde el menú Servidores -> Registro plugin
Presionamos el botón Selecionar archivo
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
Validamos que el proceso funciono en forma correcta
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
Si el valor es 1, la configuración es correcta si se produce un error será 0 y se deben revisar los pasos anteriores
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
Buscamos el agente Zevenet01 creado en nuestra ejecución Manual, hacemos click en el nombre para editarlo
Desde el icono del engranaje -> Gestionar
Seleccionamos -> Modulos
Seleccionamos Crear un nuevo modulo del servidor de complementos y luego Crear
Nota: si no disponemos de esta opción es necesario activar el modulo de complementos en PandoraFMS
Nombre: Zevenet01
Tipo: Generic boolean
Plugin: Zevenet_Zapi
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
Completando los datos correspondientes a su entorno seleccionar el botón Crear
Con este modulo se ejecuta el plug-in de servidor cada 6 minutos
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
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
PandoraFMS
Se muestran los datos de las granjas (farms) de todas las que tenga configurada el equipo
Ejemplo granja ReverseProxy
También se ven todas las placas de red y los datos de trafico de las mismas
Ejemplo con una placa de red eth0
Si se activa el valor Cluster Data en 1 se obtienen estas métricas adicionales
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.