Dash イベントで発表された新しいサーバーレス、ネットワーク、RUM などの機能をぜひご確認ください! Dash イベントで発表された新機能!

Kubernetes API サーバーメトリクス

Agent Check Agentチェック

Supported OS: Linux

概要

このチェックは Kube_apiserver_metrics を監視します。

セットアップ

インストール

Kube_apiserver_metrics チェックは Datadog Agent パッケージに含まれているため、サーバーに追加でインストールする必要はありません。

コンフィグレーション

kube_apiserver_metrics チェックを実行する主な使用例としては、クラスターレベルのチェックがあります。 詳細については、クラスターレベルのチェックに関するドキュメントを参照してください。 apiserver のサービスに、次のように注釈を付けることができます。

Annotations:       ad.datadoghq.com/endpoint.check_names: ["kube_apiserver_metrics"]
                   ad.datadoghq.com/endpoint.init_configs: [{}]
                   ad.datadoghq.com/endpoint.instances:
                     [
                       {
                         "prometheus_url": "%%host%%:%%port%%/metrics",
                         "bearer_token_auth": "true"
                       }
                     ]
                   ad.datadoghq.com/service.check_names: [""]
                   ad.datadoghq.com/service.init_configs: [{}]
                   ad.datadoghq.com/service.instances: [{}]

これで、Datadog Cluster Agent は、各エンドポイントのチェックを Datadog Agent にスケジューリングします。

免責事項: apiserver はポッドとして実行する必要があります。現時点で他の方法 (systemd ユニットなど) はサポートされていません。

このチェックは、エンドポイントを直接 kube_apiserver_metrics.d/conf.yaml ファイルで構成することによって実行することもできます。このファイルは、Agent の構成ディレクトリのルートの conf.d/ フォルダー内にあります。 使用可能なすべての構成オプションの詳細については、サンプル kube_apiserver_metrics.d/conf.yaml を参照してください。

チェックを実行する Agent は、デフォルトで、APIServer に対する認証に使用するサービスアカウントのベアラートークンを取得しようとします。RBAC を使用していない場合は、bearer_token_authfalse に設定してください。

最後に、Datadog Agent をマスターノードで実行する場合は、オートディスカバリーに依存してチェックをスケジューリングできます。公式のイメージ k8s.gcr.io/kube-apiserver を実行している場合は自動です。

検証

Agent の status サブコマンドを実行し、Checks セクションで kube_apiserver_metrics を探します。

収集データ

メトリクス

kube_apiserver.longrunning_gauge
(gauge)
Gauge of all active long-running apiserver requests broken out by verb API resource and scope. Not all requests are tracked this way.
Shown as request
kube_apiserver.current_inflight_requests
(gauge)
Maximal number of currently used inflight request limit of this apiserver per request kind in last second.
kube_apiserver.audit_event
(gauge)
Accumulated number audit events generated and sent to the audit backend
Shown as event
kube_apiserver.go_threads
(gauge)
Number of OS threads created
Shown as thread
kube_apiserver.go_goroutines
(gauge)
Number of goroutines that currently exist
kube_apiserver.APIServiceRegistrationController_depth
(gauge)
Current depth of workqueue: APIServiceRegistrationController
kube_apiserver.etcd_object_counts
(gauge)
Number of stored objects at the time of last check split by kind
Shown as object
kube_apiserver.rest_client_requests_total
(gauge)
Accumulated number of HTTP requests partitioned by status code method and host
Shown as request
kube_apiserver.apiserver_request_count
(gauge)
Accumulated number of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (deprecated since kubernetes 1.15)
Shown as request
kube_apiserver.apiserver_dropped_requests_total
(gauge)
Accumulated number of requests dropped with 'Try again later' response
Shown as request
kube_apiserver.http_requests_total
(gauge)
Accumulated number of HTTP requests made
Shown as request
kube_apiserver.authenticated_user_requests
(gauge)
Accumulated number of authenticated requests broken out by username
Shown as request
kube_apiserver.audit_event.count
(count)
Monotonic count of audit events generated and sent to the audit backend
Shown as event
kube_apiserver.rest_client_requests_total.count
(count)
Monotonic count of HTTP requests partitioned by status code method and host
Shown as request
kube_apiserver.apiserver_request_count.count
(count)
Monotonic count of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (deprecated since kubernetes 1.15)
Shown as request
kube_apiserver.apiserver_dropped_requests_total.count
(count)
Monotonic count of requests dropped with 'Try again later' response
Shown as request
kube_apiserver.http_requests_total.count
(count)
Monotonic count of the number of HTTP requests made
Shown as request
kube_apiserver.authenticated_user_requests.count
(count)
Monotonic count of authenticated requests broken out by username
Shown as request
kube_apiserver.apiserver_request_total
(gauge)
Accumulated number of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (Only present from kubernetes 1.15 to replace apiserver_request_count)
Shown as request
kube_apiserver.apiserver_request_total.count
(count)
Monotonic count of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (Only present from kubernetes 1.15 to replace apiserver_request_count.count)
Shown as request

サービスのチェック

Kube_apiserver_metrics には、サービスのチェック機能は含まれません。

イベント

Kube_apiserver_metrics には、イベントは含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。


Mistake in the docs? Feel free to contribute!