6.5. サーバーレス管理者のメトリクス
メトリクスにより、クラスター管理者は OpenShift Serverless クラスターコンポーネントおよびワークロードのパフォーマンスを監視できます。
OpenShift Container Platform Web コンソールの Administrator パースペクティブで Dashboards に移動すると、OpenShift Serverless のさまざまなメトリクスを表示できます。
6.5.1. 前提条件
- クラスターのメトリクスの有効化に関する詳細は、OpenShift Container Platform ドキュメントの メトリクスの管理 を参照してください。
- OpenShift Container Platform で Knative コンポーネントのメトリクスを表示するには、クラスター管理者権限と、Web コンソール管理者 パースペクティブへのアクセスが必要です。
サービスメッシュが mTLS で有効にされている場合、サービスメッシュが Prometheus のメトリクスの収集を阻止するため、Knative Serving のメトリクスはデフォルトで無効にされます。
この問題の解決については、Enabling Knative Serving metrics when using Service Mesh with mTLS の有効化を参照してください。
メトリクスの収集は、Knative サービスの自動スケーリングには影響しません。これは、収集要求がアクティベーターを通過しないためです。その結果、Pod が実行していない場合に収集が行われることはありません。
6.5.2. コントローラーメトリクス
以下のメトリクスは、コントローラーロジックを実装するコンポーネントによって出力されます。これらのメトリクスは、調整要求がワークキューに追加される調整操作とワークキューの動作に関する詳細を示します。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| ワークキューの深さ。 | ゲージ |
| 整数 (単位なし) |
| 調整操作の数。 | カウンター |
| 整数 (単位なし) |
| 調整操作のレイテンシー。 | ヒストグラム |
| ミリ秒 |
| ワークキューによって処理される追加アクションの合計数。 | カウンター |
| 整数 (単位なし) |
| アイテムが要求される前にワークキューにとどまる時間の長さ。 | ヒストグラム |
| 秒 |
| ワークキューによって処理された再試行回数。 | カウンター |
| 整数 (単位なし) |
| ワークキューからの項目の処理にかかる時間の長さ。 | ヒストグラム |
| 秒 |
| 未処理のワークキュー項目が進行中であった時間の長さ。 | ヒストグラム |
| 秒 |
| 最も長い間未処理のワークキュー項目が進行中であった時間の長さ。 | ヒストグラム |
| 秒 |
6.5.3. Webhook メトリクス
Webhook メトリクスは操作に関する有用な情報を表示します。たとえば、多数の操作が失敗する場合は、これはユーザーが作成したリソースに問題があることを示している可能性があります。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| Webhook にルーティングされる要求の数。 | カウンター |
| 整数 (単位なし) |
| Webhook 要求の応答時間。 | ヒストグラム |
| ミリ秒 |
6.5.4. Knative Eventing メトリクス
クラスター管理者は、Knative Eventing コンポーネントの以下のメトリクスを表示できます。
HTTP コードからメトリクスを集計することで、イベントは正常なイベント (2xx) および失敗したイベント (5xx) の 2 つのカテゴリーに分類できます。
6.5.4.1. ブローカー Ingress メトリクス
以下のメトリクスを使用してブローカー Ingress をデバッグし、どのように実行されているかを確認し、どのイベントが Ingress コンポーネントによってディスパッチされているかを確認できます。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| ブローカーによって受信されるイベントの数。 | カウンター |
| 整数 (単位なし) |
| イベントのチャネルへのディスパッチにかかる時間。 | ヒストグラム |
| ミリ秒 |
6.5.4.2. ブローカーフィルターメトリクス
以下のメトリクスを使用してブローカーフィルターをデバッグし、それらがどのように実行されているかを確認し、どのイベントがフィルターによってディスパッチされているかを確認できます。イベントでフィルターリングアクションのレイテンシーを測定することもできます。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| ブローカーによって受信されるイベントの数。 | カウンター |
| 整数 (単位なし) |
| イベントのチャネルへのディスパッチにかかる時間。 | ヒストグラム |
| ミリ秒 |
| トリガーサブスクライバーにディスパッチされる前にイベントの処理にかかる時間。 | ヒストグラム |
| ミリ秒 |
6.5.4.3. InMemoryChannel dispatcher メトリクス
以下のメトリクスを使用して InMemoryChannel
チャネルをデバッグし、それらがどのように実行されているかを確認し、どのイベントがチャネルによってディスパッチされているかを確認できます。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
|
| カウンター |
| 整数 (単位なし) |
|
| ヒストグラム |
| ミリ秒 |
6.5.4.4. イベントソースメトリクス
以下のメトリクスを使用して、イベントがイベントソースから接続されたイベントシンクに配信されていることを確認できます。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| イベントソースによって送信されるイベントの数。 | カウンター |
| 整数 (単位なし) |
| 最初に配信に失敗した後にイベントソースによって送信される再試行イベントの数。 | カウンター |
| 整数 (単位なし) |
6.5.5. Knative Serving メトリクス
クラスター管理者は、Knative Serving コンポーネントの以下のメトリクスを表示できます。
6.5.5.1. activator メトリクス
以下のメトリクスを使用して、トラフィックが activator 経由で渡されるときにアプリケーションがどのように応答するかを理解することができます。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| activator にルーティングされる同時要求の数、またはレポート期間における平均同時実行数。 | ゲージ |
| 整数 (単位なし) |
| activator にルーティングされる要求の数。これらは、activator ハンドラーから実行された要求です。 | カウンター |
| 整数 (単位なし) |
| 実行され、ルーティングされた要求の応答時間 (ミリ秒単位)。 | ヒストグラム |
| ミリ秒 |
6.5.5.2. Autoscaler メトリクス
Autoscaler コンポーネントは、それぞれのリビジョンの Autoscaler の動作に関連する多数のメトリクスを公開します。たとえば、任意の時点で、Autoscaler がサービスに割り当てようとする Pod のターゲット数、安定期間中の 1 秒あたりの要求の平均数、または Knative Pod Autoscaler (KPA) を使用している場合に Autoscaler がパニックモードであるかどうかなどを監視できます。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
| Autoscaler がサービスへの割り当てを試みる Pod 数。 | ゲージ |
| 整数 (単位なし) |
| stable ウインドウで提供される追加のバースト容量。 | ゲージ |
| 整数 (単位なし) |
| stable ウィンドウで監視される各 Pod の要求数の平均。 | ゲージ |
| 整数 (単位なし) |
| panic ウィンドウで監視される各 Pod の要求数の平均。 | ゲージ |
| 整数 (単位なし) |
| Autoscaler が各 Pod への送信を試みる同時要求の数。 | ゲージ |
| 整数 (単位なし) |
| stable ウィンドウで監視される各 Pod の 1 秒当たりの要求数の平均。 | ゲージ |
| 整数 (単位なし) |
| panic ウィンドウで監視される各 Pod の 1 秒当たりの要求数の平均。 | ゲージ |
| 整数 (単位なし) |
| Autoscaler が各 Pod をターゲットとする 1 秒あたりの要求の数。 | ゲージ |
| 整数 (単位なし) |
|
この値は、Autoscaler がパニックモードの場合は | ゲージ |
| 整数 (単位なし) |
| Autoscaler が Kubernetes クラスターから要求した Pod 数。 | ゲージ |
| 整数 (単位なし) |
| 割り当てられ、現在準備完了状態にある Pod 数。 | ゲージ |
| 整数 (単位なし) |
| 準備未完了状態の Pod 数。 | ゲージ |
| 整数 (単位なし) |
| 現在保留中の Pod 数。 | ゲージ |
| 整数 (単位なし) |
| 現在終了中の Pod 数。 | ゲージ |
| 整数 (単位なし) |
6.5.5.3. Go ランタイムメトリクス
各 Knative Serving コントロールプレーンプロセスは、Go ランタイムメモリーの統計を多数出力します (MemStats) 。
各メトリクスの name
タグは空のタグです。
メトリクス名 | 説明 | タイプ | タグ | 単位 |
---|---|---|---|---|
|
割り当てられたヒープオブジェクトのバイト数。このメトリクスは | ゲージ |
| 整数 (単位なし) |
| ヒープオブジェクトに割り当てられる累積バイト数。 | ゲージ |
| 整数 (単位なし) |
| オペレーティングシステムから取得したメモリーの合計バイト数。 | ゲージ |
| 整数 (単位なし) |
| ランタイムが実行したポインター検索の数。 | ゲージ |
| 整数 (単位なし) |
| 割り当てられるヒープオブジェクトの累積数。 | ゲージ |
| 整数 (単位なし) |
| 解放されているヒープオブジェクトの累積数。 | ゲージ |
| 整数 (単位なし) |
| 割り当てられたヒープオブジェクトのバイト数。 | ゲージ |
| 整数 (単位なし) |
| オペレーティングシステムから取得したヒープメモリーのバイト数。 | ゲージ |
| 整数 (単位なし) |
| アイドル状態の未使用スパンのバイト数。 | ゲージ |
| 整数 (単位なし) |
| 現在使用中のスパンのバイト数。 | ゲージ |
| 整数 (単位なし) |
| オペレーティングシステムに返された物理メモリーのバイト数。 | ゲージ |
| 整数 (単位なし) |
| 割り当てられるヒープオブジェクトの数。 | ゲージ |
| 整数 (単位なし) |
| 現在使用中のスタックスパンのバイト数。 | ゲージ |
| 整数 (単位なし) |
| オペレーティングシステムから取得したスタックメモリーのバイト数。 | ゲージ |
| 整数 (単位なし) |
|
割り当てられた | ゲージ |
| 整数 (単位なし) |
|
| ゲージ |
| 整数 (単位なし) |
|
割り当てられた | ゲージ |
| 整数 (単位なし) |
|
| ゲージ |
| 整数 (単位なし) |
| バケットハッシュテーブルのプロファイリングにおけるメモリーのバイト数。 | ゲージ |
| 整数 (単位なし) |
| ガべージコレクションメタデータのメモリーのバイト数。 | ゲージ |
| 整数 (単位なし) |
| その他のオフヒープランタイム割り当てのメモリーのバイト数。 | ゲージ |
| 整数 (単位なし) |
| 次のガベージコレクションサイクルのターゲットヒープサイズ。 | ゲージ |
| 整数 (単位なし) |
| 最後のガベージコレクションが完了した時間 (Epoch または Unix 時間)。 | ゲージ |
| ナノ秒 |
| プログラム開始以降のガベージコレクションの stop-the-world 停止の累積時間。 | ゲージ |
| ナノ秒 |
| 完了したガベージコレクションサイクルの数。 | ゲージ |
| 整数 (単位なし) |
| ガベージコレクションの機能を呼び出すアプリケーションが原因で強制されたガベージコレクションサイクルの数。 | ゲージ |
| 整数 (単位なし) |
| プログラムの開始以降にガベージコレクターによって使用されたプログラムの使用可能な CPU 時間の一部。 | ゲージ |
| 整数 (単位なし) |