Kubernetes API server metrics integration metrics

The official Datadog integration for monitoring Kubernetes API server metrics. It collects 78 metrics.

Official summary

Collect metrics from the Kubernetes APIserver

Metric types

  • gauge (value at a point in time): 45
  • count (occurrences in the interval): 33

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
kube_apiserver.APIServiceRegistrationController_depthThe current depth of workqueue: APIServiceRegistrationController (deprecated in Kubernetes 1.26)gauge-
kube_apiserver.admission_controller_admission_duration_seconds.countThe admission controller latency histogram in seconds identified by name and broken out for each operation and API resource and type (validate or admit) countcount-
kube_apiserver.admission_controller_admission_duration_seconds.sumThe admission controller latency histogram in seconds identified by name and broken out for each operation and API resource and type (validate or admit)gaugesecond
kube_apiserver.admission_step_admission_latencies_seconds.countThe admission sub-step latency histogram broken out for each operation and API resource and step type (validate or admit) countcount-
kube_apiserver.admission_step_admission_latencies_seconds.sumThe admission sub-step latency broken out for each operation and API resource and step type (validate or admit)gaugesecond
kube_apiserver.admission_step_admission_latencies_seconds_summary.countThe admission sub-step latency summary broken out for each operation and API resource and step type (validate or admit) countcount-
kube_apiserver.admission_step_admission_latencies_seconds_summary.quantileThe admission sub-step latency summary broken out for each operation and API resource and step type (validate or admit) quantilegaugesecond
kube_apiserver.admission_step_admission_latencies_seconds_summary.sumThe admission sub-step latency summary broken out for each operation and API resource and step type (validate or admit)gaugesecond
kube_apiserver.admission_webhook_admission_latencies_seconds.countThe admission webhook latency identified by name and broken out for each operation and API resource and type (validate or admit) countcount-
kube_apiserver.admission_webhook_admission_latencies_seconds.sumThe admission webhook latency identified by name and broken out for each operation and API resource and type (validate or admit)gaugesecond
kube_apiserver.aggregator_unavailable_apiserviceGauge of APIServices which are marked as unavailable broken down by APIService name (alpha; Kubernetes 1.14+)gauge-
kube_apiserver.apiserver_admission_webhook_fail_open_countAdmission webhook fail open count, identified by name and broken out for each admission type (validating or mutating).gauge-
kube_apiserver.apiserver_admission_webhook_fail_open_count.countAdmission webhook fail open count, identified by name and broken out for each admission type (validating or mutating).count-
kube_apiserver.apiserver_admission_webhook_request_totalAdmission webhook request total, identified by name and broken out for each admission type (alpha; Kubernetes 1.23+)gauge-
kube_apiserver.apiserver_admission_webhook_request_total.countAdmission webhook request total, identified by name and broken out for each admission type (alpha; Kubernetes 1.23+)count-
kube_apiserver.apiserver_dropped_requests_totalThe accumulated number of requests dropped with 'Try again later' response(deprecated in Kubernetes 1.29)gaugerequest
kube_apiserver.apiserver_dropped_requests_total.countThe monotonic count of requests dropped with 'Try again later' response (deprecated in Kubernetes 1.29 replaced by kube_apiserver.flowcontrol_rejected_requests_total.count)countrequest
kube_apiserver.apiserver_request_countThe accumulated number of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (deprecated in Kubernetes 1.15)gaugerequest
kube_apiserver.apiserver_request_count.countThe monotonic count of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (deprecated in Kubernetes 1.15)countrequest
kube_apiserver.apiserver_request_terminations_total.countThe number of requests the apiserver terminated in self-defense (Kubernetes 1.17+)countrequest
kube_apiserver.apiserver_request_totalThe accumulated number of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (Kubernetes 1.15+; replaces apiserver_request_count)gaugerequest
kube_apiserver.apiserver_request_total.countThe monotonic count of apiserver requests broken out for each verb API resource client and HTTP response contentType and code (Kubernetes 1.15+; replaces apiserver_request_count.count)countrequest
kube_apiserver.audit_eventThe accumulated number audit events generated and sent to the audit backendgaugeevent
kube_apiserver.audit_event.countThe monotonic count of audit events generated and sent to the audit backendcountevent
kube_apiserver.authenticated_user_requestsThe accumulated number of authenticated requests broken out by usernamegaugerequest
kube_apiserver.authenticated_user_requests.countThe monotonic count of authenticated requests broken out by usernamecountrequest
kube_apiserver.authentication_attempts.countThe counter of authenticated attempts (Kubernetes 1.16+)countrequest
kube_apiserver.authentication_duration_seconds.countThe authentication duration histogram broken out by result (Kubernetes 1.17+)count-
kube_apiserver.authentication_duration_seconds.sumThe authentication duration histogram broken out by result (Kubernetes 1.17+)gaugesecond
kube_apiserver.current_inflight_requestsThe maximal number of currently used inflight request limit of this apiserver per request kind in last second.gauge-
kube_apiserver.envelope_encryption_dek_cache_fill_percentPercent of the cache slots currently occupied by cached DEKs.gauge-
kube_apiserver.etcd.db.total_sizeThe total size of the etcd database file physically allocated in bytes (alpha; Kubernetes 1.19+)gaugebyte
kube_apiserver.etcd_object_countsThe number of stored objects at the time of last check split by kind (alpha; deprecated in Kubernetes 1.22 replaced by apiserver_storage_objects)gaugeobject
kube_apiserver.etcd_request_duration_seconds.countEtcd request latencies count for each operation and object type (alpha)count-
kube_apiserver.etcd_request_duration_seconds.sumEtcd request latencies for each operation and object type (alpha)gaugesecond
kube_apiserver.etcd_request_errors_totalEtcd failed request counts for each operation and object typecountrequest
kube_apiserver.etcd_requests_totalEtcd request counts for each operation and object typecountrequest
kube_apiserver.flowcontrol_current_executing_requestsNumber of requests in initial (for a WATCH) or any (for a non-WATCH) execution stage in the API Priority and Fairness subsystemgauge-
kube_apiserver.flowcontrol_current_executing_seatsNumber of seats (concurrency units) currently occupied by executing requests in the API Priority and Fairness subsystemgauge-
kube_apiserver.flowcontrol_current_inqueue_requestsNumber of requests currently pending in queues of the API Priority and Fairness subsystemcount-
kube_apiserver.flowcontrol_dispatched_requests_totalNumber of requests executed by API Priority and Fairness subsystemcount-
kube_apiserver.flowcontrol_nominal_limit_seatsNominal limit on the number of execution seats available to requests in the API Priority and Fairness subsystemgauge-
kube_apiserver.flowcontrol_rejected_requests_total.countNumber of requests rejected by API Priority and Fairness subsystemcount-
kube_apiserver.flowcontrol_request_concurrency_limitShared concurrency limit in the API Priority and Fairness subsystem (deprecated in Kubernetes 1.26 replaced by kube_apiserver.nominal_limit_seats)gauge-
kube_apiserver.flowcontrol_request_wait_duration_seconds.countThe request wait duration histogram count in the API Priority and Fairness subsystemcount-
kube_apiserver.flowcontrol_request_wait_duration_seconds.sumThe request wait duration histogram sum in the API Priority and Fairness subsystemgaugesecond
kube_apiserver.go_goroutinesThe number of goroutines that currently existgauge-
kube_apiserver.go_threadsThe number of OS threads createdgaugethread
kube_apiserver.grpc_client_handled_totalThe total number of RPCs completed by the client regardless of success or failurecountrequest
kube_apiserver.grpc_client_msg_received_totalThe total number of gRPC stream messages received by the clientcountmessage
kube_apiserver.grpc_client_msg_sent_totalThe total number of gRPC stream messages sent by the clientcountmessage
kube_apiserver.grpc_client_started_totalThe total number of RPCs started on the clientcountrequest
kube_apiserver.http_requests_totalThe accumulated number of HTTP requests madegaugerequest
kube_apiserver.http_requests_total.countThe monotonic count of the number of HTTP requests madecountrequest
kube_apiserver.kubernetes_feature_enabledWhether a Kubernetes feature gate is enabled or not, identified by name and stage (alpha; Kubernetes 1.26+)gauge-
kube_apiserver.longrunning_gaugeThe gauge of all active long-running apiserver requests broken out by verb, group, version, resource, scope, and component. Not all requests are tracked this way.gaugerequest
kube_apiserver.process_cpu_totalTotal user and system CPU time spent in seconds.countsecond
kube_apiserver.process_resident_memory_bytesThe resident memory size in bytesgaugebyte
kube_apiserver.process_virtual_memory_bytesThe virtual memory size in bytesgaugebyte
kube_apiserver.registered_watchersThe number of currently registered watchers for a given resourcegaugeobject
kube_apiserver.request_duration_seconds.countThe response latency distribution in seconds for each verb, dry run value, group, version, resource, subresource, scope, and component countcount-
kube_apiserver.request_duration_seconds.sumThe response latency distribution in seconds for each verb, dry run value, group, version, resource, subresource, scope, and componentgaugesecond
kube_apiserver.request_latencies.countThe response latency distribution in microseconds for each verb, resource, and subresource count (deprecated in Kubernetes 1.14, replaced by apiserver_request_duration_seconds)count-
kube_apiserver.request_latencies.sumThe response latency distribution in microseconds for each verb, resource and subresourcegaugemicrosecond
kube_apiserver.requested_deprecated_apisGauge of deprecated APIs that have been requested, broken out by API group, version, resource, subresource, and removed_releasegaugerequest
kube_apiserver.rest_client_request_latency_seconds.countThe request latency in seconds broken down by verb and URL countcount-
kube_apiserver.rest_client_request_latency_seconds.sumThe request latency in seconds broken down by verb and URLgaugesecond
kube_apiserver.rest_client_requests_totalThe accumulated number of HTTP requests partitioned by status code method and hostgaugerequest
kube_apiserver.rest_client_requests_total.countThe monotonic count of HTTP requests partitioned by status code method and hostcountrequest
kube_apiserver.slis.kubernetes_healthcheckResult of a single kubernetes apiserver healthcheck (alpha; requires k8s v1.26+)gauge-
kube_apiserver.slis.kubernetes_healthchecks_totalThe monotonic count of all kubernetes apiserver healthchecks (alpha; requires k8s v1.26+)count-
kube_apiserver.storage_list_evaluated_objects_totalThe number of objects tested in the course of serving a LIST request from storage (alpha; Kubernetes 1.23+)gaugeobject
kube_apiserver.storage_list_fetched_objects_totalThe number of objects read from storage in the course of serving a LIST request (alpha; Kubernetes 1.23+)gaugeobject
kube_apiserver.storage_list_returned_objects_totalThe number of objects returned for a LIST request from storage (alpha; Kubernetes 1.23+)gaugeobject
kube_apiserver.storage_list_totalThe number of LIST requests served from storage (alpha; Kubernetes 1.23+)gaugeobject
kube_apiserver.storage_objectsThe number of stored objects at the time of last check split by kind (Kubernetes 1.21+; replaces etcd_object_counts)gaugeobject
kube_apiserver.watch_events_sizes.countThe watch event size distribution (Kubernetes 1.16+)count-
kube_apiserver.watch_events_sizes.sumThe watch event size distribution (Kubernetes 1.16+)gaugebyte

Official documentation

Official documentation for the Kubernetes API server metrics integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.