Monitoring JBoss AS or WildFly

You can comprehensively monitor your JBoss Application Server (AS) or WildFly with the Instana JBoss AS sensor to identify bottlenecks and optimize application performance. The Instana JBoss AS sensor is automatically installed after you install the Instana host agent. To monitor JBoss, enable statistics in JBoss. You can then view metrics that are related to JBoss AS or WildFly in the Instana UI.

Instana supports JBoss configuration in both stand-alone and domain modes.

Prerequisites

Before you configure the JBoss AS sensor for monitoring JBoss AS, make sure that you meet the following prerequisites:

  • The Instana host agent is installed. For more information about installing the agent, see Installing host agents.
  • The JBoss AS sensor is compatible with your current setup. For more information, see Support information.

Support information

To make sure that the sensor is compatible with your current setup, check the following support information sections:

Supported versions and support policy

The sensor supports the following versions of JBoss AS, Wildfly, and JBoss EAP:

  • JBoss AS 7.0.x - 7.1.1
  • Wildfly 10.0.x - 28.0.1
  • JBoss EAP 8.0.x or later

The following table shows the latest supported version of JBoss AS4:

Sensor Support policy Latest version Last supported version
JBoss AS4 45 days 7.4 7.4

For more information about the support policy, see Support strategy for sensors.

Supported client-side tracing

Instana supports tracing for JBoss AS. For more information about supported frameworks and libraries for tracing, see Instrumented frameworks and libraries.

Configuring JBoss AS or WildFly

After you install the agent, the Instana JBoss sensor is automatically installed and deployed. Though the JBoss sensor is enabled by default, it starts to collect JBoss monitoring data only after you enable statistics in JBoss or WildFly.

You can enable statistics in both stand-alone and domain modes of JBoss configuration.

  • Stand-alone mode: A single instance of JBoss running on a single host, where each instance is managed independently.

  • Domain mode: Multiple instances of JBoss running on multiple hosts, where all instances are managed centrally by a domain controller.

After you enable statistics in the JBoss, the Instana JBoss sensor starts collecting monitoring data from your JBoss environment.

Enabling statistics in the stand-alone mode

For Instana to collect metrics from JBoss or WildFly, you need to enable statistics for undertow and data sources by setting statistics-enabled="true" in the JBoss XML configuration file.

  • To enable statistics for undertow, modify the JBoss XML configuration file as follows:

    <subsystem xmlns="urn:jboss:domain:undertow:3.0" statistics-enabled="true">
    
  • To enable statistics for data source, modify the JBoss XML configuration file as follows:

    <datasource jta="true" jndi-name="java:jboss/datasources/DemoDS" pool-name="DemoDS" enabled="true" statistics-enabled="true">
    

Enabling statistics in the domain mode

If you want to enable JBoss statistics in the domain mode, check the profile that your server belongs to. Then, make sure that you enable statistics for that profile in the subsystem undertow section.

To enable statistics in domain mode, you can use the JBoss Management Console:

  1. From the Runtime section in the JBoss Management console, select your Server Group.
  2. From the Configuration section, select the profile that is associated to your server group in the Profile section.
  3. In the Subsystem section, go to Web/HTTP - Undertow, and change Statistics enabled:false to Statistics enabled:true.

Optional: Naming JBoss

If you want to set a custom name for your JBoss instance in Instana, use the following command. Replace myjbossnodename with the preferred name for your JBoss instance.

-Djboss.node.name=myjbossnodename

Optional: Configuring the JBoss AS sensor

After you install the Instana host agent and enable statistics in JBoss, the JBoss sensor starts to collect JBoss monitoring data.

If you want, you can change the JBoss sensor configuration by modifying the Instana agent configuration file <agent_install_dir>/etc/instana/configuration.yaml as shown in the following example:

com.instana.plugin.jbossas:
  metrics-interval: 5 # seconds
  monitor-ejb-deployments: false
  monitor-ejb-deployments-regex: '' # provide regex for ejb deployment you want to monitor i.e xyz*
  monitor-web-deployments-regex: '' # provide regex for web deployment you want to monitor i.e xyz*
  monitor-data-source-config-regex: '' # provide regex for data source configuration you want to monitor i.e xyz*
  monitor-connector-regex: '' # provide regex for connectors configuration you want to monitor i.e xyz*

The following table outlines the configuration parameters:

Table 1: Configuration parameters
Configuration parameters Description Default value
metrics-interval The interval at which the sensor polls performance metrics. 5 seconds
monitor-ejb-deployments The option to monitor EJB deployments. true
monitor-ejb-deployments-regex A regex pattern to filter EJB deployments.
monitor-web-deployments-regex A regex pattern to filter web deployments.
monitor-data-source-config-regex A regex pattern to filter data source configurations.
monitor-connector-regex A regex pattern to filter connectors.

At large scale, the JBoss API might be inefficient. Therefore, the sensor polls performance metrics every 5 seconds. You can configure the polling interval by modifying the value in the metrics-interval field.

In certain earlier versions of JBoss, calls to retrieve EJB deployments data can cause various errors due to existing bugs. The JBoss sensor monitors EJB deployments by default, but you can disable it if these bugs occur or if not required. To disable monitoring of EJB deployments, modify the monitor-ejb-deployments flag in the configuration file.

By default, JBoss regex monitoring for EJB deployments, web deployments, data source, and connector is not enabled. You can configure JBoss regex for monitoring a particular deployment in the agent configuration file.

Viewing JBoss metrics

You can view all the information about your JBoss AS or WildFly in the Instana UI.

To view JBoss metrics, complete the following steps:

  1. From the navigation menu in the Instana UI, select Infrastructure.
  2. Click a specific monitored host.

You can see a host dashboard with all the collected metrics and monitored processes, including configuration data, performance metrics, heath signature, and traces.

Configuration data

Instana collects the following configuration data from your JBoss instance:

  • Version
  • Home
  • Deployments
    • Web
    • EJB
  • Sockets

Performance metrics

Instana collects the following performance metrics from your JBoss instance:

  • Servlets
  • Requests, Response Times
  • Sessions
  • Connectors
  • EJB Pool
  • Data sources
  • Connection Pools (available only for JBoss 4)
  • Thread Pools (available only for JBoss 4)
  • Workers (available only for JBoss EAP 7.0.9 or later)

Health Signatures

Each sensor has a curated knowledge base of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents that depend on user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any specific entity.

For information about built-in events for the JBoss sensor, see the Built-in events reference.

Viewing traces

After you install the Instana host agent, the Instana agent automatically instruments all the JVM-based applications to collect the traces (request-level data).

You can view the traces of these Java applications in the Analytics dashboard in the Instana UI. For more information about viewing traces, see Analyzing traces and calls.