Keycloak JVM 指標

本文件涵蓋有關用於觀察 Keycloak 效能的關鍵 JVM 指標的資訊。

啟用 Keycloak 指標

Keycloak 在管理介面端點 /metrics 上公開指標。若要啟用,請使用建置時選項 --metrics-enabled=true

在 Kubernetes 叢集上,使用 Keycloak Operator,可以透過 Keycloak CR 中的 addionalOptions 啟用指標,如下所示

apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  labels:
    app: keycloak
  name: keycloak
spec:
  additionalOptions:
    - name: metrics-enabled
      value: 'true'

其他資訊請參閱此處

JVM 資訊

指標 描述

jvm_info_total

有關 JVM 的資訊,例如版本、執行時間和供應商。

堆積記憶體使用量

指標 描述

jvm_memory_committed_bytes

JVM 已提交使用的記憶體量,反映保證 JVM 可用的已配置記憶體部分。

jvm_memory_used_bytes

JVM 目前使用的記憶體量,表示應用程式和 JVM 內部實際的記憶體消耗量。

垃圾收集指標

指標 描述

jvm_gc_pause_seconds_max

JVM 因特定原因而經歷的垃圾收集暫停的最長持續時間(以秒為單位),可協助您快速區分 GC 暫停的類型(次要、主要)。

jvm_gc_pause_seconds_sum

垃圾收集暫停所花費的總累積時間,表示 GC 暫停對 JVM 中應用程式效能的影響。

jvm_gc_pause_seconds_count

計算垃圾收集暫停事件的總數,有助於評估 JVM 中 GC 暫停的頻率。

jvm_gc_overhead

用於垃圾收集的 CPU 時間百分比,表示 GC 對 JVM 中應用程式效能的影響。它指的是專用於執行垃圾收集 (GC) 操作(而不是執行應用程式程式碼或執行其他任務)的總 CPU 處理時間的比例。此指標有助於確定 GC 引入了多少額外負荷,進而影響 Keycloak 的 JVM 的整體效能。

有關 Keycloak metrics 端點的其他資訊,請參閱此處