List of Prometheus metrics
List of the SonarQube Server metrics exposed by Prometheus.
Exposing metrics
SonarQube exposes metrics through two distinct mechanisms:
Web API (/api/monitoring/metrics)
All deployments (bare metal, Docker, Kubernetes)
Direct HTTP GET, authenticated with system passcode or bearer token.
JMX Exporter Java agent
Kubernetes / OpenShift only
Prometheus scrapes a separate port configured by the Helm chart. See the ArtifactHub’s Monitoring section for SonarQube Server (Developer and Enterprise) and SonarQube Server Data Center edition for more
Metrics exposed by the Web API
These metrics are available on all deployment types: bare metal, Docker, Kubernetes using GET /api/monitoring/metrics.
sonarqube_compute_engine_pending_tasks_total
gauge
tasks
Number of tasks pending in the Compute Engine queue at a given point in time. Shared value across all SonarQube instances.
sonarqube_compute_engine_tasks_running_duration_seconds
summary
seconds
Compute Engine task running time in seconds. Labels: task_type, project_key
sonarqube_compute_engine_system_tasks_running_duration_seconds
summary
seconds
Compute Engine system task running time in seconds. Label: task_type
sonarqube_elasticsearch_disk_space_free_bytes
gauge
bytes
Space left on device. Label: node_name
sonarqube_elasticsearch_disk_space_total_bytes
gauge
bytes
Total disk space on the device. Label: node_name
sonarqube_health_compute_engine_status
gauge
N/A
Tells whether Compute Engine is up (healthy, ready to take tasks) or down. 1 for up, 0 for down.
sonarqube_health_elasticsearch_status
gauge
N/A
Tells whether Elasticsearch is up or down. 1 for up, 0 for down.
sonarqube_elasticsearch_read_only_indices_total
gauge
N/A
Number of indices in read-only mode due to disk space issues (Added in SonarQube Server 2026.3 and SonarQube Community Build 26.4).
sonarqube_elasticsearch_disk_usage_percent
gauge
percent
Maximum disk usage percentage across all Elasticsearch nodes (Added in SonarQube Server 2026.3 and SonarQube Community Build 26.4).
sonarqube_health_integration_azuredevops_status
gauge
N/A
Tells whether SonarQube has configured Azure DevOps integration and its status is green. 1 for green, 0 otherwise.
sonarqube_health_integration_bitbucket_status
gauge
N/A
Tells whether SonarQube has configured Bitbucket integration and its status is green. 1 for green, 0 otherwise.
sonarqube_health_integration_github_status
gauge
N/A
Tells whether SonarQube has configured GitHub integration and its status is green. 1 for green, 0 otherwise.
sonarqube_health_integration_gitlab_status
gauge
N/A
Tells whether SonarQube has configured GitLab integration and its status is green. 1 for green, 0 otherwise.
sonarqube_health_web_status
gauge
N/A
Tells whether the Web process is up or down. 1 for up, 0 for down.
sonarqube_license_days_before_expiration_total
gauge
days
Days until the SonarQube license will expire.
sonarqube_license_number_of_lines_analyzed_total
gauge
lines
Number of lines analyzed.
sonarqube_license_number_of_lines_remaining_total
gauge
lines
Number of lines remaining until the current license limit is reached.
sonarqube_number_of_connected_sonarlint_clients
gauge
clients
Number of connected SonarQube for IDE clients.
sonarqube_web_uptime_minutes
gauge
minutes
Number of minutes the SonarQube instance has been running.
JMX metrics (Kubernetes and OpenShift only)
The following metrics require the Prometheus JMX Exporter Java agent, which is configured automatically by the SonarQube Helm chart and attached to both the Web and Compute Engine JVM processes. On Kubernetes and OpenShift, the SonarQube Helm chart configures this automatically when:
prometheusExporter.enabled: true(sonarqubeHelm chart), orapplicationNodes.prometheusExporter.enabled: true(sonarqube-dceHelm chart)
For non-Kubernetes deployment and JMX metrics, see Monitoring SonarQube Server instance.
Enabling metrics collection on Kubernetes
See Introduction to setting up monitoring for enabling metrics collection.
Prometheus scrapes metrics from dedicated ports, which are defined and configurable within the Helm chart.
Default Port
8000
8001
SonarQube Helm Chart Key
prometheusExporter.webBeanPort
prometheusExporter.ceBeanPort
SonarQube DCE Helm Chart Key
applicationNodes.prometheusExporter.webBeanPort
applicationNodes.prometheusExporter.ceBeanPort
See the ArtifactHub’s Monitoring section for SonarQube Server (Developer and Enterprise) and SonarQube Server Data Center edition for more details.
Web server: database connection pool
JMX object: SonarQube:name=Database
SonarQube_Database_PoolActiveConnections
Untyped
Connections
Number of active connections in the database pool.
SonarQube_Database_PoolIdleConnections
Untyped
Connections
Number of idle connections in the database pool.
SonarQube_Database_PoolMaxConnections
Untyped
Connections
Maximum number of connections to the database pool.
SonarQube_Database_PoolMaxLifeTimeMillis
Untyped
Milliseconds
Maximum time a connection can stay alive in the database pool.
SonarQube_Database_PoolMaxWaitMillis
Untyped
Milliseconds
Maximum time a connection can keep waiting in the database pool.
SonarQube_Database_PoolMinIdleConnections
Untyped
Connections
Minimum number of idle connections in the database pool.
SonarQube_Database_PoolTotalConnections
Untyped
Connections
Total number of connections to the database pool.
Web server: async execution
JMX object: SonarQube:name=AsyncExecution
SonarQube_AsyncExecution_LargestWorkerCount
Untyped
Workers
Maximum number of asynchronous workers seen since startup.
SonarQube_AsyncExecution_QueueSize
Untyped
N/A
Current queue size for asynchronous jobs.
SonarQube_AsyncExecution_WorkerCount
Untyped
Workers
Current number of asynchronous job workers.
SonarQube Compute Engine and Web JVM process metrics
The following metrics are standard JVM process metrics emitted by the JMX Prometheus Java agent itself (not SonarQube-specific MBeans). Because the agent runs inside both the Web and CE JVM processes, these metrics are available from both scrape targets:
Port 8000 (
monitoring-web): values reflect the Web server JVM processPort 8001 (
monitoring-ce): values reflect the Compute Engine (CE) JVM process
Use the instance or port label in Prometheus to distinguish between the two when building dashboards or alerts.
process_cpu_seconds_total
Counter
Seconds
Total user and system CPU time
process_max_fds
Gauge
N/A
Maximum number of open file descriptors.
process_open_fds
Gauge
N/A
Number of open file descriptors.
process_resident_memory_bytes
Gauge
Bytes
Resident memory size in bytes.
process_start_time_seconds
Gauge
Seconds
Start time of the process since Unix epoch in seconds.
process_virtual_memory_bytes
Gauge
Bytes
Virtual memory size in bytes
.
SonarQube Compute Engine database connection pool
JMX object: SonarQube:name=ComputeEngineDatabaseConnection
SonarQube_ComputeEngineDatabaseConnection_PoolActiveConnections
Untyped
Connections
Number of active connections in the Compute Engine database pool.
SonarQube_ComputeEngineDatabaseConnection_PoolIdleConnections
Untyped
Connections
Number of idle connections in the Compute Engine database pool.
SonarQube_ComputeEngineDatabaseConnection_PoolMaxConnections
Untyped
Connections
Maximum number of connections to the Compute Engine database pool.
SonarQube_ComputeEngineDatabaseConnection_PoolMaxLifeTimeMillis
Untyped
Milliseconds
Maximum time a connection can stay alive in the Compute Engine database pool.
SonarQube_ComputeEngineDatabaseConnection_PoolMaxWaitMillis
Untyped
Milliseconds
Maximum time a connection can keep waiting in the Compute Engine database pool.
SonarQube_ComputeEngineDatabaseConnection_PoolMinIdleConnections
Untyped
Connections
Minimum number of idle connections in the Compute Engine database pool.
SonarQube_ComputeEngineDatabaseConnection_PoolTotalConnections
Untyped
Connections
Total number of connections to the Compute Engine database pool.
SonarQube Compute Engine tasks
JMX object: SonarQube:name=ComputeEngineTasks
SonarQube_ComputeEngineTasks_ErrorCount
Untyped
Tasks
Number of Compute Engine tasks whose processing ended with an error since instance startup.
SonarQube_ComputeEngineTasks_InProgressCount
Untyped
Tasks
Number of Compute Engine tasks currently being processed.
SonarQube_ComputeEngineTasks_LongestTimePending
Untyped
Milliseconds
Age in milliseconds of the oldest pending task.
SonarQube_ComputeEngineTasks_PendingCount
Untyped
Tasks
Number of pending Compute Engine tasks, including tasks received before instance startup.
SonarQube_ComputeEngineTasks_ProcessingTime
Untyped
Milliseconds
Total time spent processing Compute Engine tasks since instance startup.
SonarQube_ComputeEngineTasks_SuccessCount
Untyped
Tasks
Number of Compute Engine tasks whose processing ended successfully since instance startup.
SonarQube_ComputeEngineTasks_WorkerCount
Untyped
Workers
Configured number of Compute Engine workers.
SonarQube_ComputeEngineTasks_WorkerMaxCount
Untyped
Workers
Configured maximum number of Compute Engine workers.
Tomcat
The following metrics come from Tomcat, they are all untyped.
Notes
The Web API metrics follow
sonarqube_snake_casenaming (Prometheus convention), while the JMX metrics useSonarQube_PascalCasenaming (matching JMX MBean object names).JMX-exported metrics appear as
Untypedin Prometheus because JMX MBeans do not carry Prometheus metric type metadata. Treat them as gauges for alerting and dashboard purposes.
Related page
Introduction to setting up monitoring
Last updated
Was this helpful?

