Wildfly

Plugin to monitor Wildfly (Jboss) and visualize the data in PandoraFMS.

Introduction

The purpose of this plugin is to be able to monitor Jboss/Wildfly, based on metrics related to its consumption, applications, threadpools and datasources.

The plugin connects with the server and performs all the data extraction, which then dumps in Pandora.

Compatibility matrix

Systems where it works Rocky linux, Fedora 34
Systems where it works Any linux system

Pre requisites

Parameters

Connectivity parameters

-i, --host
IP address
-u, --user
User
-p, --password Password

Pandora configuration parameters

--agent_name
Name of the global agent and prefix for all other agents created.
--module_prefix Prefijo para todos los módulos creados por el plugin
--interval Agent monitoring interval
--temporal Temporal directory PandoraFMS
--data_dir
PandoraFMS Data Directory
--group
PandoraFMS Target Group
--transfer_mode
Data transfer mode, local or tentacle
--tentacle_client
Tentacle client path, by default "tentacle_client".
--tentacle_opts
Additional tentacle options
--tentacle_port
Tentacle Port
--tentacle_address
tentacle IP

Parameters for enabling/disabling checks

--scan_deployments Activate with 1 to enable application scanning, by default enabled.
--scan_datasources Activate with 1 to enable datasources scanning, by default enabled.
--scan_threadpools Activate with 1 to enable threadpools scanning, by default enabled.

Parámetros extra

--log
Command to view the environment log

Manual execution

The plugin execution format is as follows:

./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 > ]

 

Configuration in PandoraFMS

To configure the plugin in PandoraFMS, the following steps must be followed:

1. Upload the plugin to PandoraFMS, for example in the following path:

/etc/pandora/plugin

2.Go to the plugins section and create a new one:

imagen.png

    3. Name, description and timeout are added:

image.png

4. The path of the plugin is added to the command and the necessary parameters for its execution.

For each parameter a macro must be configured, being the syntax of this macro the following : _fieldx_, where x is the positional number of the parameter, for example in the following image we see the parameters that are mandatory, those of connection, since all the others can be used with the default values.

image.png

5. The above macros are configured, adding the value of the parameter in each one:

image.png

6. Once configured, you should create a module in an agent that executes the plugin. In the modules menu of an agent we create a new plugin type module:

imagen.png

7. In the module configuration menu, we name it, select the plugin configured before and click on "create".

image.png

8.The agents will be created in the next execution of the plugin :

image.png

Agent and modules generated by the plugin

<Module prefix>.Datasources 
<Module prefix>.Datasources count
<Module prefix>.Deployments 
<Module prefix>.Deployments count
<Module prefix>.Threadpools 
<Module prefix>.Threadpools count
<Module prefix>.committed.heap-memory-usage
<Module prefix>.committed.non-heap-memory-usage
<Module prefix>.committed.init.heap-memory-usage
<Module prefix>.committed.init.non-heap-memory-usage
<Module prefix>.max.heap-memory-usage
<Module prefix>.max.non-heap-memory-usage
<Module prefix>.used.heap-memory-usage
<Module prefix>.used.non-heap-memory-usage
<Module prefix>.committed.server.log

In turn, if monitoring of these is enabled, it will create an agent for each :

<Module prefix>.context-root
<Module prefix>.active-sessions
<Module prefix>.expired-sessions
<Module prefix>.highest-session-count
<Module prefix>.max-active-sessions
<Module prefix>.rejected-sessions
<Module prefix>.server
<Module prefix>.servlet
<Module prefix>.session-avg-alive-time
<Module prefix>.session-max-alive-time
<Module prefix>.sessions-created
<Module prefix>.virtual-host
<Module prefix>.websocket
<Module prefix>.<name thread>.active-count
<Module prefix>.<name thread>.completed-task-count
<Module prefix>.<name thread>.current-thread-count
<Module prefix>.<name thread>.keepalive-time
<Module prefix>.<name thread>.largest-thread-count
<Module prefix>.<name thread>.max-threads
<Module prefix>.<name thread>.queue-size
<Module prefix>.<name thread>.rejected-count
<Module prefix>.<name thread>.task-count

It will create a boolean module, for each service, that will show whether it is True or False.