All Projects → nlighten → wildfly_exporter

nlighten / wildfly_exporter

Licence: Apache-2.0 license
A prometheus exporter for Jboss Wildfly

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to wildfly exporter

pm2-prometheus-exporter
🐰 🐰 pm2 prometheus exporter
Stars: ✭ 90 (+373.68%)
Mutual labels:  prometheus, prometheus-exporter
Php Fpm exporter
A prometheus exporter for PHP-FPM.
Stars: ✭ 251 (+1221.05%)
Mutual labels:  prometheus, prometheus-exporter
Ssl exporter
Exports Prometheus metrics for SSL certificates
Stars: ✭ 211 (+1010.53%)
Mutual labels:  prometheus, prometheus-exporter
freeradius exporter
FreeRADIUS Prometheus Exporter
Stars: ✭ 25 (+31.58%)
Mutual labels:  prometheus, prometheus-exporter
magento2-prometheus-exporter
Simple Magento 2 Prometheus Exporter.
Stars: ✭ 40 (+110.53%)
Mutual labels:  prometheus, prometheus-exporter
Exporter exporter
A reverse proxy designed for Prometheus exporters
Stars: ✭ 194 (+921.05%)
Mutual labels:  prometheus, prometheus-exporter
Mikrotik Exporter
prometheus mikrotik device(s) exporter
Stars: ✭ 248 (+1205.26%)
Mutual labels:  prometheus, prometheus-exporter
Prometheus Pve Exporter
Exposes information gathered from Proxmox VE cluster for use by the Prometheus monitoring system
Stars: ✭ 171 (+800%)
Mutual labels:  prometheus, prometheus-exporter
hetzner exporter
Prometheus exporter for Hetzner
Stars: ✭ 16 (-15.79%)
Mutual labels:  prometheus, prometheus-exporter
jcliff
Manage JBossAS 7/EAP6/Wildfly with modular configuration files from command line, puppet, ansible, chef, etc.
Stars: ✭ 42 (+121.05%)
Mutual labels:  wildfly, jboss
Sql exporter
Flexible SQL Exporter for Prometheus
Stars: ✭ 194 (+921.05%)
Mutual labels:  prometheus, prometheus-exporter
hcloud-pricing-exporter
A prometheus exporter for the current pricing and costs of your HCloud account
Stars: ✭ 19 (+0%)
Mutual labels:  prometheus, prometheus-exporter
Blackbox exporter
Blackbox prober exporter
Stars: ✭ 2,633 (+13757.89%)
Mutual labels:  prometheus, prometheus-exporter
Oracledb exporter
Prometheus Oracle database exporter.
Stars: ✭ 209 (+1000%)
Mutual labels:  prometheus, prometheus-exporter
Prometheus Es Exporter
Prometheus Elasticsearch Exporter
Stars: ✭ 184 (+868.42%)
Mutual labels:  prometheus, prometheus-exporter
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (+1115.79%)
Mutual labels:  prometheus, prometheus-exporter
Jmx exporter
A process for exposing JMX Beans via HTTP for Prometheus consumption
Stars: ✭ 2,134 (+11131.58%)
Mutual labels:  prometheus, prometheus-exporter
Query Exporter
Export Prometheus metrics from SQL queries
Stars: ✭ 166 (+773.68%)
Mutual labels:  prometheus, prometheus-exporter
clusterbench
Jakarta EE 5/6/7/8/10 WildFly/JBoss EAP Clustering Benchmark Application
Stars: ✭ 27 (+42.11%)
Mutual labels:  wildfly, jboss
migrate-Java-EE-app-to-azure
Migrate an existing Java EE workload to Azure
Stars: ✭ 12 (-36.84%)
Mutual labels:  wildfly, jboss

Prometheus Wildlfy Exporter

A set of collectors that can be used to monitor Jboss Wildfly instances. This library has been tested with Wildfly 17.0.1.

NOTE: Recent Wildfly versions now come with SmallRye Metrics, and implementation of Eclipse MicroProfile Metrics. SmallRye Metrics also supports prometheus as export format. You should seriously consider migrating!

Available metrics

The following Wildfly related metrics are provided:

  • Undertow processor metrics (request count, bytes send/received, etc.)
  • Undertow session metrics
  • Jboss jdbc connection pool metrics
  • Infinispan cache metrics
  • Wildfly version info
  • Servlet metrics (response times, status codes)

Using this library

To use this library you need to perform the following steps:

  • add the Wildfly Prometheus Exporter module jars to Wildfly's modules directory
  • configure the Wildfly Prometheus Exporter module as global module
  • deploy the Wildfly Prometheus Exporter Servlet
  • enable metrics for the Wildlfy components you are interested in

Details are available in the paragraphs below.

Add exporter module jars to Wildfly

Download the latest wildfly_exporter_module from the maven repository and extract it in Wildfly's modules directory. E.g. for version 0.0.4:

cp wildfly_exporter_module-0.0.4.jar /opt/jboss/wildfly/modules/.
cd /opt/jboss/wildfly/modules 
jar -xvf wildfly_exporter_module-0.0.4.jar 
rm -rf META-INF 
rm -f wildfly_exporter_module-0.0.4.jar

Configure exporter module as global module

In Wildfly's config file (standalone.xml, standalone-ha.xml) add the following directly under <subsystem xmlns="urn:jboss:domain:ee:4.0">:

<global-modules>
  <module name="nl.nlighten.prometheus.wildfly" services="true" meta-inf="true"/>
</global-modules>

or using the Jboss cli:

/subsystem=ee/:write-attribute(name=global-modules,value=[\
   {"name" => "nl.nlighten.prometheus.wildfly", "meta-inf" => "true", "services" => "true"}\
])

Deploy exporter servlet

Download the latest wildfly exporter servlet from the maven repository and copy it to Wildfly's deployments directory and rename it to metrics.war. E.g. for version 0.0.4:

cp wildfly_exporter_servlet-0.0.4.war /opt/jboss/wildfly/standalone/deployments/metrics.war

Enable metrics for Wildfly components

Most Wildfly components require explicit configuration before they expose metrics. Depending on the components you are interested in you need to configure one or more of the following:

Undertow metrics

To enable undertow related metrics add statistics-enabled="true" to Wildfly's configuration section for the undertow subsystem:

<subsystem xmlns="urn:jboss:domain:undertow:7.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="true">

or using the Jboss cli:

/subsystem=undertow:write-attribute(name=statistics-enabled, value=true)

Jdbc metrics

To enable jdbc related metrics add statistics-enabled="true" to Wildfly's datasource configuration section:

<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true"
            use-java-context="true" statistics-enabled="true">
      

or using the Jboss cli:

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=statistics-enabled,value=true)  

Infinispan metrics

To enable infinispan related metrics add statistics-enabled="true" to the Infinispan cache configuration section, e.g.:

<cache-container name="myCacheContainer" default-cache="myLocalCache">
  <transport lock-timeout="60000"/>
   <local-cache name="myLocalCache" statistics-enabled="true">
      <expiration lifespan="604800"/>
      <file-store path="myLocalCacheStore" passivation="false" preload="true" shared="false"/>
   </local-cache>
   <replicated-cache name="myReplicatedCache" statistics-enabled="true">
      <transaction mode="NON_XA"/>
      <locking isolation="REPEATABLE_READ"/>
      <expiration lifespan="604800"/>
      <file-store path="myReplicatedCacheStore" passivation="false" preload="true" shared="false"/>
   </replicated-cache>
 </cache-container>

or using the Jboss cli:

/subsystem=infinispan/cache-container=myCacheContainer/local-cache=myLocalCache:write-attribute(name=statistics-enabled,value=true)  
/subsystem=infinispan/cache-container=myCacheContainer/replicated-cache=myLocalCache:write-attribute(name=statistics-enabled,value=true)  

Servlet metrics configuration

By default you should not need to change the configuration for the collection of system metrics, but you can configure the following system properties if needed:

Property Default Description
prometheus.wildfly.filter.blacklist /metrics Servlet context urls that should not be instrumented for metrics collection
prometheus.wildfly.filter.buckets .01, .05, .1, .25, .5, 1, 2.5, 5, 10, 30 The buckets used for the histogram used for collecting response times

Javadocs

There are canonical examples defined in the class definition Javadoc of the client packages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].