第5章 メトリクスを使用したトラブルシューティング
エラーやパフォーマンスの問題のトラブルシューティングにメトリクスを使用します。
実行中の Red Hat build of Keycloak デプロイメントでは、システムのパフォーマンスを把握し、パフォーマンスがサービスレベル目標 (SLO) を満たしているかどうかを認識することが重要です。SLO の詳細は、サービスレベルインジケーターを使用してパフォーマンスを監視する の章を参照してください。
このガイドでは、「SLO が満たされない場合はどうすればよいか」という質問への回答を示します。
Red Hat build of Keycloak は複数のコンポーネントで構成されており、そのうちの 1 つに問題や誤設定があると、サービスレベルインジケーターが望ましくない数値に変化する可能性があります。
次の例は、このガイドで提供されている内容を表しています。
観測内容: レイテンシーのサービスレベル目標が達成されていません。
問題を示すメトリクス:
- Red Hat build of Keycloak のデータベース接続プールが頻繁に枯渇し、プールから接続を取得するのを待つスレッドのキューが発生します。
-
Red Hat build of Keycloak の
users
キャッシュヒット率は低く、5% 程度です。これは、20 回のユーザー検索のうちキャッシュからユーザーデータを取得できるのは 1 回のみで、残りはデータベースからデータをロードする必要があることを意味します。
提案される緩和策:
-
users
のキャッシュサイズの数値を増やすと、データベースからの読み取り回数が減少します。 - 接続プール内の接続数を増やします。これは、データベースのメトリクスで確認し、使用可能なプロセッサーの数を増やすなどして、より高い負荷に合わせて調整する必要があります。
- このガイドでは、Red Hat build of Keycloak メトリクスに焦点を当てています。データベース自体のトラブルシューティングは範囲外です。
- このガイドは一般的なガイダンスを提供します。必ず、古い設定と新しい設定の該当するメトリクスを比較するパフォーマンステストを実行して、設定の変更を確認する必要があります。
以下のメトリクスの Grafana ダッシュボードは、ダッシュボードでのアクティビティーの可視化 の章を参照してください。
5.1. Red Hat build of Keycloak 主要メトリクスのリスト リンクのコピーリンクがクリップボードにコピーされました!
- 自己提供のメトリクス
- JVM メトリック
- データベースメトリクス
- HTTP メトリック
シングルサイトメトリクス (外部 Data Grid なし)
複数サイトのメトリクス (マルチサイトデプロイメント で説明)