# Wildfly # 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, --passwordContraseña
**Parámetros configuración Pandora**
--agent\_name Nombre del agente global y prefijo para todos los demás agentes creados
--module\_prefixPrefijo para todos los módulos creados por el plugin
--intervalIntervalo de monitorización del agente
--temporalDirectorio 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\_deploymentsActivar con 1 para habilitar el escaneo de aplicaciones, por defecto habilitado.
--scan\_datasourcesActivar con 1 para habilitar el escaneo de datasources, por defecto habilitado.
--scan\_threadpoolsActivar 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 --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:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/VNOimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/VNOimagen.png) **3. Se le añade nombre, descripción y timeout:** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/image.png) **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.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/6Gaimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/6Gaimage.png) **5. Se configurar las macros anteriores, añadiendo en cada una el valor del parámetro:** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/g3Bimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/g3Bimage.png) **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:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/503imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/503imagen.png) **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".** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/CsUimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/CsUimage.png) **8. Se crearan los agentes en la siguiente ejecución del plugin :** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/C79image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/C79image.png) # 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.