7681687e0a
inspired by https://github.com/aerogear/keycloak-metrics-spi https://github.com/please-openit/keycloak-native-metrics Closes #33043 Signed-off-by: Bernd Bohmann <bommel@apache.org> Signed-off-by: Alexander Schwartz <aschwart@redhat.com> Signed-off-by: Michal Hajas <mhajas@redhat.com> Co-authored-by: Alexander Schwartz <aschwart@redhat.com> Co-authored-by: Michal Hajas <mhajas@redhat.com>
84 lines
3.2 KiB
Text
84 lines
3.2 KiB
Text
<#import "/templates/guide.adoc" as tmpl>
|
|
<#import "/templates/kc.adoc" as kc>
|
|
<#import "/templates/options.adoc" as opts>
|
|
<#import "/templates/links.adoc" as links>
|
|
|
|
<@tmpl.guide
|
|
title="Enabling {project_name} Metrics"
|
|
summary="Learn how to enable and expose metrics from the server"
|
|
includedOptions="metrics-enabled http-metrics-* cache-metrics-*">
|
|
|
|
{project_name} has built in support for metrics. This {section} describes how to enable and configure server metrics.
|
|
|
|
== Enabling Metrics
|
|
|
|
It is possible to enable metrics using the build time option `metrics-enabled`:
|
|
|
|
<@kc.start parameters="--metrics-enabled=true"/>
|
|
|
|
== Querying Metrics
|
|
|
|
{project_name} exposes metrics at the following endpoint on the management interface at:
|
|
|
|
* `/metrics`
|
|
|
|
For more information about the management interface, see <@links.server id="management-interface" />.
|
|
The response from the endpoint uses a `application/openmetrics-text` content type and it is based on the Prometheus (OpenMetrics) text format. The snippet below
|
|
is an example of a response:
|
|
|
|
[source]
|
|
----
|
|
# HELP base_gc_total Displays the total number of collections that have occurred. This attribute lists -1 if the collection count is undefined for this collector.
|
|
# 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 after the last GC event, in the range [0..1]
|
|
# 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 machine started or peak was reset
|
|
# 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 and not available to be acquired.
|
|
# 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 can be used for memory management.
|
|
# TYPE base_memory_maxHeap_bytes gauge
|
|
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 available processors and the number of runnable entities running on the available processors averaged over a period of time
|
|
# TYPE system_load_average_1m gauge
|
|
system_load_average_1m 4.005859375
|
|
|
|
...
|
|
----
|
|
|
|
== Available Metrics
|
|
|
|
The table below summarizes the available metrics groups:
|
|
|
|
[%autowidth]
|
|
|===
|
|
|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 <@links.server id="caching"/> for more details.
|
|
|
|
|Keycloak
|
|
|A set of metrics from Keycloak events. See <@links.server id="event-metrics"/> for more details.
|
|
|
|
|===
|
|
|
|
</@tmpl.guide>
|