Wildfly
Plugin con el que monitorizar Wildfly (Jboss) y poder visualizar los datos en PandoraFMS.
- Introducción
- Matriz de compatibilidad
- Pre requisitos
- Parámetros
- Ejecución manual
- Configuracion en PandoraFMS
- Agentes y módulos generados por el plugin
Introducción
Este plugin tiene como finalidad poder monitorizar Jboss/Wildfly, en base a metricas relacionadas con su consumo, aplicaciones, threadpools y datasources.
El plugin el plugin conecta con el server y realiza toda la extracción de datos, que luego vuelca en Pandora.
Matriz de compatibilidad
Sistemas donde se ha probado | Rocky linux, Fedora 34 |
Sistemas donde funciona | Cualquier sistema linux |
Pre requisitos
- Es necesaria conectividad hacia el entorno del que se pretende recibir los datos.
Parámetros
Parámetros de conectividad
-i, --host |
Dirección IP del entorno |
-u, --user |
Usuario |
-p, --password | Contraseña |
Parámetros configuración Pandora
--agent_name |
Nombre del agente global y prefijo para todos los demás agentes creados |
--module_prefix | Prefijo para todos los módulos creados por el plugin |
--interval | Intervalo de monitorización del agente |
--temporal | Directorio temporal de PandoraFMS |
--data_dir |
Directorio de datos de PandoraFMS |
--group |
Grupo de destino de PandoraFMS |
--transfer_mode |
Modo de transferencia de datos, local o tentacle |
--tentacle_client |
Ruta del cliente de tentacle, por defecto "tentacle_client" |
--tentacle_opts |
Opciones adicionales de tentacle |
--tentacle_port |
Puerto de tentacle |
--tentacle_address |
IP de tentacle |
Parametros para habilitar/deshabilitar chequeos
--scan_deployments | Activar con 1 para habilitar el escaneo de aplicaciones, por defecto habilitado. |
--scan_datasources | Activar con 1 para habilitar el escaneo de datasources, por defecto habilitado. |
--scan_threadpools | Activar con 1 para habilitar el escaneo de threadpools, por defecto habilitado. |
Parámetros extra
--log |
Comando para ver el log del entorno |
Ejecución manual
El formato de ejecución del plugin es el siguiente:
./pandora_jboss --host < host > --user < user > --password <password> --agent_name < agent name > --module_prefix < prefix >
--scan_deployments < 1 or 0 > --scan_threadpools < 1 or 0 > --scan_datasources < 1 or 0 >
[ --transfer_mode < local o tentacle > ] [ --tentacle_port < tentacle_port > ] [ --tentacle_address < tentacle_address > ] [ --tentacle_client < tentacle client path ] [ --tentacle_opts < tentacle extra options ]
[ -g < group > ] [ --data_dir < data dir > ] [ --temporal < temporary directory path > ] [ --interval < interval agent monitorings in seconds > ] [ --log < 1 or 0 > ]
Configuracion en PandoraFMS
Para configurar el plugin en PandoraFMS, se deben seguir los siguientes pasos :
1. Subir el plugin a PandoraFMS, por ejemplo en la siguiente ruta:
/etc/pandora/plugin
2. Dirigirse al apartado plugins y crear uno nuevo:
3. Se le añade nombre, descripción y timeout:
4. Se añade la ruta del plugin en el comando y los parámetros necesarios para la ejecución de este.
Para cada parámetro se debe configurar una macro, siendo la sintaxis de esta macro la siguiente : _fieldx_, siendo x el numero posicional del parámetro, por ejemplo en la siguiente imagen vemos los parámetros que son obligatorios, los de conexion, ya que todos los demás se pueden usar con los valores default.
5. Se configurar las macros anteriores, añadiendo en cada una el valor del parámetro:
6. Una vez configurado se debe crear un módulo en un agente que ejecute el plugin. En el menu de módulos de un agente creamos un módulo de tipo plugin nuevo:
7. En el menú de configuración del módulo, le ponemos un nombre, seleccionamos el plugin antes configurado y se le debe dar a "crear".
8. Se crearan los agentes en la siguiente ejecución del plugin :
Agentes y módulos generados por el plugin
- El plugin creara un agente global con los siguientes módulos:
<Prefijo módulo>.Datasources |
<Prefijo módulo>.Datasources count |
<Prefijo módulo>.Deployments |
<Prefijo módulo>.Deployments count |
<Prefijo módulo>.Threadpools |
<Prefijo módulo>.Threadpools count |
<Prefijo módulo>.committed.heap-memory-usage |
<Prefijo módulo>.committed.non-heap-memory-usage |
<Prefijo módulo>.committed.init.heap-memory-usage |
<Prefijo módulo>.committed.init.non-heap-memory-usage |
<Prefijo módulo>.max.heap-memory-usage |
<Prefijo módulo>.max.non-heap-memory-usage |
<Prefijo módulo>.used.heap-memory-usage |
<Prefijo módulo>.used.non-heap-memory-usage |
<Prefijo módulo>.committed.server.log |
A su vez, si está habilitada la monitorización de estos, creara un agente por cada :
- Deployments
<Prefijo modulo>.context-root |
<Prefijo modulo>.active-sessions |
<Prefijo modulo>.expired-sessions |
<Prefijo modulo>.highest-session-count |
<Prefijo modulo>.max-active-sessions |
<Prefijo modulo>.rejected-sessions |
<Prefijo modulo>.server |
<Prefijo modulo>.servlet |
<Prefijo modulo>.session-avg-alive-time |
<Prefijo modulo>.session-max-alive-time |
<Prefijo modulo>.sessions-created |
<Prefijo modulo>.virtual-host |
<Prefijo modulo>.websocket |
- Threads
<Prefijo modulo>.<name thread>.active-count |
<Prefijo modulo>.<name thread>.completed-task-count |
<Prefijo modulo>.<name thread>.current-thread-count |
<Prefijo modulo>.<name thread>.keepalive-time |
<Prefijo modulo>.<name thread>.largest-thread-count |
<Prefijo modulo>.<name thread>.max-threads |
<Prefijo modulo>.<name thread>.queue-size |
<Prefijo modulo>.<name thread>.rejected-count |
<Prefijo modulo>.<name thread>.task-count |
- Datasources
Creará un módulo booleano, para cada servicio, que mostrará si es True o False.