JBoss/WildFly

Supported OS Linux Windows Mac OS

Integration version3.1.0

Overview

This check monitors JBoss and WildFly applications.

Setup

Installation

The JBoss/WildFly check is included in the Datadog Agent package so you don’t need to install anything else on your JBoss/WildFly host.

Configuration

This check has a limit of 350 metrics per instance. The number of returned metrics is indicated in the status page. You can specify the metrics you are interested in by editing the configuration below. To learn how to customize the collected metrics, see the JMX Checks documentation for more detailed instructions. If you need to monitor more metrics, contact Datadog support.

Host

To configure this check for an Agent running on a host:

Metric collection
  1. Edit the jboss_wildfly.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory to start collecting your JBoss or WildFly application server’s performance data. See the sample jboss_wildfly.d/conf.yaml for all available configuration options.

    Depending on your server setup (particularly when using the remote+http JMX scheme), you may need to specify a custom JAR to connect to the server. Place the JAR on the same machine as your Agent, and add its path to the custom_jar_paths option in your jboss_wildfly.d/conf.yaml file.

    Note: The JMX url scheme is different according to your WildFly version:

    • For Wildfly 9 and older: service:jmx:http-remoting-jmx://<HOST>:<PORT>
    • For Wildfly 10+: service:jmx:remote+http://<HOST>:<PORT>

    See the WildFly JMX subsystem configuration page for more information.

  2. Restart the Agent.

Log collection

Available for Agent versions >6.0

  1. Collecting logs is disabled by default in the Datadog Agent, enable it in your datadog.yaml file:

    logs_enabled: true
    
  2. Next, edit jboss_wildfly.d/conf.yaml by uncommenting the logs lines at the bottom. Update the logs path with the correct path to your JBoss log files.

    logs:
      - type: file
        path: /opt/jboss/wildfly/standalone/log/*.log
        source: jboss_wildfly
        service: '<APPLICATION_NAME>'
    
  3. Restart the Agent.

Containerized

Metric collection

For containerized environments, see the Autodiscovery with JMX guide.

Log collection

Available for Agent versions >6.0

Collecting logs is disabled by default in the Datadog Agent. To enable it, see Kubernetes Log Collection.

ParameterValue
<LOG_CONFIG>{"source": "jboss_wildfly", "service": "<SERVICE_NAME>"}

Validation

Run the Agent’s status subcommand and look for jboss_wildfly under the Checks section.

Data Collected

Metrics

jboss.jdbc_connections.active
(gauge)
number of active connections
Shown as connection
jboss.jdbc_connections.count
(gauge)
number of open connections
Shown as connection
jboss.jdbc_connections.idle
(gauge)
number of physical connections currently idle
Shown as connection
jboss.jdbc_connections.request_wait
(rate)
number of requests that had to wait to obtain a physical connection
Shown as connection
jboss.jdbc_preparedstatementcache.hit
(rate)
number of times that statements from the cache were used
Shown as hit
jboss.jdbc_preparedstatementcache.miss
(rate)
number of times that a statement request could not be satisfied with a statement from the cache
Shown as miss
jboss.jdbc_preparedstatementcache.size
(gauge)
number of prepared and callable statements currently cached in the statement cache
jboss.jdbc_xacommit.count
(rate)
number of XAResource commit invocations
Shown as commit
jboss.jdbc_xarecover.count
(rate)
number of XAResource recover invocations
Shown as transaction
jboss.jdbc_xarollback.count
(rate)
number of XAResource rollback invocations
Shown as transaction
jboss.transactions.aborted
(rate)
total number of transactions which have rolled back.
Shown as transaction
jboss.transactions.application_rollbacks
(rate)
number of transactions rolled back by the application.
Shown as transaction
jboss.transactions.committed
(rate)
number of committed transactions.
Shown as transaction
jboss.transactions.count
(rate)
number of transactions (top-level and nested) created so far.
Shown as transaction
jboss.transactions.heuristics
(rate)
number of transactions which have terminated with heuristic outcomes
Shown as transaction
jboss.transactions.inflight
(gauge)
total number of inflight (active) transactions.
Shown as transaction
jboss.transactions.nested
(rate)
number of nested (sub) transactions created so far.
Shown as transaction
jboss.transactions.resource_rollbacks
(rate)
number of transactions rolled back by participants.
Shown as transaction
jboss.transactions.system_rollbacks
(rate)
number of transactions that were rolled back due to an internal system error.
Shown as transaction
jboss.transactions.timed_out
(rate)
total number of transactions rolled back due to timeout.
Shown as transaction
jboss.undertow_listener.bytes_received
(rate)
number of bytes that have been received
Shown as byte
jboss.undertow_listener.bytes_sent
(rate)
number of bytes that have been sent out
Shown as byte
jboss.undertow_listener.error_count
(rate)
number of 500 responses that have been sent
Shown as request
jboss.undertow_listener.processing_time
(gauge)
total processing time of all requests handed by this listener
Shown as nanosecond
jboss.undertow_listener.request_count
(rate)
number of requests served
Shown as request
jboss.undertow_session.active
(gauge)
number of active sessions
Shown as session
jboss.undertow_session.alivetime_avg
(gauge)
average time (in seconds) that expired sessions had been alive
Shown as second
jboss.undertow_session.alivetime_max
(gauge)
longest time (in seconds) that an expired session had been alive
Shown as second
jboss.undertow_session.created
(rate)
total sessions created
Shown as session
jboss.undertow_session.expired
(rate)
number of sessions that have expired
Shown as session
jboss.undertow_session.rejected
(rate)
number of rejected sessions
Shown as session

Events

The JBoss/WildFly integration does not include any events.

Service Checks

jboss.can_connect
Returns CRITICAL if the Agent is unable to connect to and collect metrics from the monitored JBoss/WildFly instance, WARNING if no metrics are collected, and OK otherwise.
Statuses: ok, critical, warning

Collecting metrics with JMXFetch

You can configure the Datadog Agent to collect Java application metrics through JMXFetch. To collect the default metrics configured for the JBoss/Wildfly Datadog integration, set the system property Ddd.jmxfetch.jboss_wildfly.enabled=true.

Troubleshooting

Need help? Contact Datadog support.