DEV.co
Open-Source Observability · prometheus

jmx_exporter

JMX Exporter is a Java agent that collects metrics from Java applications via JMX MBeans and exposes them in Prometheus format. It bridges the gap between traditional Java monitoring and modern observability platforms, enabling pull-based metric collection from any JVM application.

Source: GitHub — github.com/prometheus/jmx_exporter
3.3k
GitHub stars
1.2k
Forks
Java
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryprometheus/jmx_exporter
Ownerprometheus
Primary languageJava
LicenseApache-2.0 — OSI-approved
Stars3.3k
Forks1.2k
Open issues16
Latest releasev1.6.0 (2026-06-05)
Last updated2026-07-07
Sourcehttps://github.com/prometheus/jmx_exporter

What jmx_exporter is

A Java-based Prometheus exporter that attaches as a JVM agent or runs standalone to scrape JMX MBean attributes and export them as Prometheus metrics. Supports flexible configuration, custom metric transformations, and integrates directly with Prometheus scrape endpoints.

Quickstart

Get the jmx_exporter source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/prometheus/jmx_exporter.gitcd jmx_exporter# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Legacy Java Application Monitoring

Expose JMX metrics from enterprise Java applications (Spring, Tomcat, JBoss) into modern observability stacks without code changes.

Kubernetes Pod Metrics Collection

Run as a sidecar or agent in Kubernetes clusters to scrape JMX metrics and push to Prometheus for dashboard and alerting workflows.

Multi-Tenant JMX Metric Aggregation

Centralize JMX metric collection from multiple Java services into a single Prometheus instance for unified monitoring and correlation.

Implementation considerations

  • JVM agent attachment requires JVM startup flags or explicit jar invocation; confirm deployment mechanism supports this.
  • JMX must be enabled and accessible on the target JVM (network port, authentication); firewall and security group rules are prerequisites.
  • Configuration is YAML-based with regex rules for MBean selection; test selectors thoroughly to avoid metric cardinality issues.
  • Requires Java 8+; verify JVM compatibility and that agent jar is compatible with your JVM version.
  • Memory footprint of agent is typically low, but high-cardinality metrics can increase heap usage; monitor agent process.

When to avoid it — and what to weigh

  • No JMX Available — If your Java application does not expose JMX MBeans or JMX is intentionally disabled, this tool cannot collect metrics.
  • Real-Time Sub-Second Latency Requirements — Prometheus scrape-based collection introduces polling overhead; not suitable for ultra-low-latency metric delivery.
  • High-Cardinality Metric Explosion Risk — Misconfigured JMX selectors can create unbounded label combinations, degrading Prometheus cardinality and performance.
  • Proprietary JMX Extensions Without Documentation — Custom or vendor-specific MBean hierarchies require deep knowledge to map correctly; may demand significant integration effort.

License & commercial use

Apache License 2.0 (Apache-2.0). Permissive OSI-approved license allowing commercial use, modification, and distribution with minimal restrictions.

Apache-2.0 is a permissive license that explicitly permits commercial use. However, review the LICENSE file and ensure compliance with attribution and liability disclaimers. If bundling or heavily modifying, consider consulting legal guidance.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

JMX network exposure requires authentication and network isolation; ensure JMX port is not publicly accessible. Agent runs with JVM privileges; vet any custom configuration files. No explicit security audit data provided; review release notes for vulnerability disclosures. TLS support for JMX connections depends on JVM and exporter version; verify if encryption is required.

Alternatives to consider

Micrometer + Prometheus Registry

Requires code instrumentation but provides type-safe metrics and native Spring Boot integration; better for greenfield Java apps.

New Relic Java Agent or Datadog APM

Commercial, full-stack observability with auto-instrumentation; better for teams unwilling to manage Prometheus infrastructure.

Jolokia (REST-based JMX)

Exposes JMX as REST endpoints; simpler HTTP-based alternative, but no native Prometheus format export.

Software development agency

Build on jmx_exporter with DEV.co software developers

Deploy JMX Exporter to bridge legacy Java monitoring with Prometheus. Contact our team to plan integration with your observability stack.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

jmx_exporter FAQ

Do I need to modify my Java application code?
No. JMX Exporter attaches as an agent or runs standalone. Existing JMX MBeans are automatically scraped without application changes.
How do I configure which JMX metrics to export?
Via YAML configuration file with regex patterns to match MBean names and attributes. The Prometheus documentation includes detailed examples.
Can I use this in Kubernetes?
Yes. Deploy as a sidecar container or use a standalone agent pod. Kubernetes service discovery and Prometheus scrape configs integrate well.
What happens if I export too many metrics?
High cardinality (many label combinations) can degrade Prometheus performance and increase storage. Use careful MBean selectors and test cardinality in non-prod first.

Software developers & web developers for hire

DEV.co helps companies turn open-source tools like jmx_exporter into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source observability stack.

Ready to Export JMX Metrics?

Deploy JMX Exporter to bridge legacy Java monitoring with Prometheus. Contact our team to plan integration with your observability stack.