ヘルプ Kubernetes APIサーバー監視

Kubernetes APIサーバー監視

Kubernetes APIサーバー監視を行うと、Kubernetesクラスターのコントロールプレーンに関する詳細な情報を得ることができます。
Kubernetes APIサーバー、コンテナ化された環境のコントロールセンター、ノード、ポッド、ワークロードの可用性とパフォーマンスの重要なメトリックを監視することで、クラスターに最適な操作をサポートします。

リクエスト処理、応答サイズ、リソース使用量、Webhookアクティビティ、認証試行などの詳細なメトリックで、次のことが可能になります。

  • APIサーバーのパフォーマンスのボトルネックを特定します。
  • 非推奨のAPIや安全でないTLS接続などのセキュリティリスクを検出します。
  • ワークロードとストレージを分析してリソースの割り当てを最適化します。

サポート対象バージョン

この機能は、Linuxサーバー監視エージェントのバージョン19.9.0からサポートされます。
コントロールプレーン監視やその他、最新機能を使用するには、Kubernetesエージェントを最新版へアップグレードする必要があります。

Kubernetes監視をまだ追加していない場合、こちらの手順にしたがって監視を追加してください。

APIサーバー監視の追加

Kubernetes APIサーバー監視を有効化する手順は以下の通りです。

  1. Site24x7アカウントにログインします。
  2. K8sに移動し、クラスターの監視名横のハンバーガーアイコンをクリックし、[編集]をクリックします。
  3. 編集画面から[リソースフィルター]欄の[リソースタイプ]のドロップダウンをクリックし、Kubernetes APIサーバーを選択します。
  4. [保存]をクリックします。

保存後、Site24x7 Kubernetes APIサーバー監視はすべてのAPIサーバーのメトリックを取得します。
K8s→クラスター→APIサーバーに移動して、メトリックを表示できます。

サポート対象メトリック

メトリック 説明 単位
生成された監査イベント 最新のポーリング間隔中に生成され、監査バックエンドに送信された監査イベントの数 カウント
拒否された監査要求 最新のポーリング間隔中に監査ログバックエンドのエラーにより拒否された、APIサーバー要求の数 カウント
現在キューに入っているリクエスト ポーリング時間中にこのAPIサーバーにキューイングされたリクエストの最大数 カウント
Kube Aggregator X509 Insecure SHA1 最新のポーリング間隔中に、サービス証明書に安全でないSHA1署名があるサーバーへのリクエストの数
または安全でないSHA1署名が原因で接続に失敗した数(ランタイム環境に基づいてどちらかまたは両方)
カウント
Webhooks X509 Insecure SHA1 最新のポーリング間隔中に、サービス証明書に安全でないSHA1署名があるサーバーへのリクエストの数
または安全でないSHA1署名が原因で接続に失敗した数(ランタイム環境に基づいてどちらかまたは両方)
カウント
中止されたリクエスト 最後のポーリング間隔中にタイムアウトが原因で、APIサーバーが中止したリクエストの数 カウント
非推奨のAPIリクエスト 最新のポーリング間隔中にリクエストがあった非推奨APIの数 カウント
TLSハンドシェイクエラー 最新のポーリング間隔中にTLSハンドシェイクエラーが原因でドロップされたリクエストの数 カウント
Average Webhook Admission Duration 最新のポーリング間隔中にアドミッションWebhookによって処理された、アドミッションレビューリクエストの平均所要時間
Webhook Admission Requests 最新のポーリング間隔中に受信したアドミッションWebhookによって処理された、アドミッションレビューリクエストの合計数 カウント
Total Webhook Admission Duration 最新のポーリング間隔中にアドミッションWebhookによって処理された、アドミッションレビューリクエストの所要合計時間
Average Webhook Controller Duration 最新のポーリング間隔中にアドミッションコントローラーによって処理された、アドミッションレビューリクエストの平均所要時間
Webhookコントローラーリクエスト 最新のポーリング間隔中にアドミッションコントローラーが受信したアドミッションレビューリクエストの総数 カウント
Total Webhook Controller Duration 最新のポーリング間隔中にアドミッションコントローラーによって処理されたアドミッションレビューリクエストにかかった合計時間
Average Etcd Duration ポーリング間隔中にetcdサーバーに行われたリクエストに費やされた平均秒数/リクエスト
Etcdリクエスト ポーリング間隔中にEtcdサーバーに対して行われたリクエストの合計数 カウント
Total Etcd Duration ポーリング間隔中にEtcdサーバーに行われたリクエストのレイテンシー合計
プロセス常駐メモリ 最新のポーリング間隔中にAPIサーバープロセスによって使用された常駐メモリのサイズ バイト
プロセスCPU時間 最新のポーリング間隔中にAPIサーバープロセスによって消費されたCPU時間
Process Open File Descriptors 最新のポーリング間隔中にAPIサーバープロセスによって開かれたファイル記述子の数 カウント
プロセス仮想メモリ 最新のポーリング間隔中にAPIサーバープロセスによって使用された仮想メモリのサイズ バイト
Go Threads 最新のポーリング間隔中にAPIサーバープロセスのGoランタイムによって作成されたOSスレッドの数 カウント
Go Routines 最新のポーリング間隔中にAPIサーバープロセスに存在するGo Routinesの数 カウント
リクエスト数 最新のポーリング間隔中にKubernetes APIサーバーに送信されたリクエストの総数 カウント
Current Inflight Requests 最新のポーリング間隔中にAPIサーバーで現在使用されているInflightリクエスト制限の最大数 カウント
平均応答サイズ 最新のポーリング間隔中にKubernetes APIサーバーがリクエストごとに送信した応答サイズ バイト
応答数 最新のポーリング間隔中にAPIサーバーが応答したリクエストの総数 カウント
合計応答サイズ 最新のポーリング間隔中にKubernetes APIサーバーがすべてのリクエストに対して送信した応答の合計サイズ バイト
ストレージオブジェクト 最新のポーリング間隔中にAPIサーバーの基盤となるストレージに保存されたオブジェクトの合計数 カウント
平均リクエスト期間 最新のポーリング間隔中にAPIサーバーによって処理されたHTTPリクエストの継続時間
リクエスト数 最新のポーリング間隔中にAPIサーバーによって処理されたHTTPリクエストの合計数 カウント
合計リクエスト期間 最新のポーリング間隔中にAPIサーバーによって処理されたHTTPリクエストの合計時間
ストレージデータベースのファイルサイズ 最新のポーリング間隔中にAPIサーバーによって使用された、物理的に割り当てられたストレージデータベースのファイルの合計サイズ バイト
リソース名 リソースの名称 テキスト
平均リクエスト期間 最新のポーリング間隔中にAPIサーバーによって処理されたHTTPリクエストの継続時間(リソース別)
処理されたリクエスト 最新のポーリング間隔中にAPIサーバーが処理したHTTPリクエストの総数をリソース別にグループ化したもの カウント
合計リクエスト期間 最新のポーリング間隔中にAPIサーバーによって処理されたHTTPリクエストの合計継続時間(リソース別)
平均応答サイズ 最新のポーリング間隔中にAPIサーバーによって処理されたHTTPリクエストの合計継続時間(リソース別) バイト
応答数 最新のポーリング間隔中にAPIサーバーが応答したリクエストの総数(リソース別) カウント
合計応答サイズ 最新のポーリング間隔中にAPIサーバーがすべてのリクエストに対して送信したレスポンスの合計サイズ(リソース別) バイト
合計リクエスト 最新のポーリング間隔中のAPIサーバーへのリクエストの数(リソース別) カウント
応答コード リクエストコード番号 テキスト表記(単位なし)
合計リクエスト 最新のポーリング間隔中のAPIサーバーへのリクエストの数(コード別) カウント
残りの顧客リクエスト合計 最新のポーリング間隔中で、お客様のAPIサーバーから外部サービスまたはAPIへのHTTPリクエストの総数(コード別) カウント
Verb リクエストのVerbアクション テキスト
合計リクエスト 最新のポーリング間隔中の、APIサーバーへのリクエスト(Verb別) カウント
残りの顧客リクエスト合計 最新のポーリング間隔中で、お客様のAPIサーバーから外部サービスまたはAPIへのHTTPリクエストの総数(Verb別) カウント
ホスト サービスのホスト名 テキスト
残りの顧客リクエスト合計 最新のポーリング間隔中で、お客様のAPIサーバーから外部サービスまたはAPIへのHTTPリクエストの総数(ホスト名別) カウント
リソース名 リソースの名称 テキスト
ストレージオブジェクト 最新のポーリング間隔中で、APIサーバーの基盤ストレージに保存されたオブジェクトの合計数(リソース別) カウント
リソース名 リソースの名称 テキスト
Verb Verbの名称 テキスト
アクティブな長時間実行リクエスト 最新のポーリング間隔中で、稼働中の長時間実行中のAPIサーバーリクエストの総数(リソースとVerb別) カウント
サービス名 リクエストのために呼び出されるgRPCサービスの名前 テキスト
メソッド 呼び出されるgRPCメソッド名 テキスト
合計リクエスト 最新のポーリング間隔中に、サービスとメソッドの組み合わせを使用して完了したgRPCリクエストの合計数 カウント
コード コードの名称(gRPCリクエストの最終ステータス) テキスト
合計リクエスト 最新のポーリング間隔中に、コードを使用して完了したgRPCリクエストの合計数 カウント
名前 API機能の名称 テキスト
ステージ名 API機能のステージ名 テキスト
機能ステータス 有効/無効(1/0)ステータス テキスト
リソース名 アクションまたはタスクキューの名称 テキスト
ワークキューの追加合計 最新のポーリング間隔中に、ワークキューによって処理された追加の合計数(アクション名別) カウント
ワークキューの深度 最新のポーリング間隔中に処理される、ワークキュー内のアクションまたはタスクの数(アクション名別) カウント
認証時間(成功)、認証時間(失敗) 最新のポーリング間隔中に、認証に費やされた合計時間(結果別)
認証試行(成功)、認証試行(失敗) 最新のポーリング間隔中に行われた認証試行の合計回数(結果別) カウント
平均認証時間(成功)、平均認証時間(失敗) 最新のポーリング間隔中で、リクエスト1件あたりの認証に要した平均時間(結果別)

関連ガイド: