YouTrack JMX Exporter

Dashboard for JVM metrics with Prometheus / JMX Exporter for YouTrack

YouTrack JMX Exporter screenshot 1
YouTrack JMX Exporter screenshot 2

JMX Exporter Dashboard

Overview

The JMX Exporter dashboard provides a comprehensive view of YouTrack's health, performance, and resource utilization. It is designed to assist administrators in monitoring the internal state of the YouTrack application, ensuring high availability and optimal performance.

The dashboard combines several layers of monitoring:

  • Application-level metrics: Specific to YouTrack's functionality, such as active users, version information, and database sizes.
  • Database performance: Detailed insights into the Xodus environment, including transaction rates and disk usage.
  • JVM statistics: Low-level data on heap and off-heap memory, garbage collection, thread counts, and file descriptor usage.
  • Host resources: High-level metrics like CPU load relative to the host system.

By centralizing these metrics, the dashboard enables quick identification of bottlenecks, resource exhaustion, or unusual patterns in application behavior, facilitating proactive maintenance and troubleshooting.

Data Collection and Flow

The monitoring stack follows this architecture:

  1. JMX Exporter (Java Agent): YouTrack is configured with the jmx_prometheus_javaagent as a JVM option. It runs inside the YouTrack JVM, reads MBeans from the platform MBean server, and translates them into Prometheus-compatible metrics.
  2. Metrics Endpoint: The Java agent exposes these metrics on port 9404 at the /metrics path.
  3. Prometheus: A Prometheus instance scrapes the YouTrack metrics endpoint at regular intervals.
  4. Grafana: Grafana uses Prometheus as a data source to visualize the collected metrics via this dashboard.
  5. Grafana Foundation SDK: The dashboard is programmatically generated using a Kotlin-based Grafana Foundation SDK.

Key Metrics Shown

The dashboard is organized into several functional rows:

1. App Overview

Panel nameDescription
UptimeCurrent running time of the YouTrack process.
Active UsersMaximum number of active user sessions.
DB & Textindex SizePhysical disk space occupied by the Xodus database and text indexes.
VersionThe version of the running YouTrack instance.

2. Application Activity & Performance

Panel nameDescription
Users' ActivityTracks user interactions and live updates.
Disk UsageHistorical trends of physical storage usage.
TransactionsXodus transaction rates and performance.
CachingHit/Miss rates and job queue status for application-level caches.
Grazie MetricsPerformance data for Grazie-related integrations.

3. JVM Internals

Panel nameDescription
JVM HeapMemory usage in the heap (Total, Used, Max).
Garbage Collection (GC)Count and average duration of GC events.
JVM Off-heapNon-heap and native memory usage.
Threads & ClassesNumber of active threads and loaded classes.
Files & SocketsCount of open file descriptors and network sockets.

4. Host Metrics

Panel nameDescription
CPU UsageProcess CPU load relative to the host system.
Revisions
RevisionDescriptionCreated

Get this dashboard

Import the dashboard template

or

Download JSON

Datasource
Dependencies