イベントメトリクスによるユーザーアクティビティの監視

イベントメトリクスは、Keycloakインスタンスにおけるさまざまなユーザーアクティビティの集計ビューを管理者に提供します。

今のところ、ユーザーイベントのメトリクスのみがキャプチャされます。たとえば、実行されたログイン数、ログイン失敗数、またはトークンリフレッシュ数を監視できます。

メトリクスは標準のメトリクスエンドポイントを使用して公開されており、独自のメトリクス収集システムで使用して、ダッシュボードとアラートを作成できます。

メトリクスは、Keycloakインスタンスごとにカウンターとして報告されます。カウンターはインスタンスの再起動時にリセットされます。クラスター内で複数のインスタンスを実行している場合は、すべてのインスタンスからメトリクスを収集し、集計してクラスター全体のビューを取得する必要があります。

イベントメトリクスの有効化

イベントメトリクスの収集を開始するには、メトリクスを有効にし、ユーザーイベントのメトリクスを有効にします。

以下は、必要な起動パラメータを示しています。

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

デフォルトでは、レルムごとに個別のメトリクスがあります。クライアントおよびIDプロバイダー別にメトリクスを分類するには、設定オプションevent-metrics-user-tagsを使用して、これらのメトリクスディメンションを追加できます。これは、クライアントとIDPの数が少ないインストールで役立ちます。クライアントまたはIDPの数が多いインストールでは、Keycloakのメモリ使用量が増加し、監視システムの負荷が増加するため、推奨されません。

以下は、3つのメトリクスディメンションすべてでメトリクスを分類するようにKeycloakを設定する方法を示しています。

bin/kc.[sh|bat] start ... --event-metrics-user-tags=realm,idp,clientId ...

Keycloakがメトリクスを公開するイベントを制限できます。利用可能なイベントの概要については、イベントタイプに関するサーバー管理ガイドを参照してください。

次の例は、収集されるイベントをLOGINイベントとLOGOUTイベントに制限しています。

bin/kc.[sh|bat] start ... --event-metrics-user-events=login,logout ...

収集されるメトリクスの説明については、自己提供型メトリクスを参照してください。

関連オプション

metrics-enabled

サーバーがメトリクスを公開するかどうか。

有効にすると、メトリクスは/metricsエンドポイントで利用可能になります。

CLI: --metrics-enabled
Env: KC_METRICS_ENABLED

truefalse (デフォルト)

event-metrics-user-enabled

ユーザーイベントに基づいてメトリクスを作成します。

CLI: --event-metrics-user-enabled
Env: KC_EVENT_METRICS_USER_ENABLED

メトリクスが有効で、機能user-event-metricsが有効になっている場合にのみ利用可能です

truefalse (デフォルト)

event-metrics-user-events

ユーザーイベントメトリクス用に収集されるイベントのカンマ区切りリスト。

このオプションは、デフォルトではすべてのユーザーイベントがメトリクスを作成するため、作成されるメトリクスの数を減らすために使用できます。

CLI: --event-metrics-user-events
Env: KC_EVENT_METRICS_USER_EVENTS

ユーザーイベントメトリクスが有効になっている場合にのみ利用可能です

remove_totpおよびupdate_totpupdate_passwordの代わりにremove_credentialおよびupdate_credentialを使用してください。非推奨の値: remove_totpupdate_totpupdate_password

authreqid_to_tokenclient_deleteclient_infoclient_initiated_account_linkingclient_loginclient_registerclient_updatecode_to_tokencustom_required_actiondelete_accountexecute_action_tokenexecute_actionsfederated_identity_linkfederated_identity_override_linkgrant_consentidentity_provider_first_loginidentity_provider_link_accountidentity_provider_loginidentity_provider_post_loginidentity_provider_responseidentity_provider_retrieve_tokenimpersonateintrospect_tokeninvalid_signatureinvite_orgloginlogoutoauth2_device_authoauth2_device_code_to_tokenoauth2_device_verify_user_codeoauth2_extension_grantpermission_tokenpushed_authorization_requestrefresh_tokenregisterregister_noderemove_credentialremove_federated_identityremove_totp (非推奨)、reset_passwordrestart_authenticationrevoke_grantsend_identity_provider_linksend_reset_passwordsend_verify_emailtoken_exchangeunregister_nodeupdate_consentupdate_credentialupdate_emailupdate_password (非推奨)、update_profileupdate_totp (非推奨)、user_disabled_by_permanent_lockoutuser_disabled_by_temporary_lockoutuser_info_requestverify_emailverify_profile

event-metrics-user-tags

ユーザーイベントメトリクス用に収集されるタグのカンマ区切りリスト。

デフォルトでは、メトリクスのカーディナリティが高くなるのを避けるためにrealmのみが有効になっています。

CLI: --event-metrics-user-tags
Env: KC_EVENT_METRICS_USER_TAGS

ユーザーイベントメトリクスが有効になっている場合にのみ利用可能です

realmidpclientId

このページについて