Enabling Keycloak Metrics - Keycloak

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3
At a glance
Powered by AI
The key takeaways are that Keycloak has built-in support for metrics and it is possible to enable and expose metrics from the server. Metrics can help monitor system performance and resource usage.

Metrics can be enabled in Keycloak by starting the server with the --metrics-enabled=true option. For example, bin/kc.sh start --metrics-enabled=true

/metrics. The response from this endpoint uses the Prometheus text format and includes metrics about the JVM, system, database, HTTP requests and caches.

30/03/2023, 11:04 Enabling Keycloak Metrics - Keycloak

Guides / Server / Enabling Keycloak Metrics

Enabling Keycloak Metrics


Learn how to enable and expose metrics from the server

Keycloak has built in support for metrics. This guide describes how to enable and configure server
metrics.

Enabling Metrics
It is possible to enable metrics using the build time option metrics-enabled :

bin/kc.[sh|bat] start --metrics-enabled=true

Querying Metrics
Keycloak exposes metrics at the following endpoint:

/metrics

The response from the endpoint uses a text/plain content type and it is based on the
Prometheus text format. The snippet bellow is an example of a response:

# HELP base_gc_total Displays the total number of collections that have occurred. This a
# TYPE base_gc_total counter
base_gc_total{name="G1 Young Generation",} 14.0
# HELP jvm_memory_usage_after_gc_percent The percentage of long-lived heap pool used aft
# TYPE jvm_memory_usage_after_gc_percent gauge
jvm_memory_usage_after_gc_percent{area="heap",pool="long-lived",} 0.0
# HELP jvm_threads_peak_threads The peak live thread count since the Java virtual machin
# TYPE jvm_threads_peak_threads gauge
jvm_threads_peak_threads 113.0
# HELP agroal_active_count Number of active connections. These connections are in use an
# TYPE agroal_active_count gauge
agroal_active_count{datasource="default",} 0.0
# HELP base_memory_maxHeap_bytes Displays the maximum amount of memory, in bytes, that c
# TYPE base_memory_maxHeap_bytes gauge
https://www.keycloak.org/server/configuration-metrics 1/3
30/03/2023, 11:04 Enabling Keycloak Metrics - Keycloak

base_memory_maxHeap_bytes 1.6781410304E10
# HELP process_start_time_seconds Start time of the process since unix epoch.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.675188449054E9
# HELP system_load_average_1m The sum of the number of runnable entities queued to avail
# TYPE system_load_average_1m gauge
system_load_average_1m 4.005859375

...

Available Metrics
The table below summarizes the available metrics groups:

Metric Description

System A set of system-level metrics related to CPU


and memory usage.

JVM A set of metrics from the Java Virtual Machine


(JVM) related to GC, and heap.

Database A set of metrics from the database connection


pool, if using a database.

HTTP A set of global and individual metrics from the


HTTP endpoints

Cache A set of metrics from Infinispan caches. See


Configuring distributed caches guide for more
details.

Relevant options
Value

 metrics-enabled  true , false


If the server should expose metrics. (default)

https://www.keycloak.org/server/configuration-metrics 2/3
30/03/2023, 11:04 Enabling Keycloak Metrics - Keycloak

On this page

Enabling Metrics

Querying Metrics

Available Metrics

Relevant options

 Edit this guide

Sponsored by

https://www.keycloak.org/server/configuration-metrics 3/3

You might also like