Métricas del servidor de API Kubernetes

Supported OS Linux Windows Mac OS

Versión de la integración7.0.0

To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email support@ddog-gov.com.

Dashboard del servidor de API de Kubernetes

Información general

Este check monitoriza Kube_apiserver_metrics.

Configuración

Instalación

El check Kube_apiserver_metrics está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tu servidor.

Configuración

Si tu clúster de Kubernetes tiene nodos maestros y está ejecutando un pod y un contenedor para la imagen kube-apiserver, el Datadog Agent detecta automáticamente este pod y configura la integración relativa a tu archivo kube_apiserver_metrics.d/auto_conf.yaml.

Sin embargo, si usas una distribución de Kubernetes gestionada como GKE, EKS o AKS, es posible que no tengas un pod kube-apiserver en ejecución para que el Agent lo detecte.

En este caso, puedes configurar la integración con el servicio kubernetes en el espacio de nombres default.

ParámetroValor
<INTEGRATION_NAME>["kube_apiserver_metrics"]
<INIT_CONFIG>[{}]
<INSTANCE_CONFIG>[{"prometheus_url": "https://%%host%%:%%port%%/metrics"}]

Puedes revisar todas las opciones de configuración disponibles en kube_apiserver_metrics.yaml.

Servicio de anotaciones

Puedes anotar el servicio de Kubernetes en tu espacio de nombres default con lo siguiente:

ad.datadoghq.com/endpoints.checks: |
  {
    "kube_apiserver_metrics": {
      "instances": [
        {
          "prometheus_url": "https://%%host%%:%%port%%/metrics"
        }
      ]
    }
  }
annotations:
  ad.datadoghq.com/endpoints.check_names: '["kube_apiserver_metrics"]'
  ad.datadoghq.com/endpoints.init_configs: '[{}]'
  ad.datadoghq.com/endpoints.instances:
    '[{ "prometheus_url": "https://%%host%%:%%port%%/metrics"}]'

A continuación, el Datadog Cluster Agent programa los checks de cada endpoint en Datadog Agent(s).

Archivo local

También puedes ejecutar el check configurando los endpoints directamente en el archivo kube_apiserver_metrics.yaml, en la carpeta conf.d/ de la raíz del directorio de configuración del Agent para enviarlo como un Check de clúster.

Nota: Debes añadir cluster_check: true a tu archivo de configuración si usas un archivo local o ConfigMap para configurar los checks de clúster.

Proporciona una configuración a tu Cluster Agent para configurar un check de clúster:

clusterAgent:
  confd:
    kube_apiserver_metrics.yaml: |-
      advanced_ad_identifiers:
        - kube_endpoints:
            name: "kubernetes"
            namespace: "default"
      cluster_check: true
      init_config:
      instances:
        - prometheus_url: "https://%%host%%:%%port%%/metrics"
spec:
#(...)
  override:
    clusterAgent:
      extraConfd:
        configDataMap:
          kube_apiserver_metrics.yaml: |-
            advanced_ad_identifiers:
              - kube_endpoints:
                  name: "kubernetes"
                  namespace: "default"
            cluster_check: true
            init_config:
            instances:
              - prometheus_url: "https://%%host%%:%%port%%/metrics"

Estas configuraciones hacen que el Agent realice una solicitud al servicio kubernetes en el espacio de nombres default en sus direcciones IP de endpoint y puerto definidos.

Validación

Ejecuta el subcomando de estado del Agent y busca kube_apiserver_metrics en la sección Checks.

Datos recopilados

Métricas

kube_apiserver.APIServiceRegistrationController_depth
(gauge)
La profundidad actual de la cola de trabajo: APIServiceRegistrationController
kube_apiserver.admission_controller_admission_duration_seconds.count
(count)
El histograma de latencia del controlador de admisión en segundos identificado por nombre y desglosado para cada operación y recurso de API y recuento de tipo (validar o admitir)
kube_apiserver.admission_controller_admission_duration_seconds.sum
(gauge)
El histograma de latencia del controlador de admisión en segundos identificado por nombre y desglosado para cada operación y recurso de API y tipo (validar o admitir)
Se muestra en segundos
kube_apiserver.admission_step_admission_latencies_seconds.count
(count)
El histograma de latencia de subpaso de admisión desglosado para cada operación y recurso de API y recuento de tipo de paso (validar o admitir).
kube_apiserver.admission_step_admission_latencies_seconds.sum
(gauge)
La latencia del subpaso de admisión desglosada para cada operación y recurso de API y tipo de paso (validar o admitir)
Se muestra en segundos
kube_apiserver.admission_step_admission_latencies_seconds_summary.count
(count)
El resumen de latencia del subpaso de admisión desglosado para cada operación y recurso de API y recuento de tipo de paso (validar o admitir)
kube_apiserver.admission_step_admission_latencies_seconds_summary.quantile
(gauge)
El resumen de latencia del subpaso de admisión desglosado para cada operación y recurso de la API y cuantil del tipo de paso (validar o admitir)
Se muestra como segundo
kube_apiserver.admission_step_admission_latencies_seconds_summary.sum
(gauge)
El resumen de latencia del subpaso de admisión desglosado para cada operación y recurso de API y tipo de paso (validar o admitir)
Se muestra en segundos
kube_apiserver.admission_webhook_admission_latencies_seconds.count
(count)
La latencia del webhook de admisión identificada por nombre y desglosada para cada operación y recurso de API y recuento de tipo (validar o admitir)
kube_apiserver.admission_webhook_admission_latencies_seconds.sum
(gauge)
La latencia del webhook de admisión identificada por nombre y desglosada para cada operación y recurso de API y tipo (validar o admitir)
Se muestra en segundos
kube_apiserver.aggregator_unavailable_apiservice
(gauge)
Indicador de APIServices marcado como no disponible desglosado por nombre de APIService (alfa; Kubernetes 1.14+)
kube_apiserver.apiserver_admission_webhook_fail_open_count
(gauge)
Recuento de fallos abiertos del webhook de admisión, identificados por nombre y desglosados para cada tipo de admisión (validación o mutación).
kube_apiserver.apiserver_admission_webhook_fail_open_count.count
(count)
Recuento de fallos abiertos del webhook de admisión, identificados por nombre y desglosados para cada tipo de admisión (validación o mutación).
kube_apiserver.apiserver_admission_webhook_request_total
(gauge)
Total de solicitudes del webhook de admisión, identificadas por nombre y desglosadas por cada tipo de admisión (alfa; Kubernetes 1.23+)
kube_apiserver.apiserver_admission_webhook_request_total.count
(count)
Total de solicitudes del webhook de admisión, identificadas por nombre y desglosadas por cada tipo de admisión (alfa; Kubernetes 1.23+)
kube_apiserver.apiserver_dropped_requests_total
(gauge)
Número acumulado de solicitudes abandonadas con la respuesta “Inténtalo de nuevo más tarde”
Se muestra como solicitud
kube_apiserver.apiserver_dropped_requests_total.count
(count)
El recuento monótono de solicitudes abandonadas con la respuesta “Inténtalo de nuevo más tarde”
Se muestra como solicitud
kube_apiserver.apiserver_request_count
(gauge)
El número acumulado de solicitudes apiserver desglosado para cada cliente de recursos de API verbo y respuesta HTTP contentType y código (obsoleto en Kubernetes 1.15)
Se muestra como solicitud
kube_apiserver.apiserver_request_count.count
(count)
El recuento monotónico de solicitudes apiserver desglosado para cada cliente de recursos de API verbo y respuesta HTTP contentType y código (obsoleto en Kubernetes 1.15)
Se muestra como solicitud
kube_apiserver.apiserver_request_terminations_total.count
(count)
El número de solicitudes que el apiserver terminó en defensa propia (Kubernetes 1.17+)
Se muestra como solicitud
kube_apiserver.apiserver_request_total
(gauge)
El número acumulado de solicitudes apiserver desglosado para cada cliente de recursos de API verbo y respuesta HTTP contentType y código (Kubernetes 1.15+; reemplaza apiserver_request_count)
Se muestra como solicitud
kube_apiserver.apiserver_request_total.count
(count)
El recuento monotónico de solicitudes apiserver desglosado para cada cliente de recursos de API verbo y respuesta HTTP contentType y código (Kubernetes 1.15+; reemplaza apiserver_request_count.count)
Se muestra como solicitud
kube_apiserver.audit_event
(gauge)
El número acumulado de eventos de auditoría generados y enviados al backend de auditoría
Se muestra como evento
kube_apiserver.audit_event.count
(count)
El recuento monotónico de eventos de auditoría generados y enviados al backend de auditoría
Se muestra como evento
kube_apiserver.authenticated_user_requests
(gauge)
Número acumulado de solicitudes autenticadas desglosadas por nombre de usuario
Se muestra como solicitud
kube_apiserver.authenticated_user_requests.count
(count)
El recuento monotónico de solicitudes autenticadas desglosadas por nombre de usuario
Se muestra como solicitud
kube_apiserver.authentication_attempts.count
(count)
El contador de intentos autentificados (Kubernetes 1.16+)
Se muestra como solicitud
kube_apiserver.authentication_duration_seconds.count
(count)
El histograma de duración de la autenticación desglosado por resultado (Kubernetes 1.17+)
kube_apiserver.authentication_duration_seconds.sum
(gauge)
El histograma de duración de la autenticación desglosado por resultado (Kubernetes 1.17+)
Se muestra como segundo
kube_apiserver.current_inflight_requests
(gauge)
El número máximo de solicitudes de inflight utilizadas actualmente por este apiserver por tipo de solicitud en el último segundo.
kube_apiserver.envelope_encryption_dek_cache_fill_percent
(gauge)
Porcentaje de las ranuras de caché ocupadas actualmente por DEK en caché.
kube_apiserver.etcd.db.total_size
(gauge)
El tamaño total del archivo de base de datos etcd asignado físicamente en bytes (alfa; Kubernetes 1.19+)
Se muestra como byte
kube_apiserver.etcd_object_counts
(gauge)
El número de objetos almacenados en el momento del último check divididos por tipo (alfa; obsoleto en Kubernetes 1.22)
Se muestra como objeto
kube_apiserver.etcd_request_duration_seconds.count
(count)
Recuento de latencias de solicitud Etcd para cada operación y tipo de objeto (alfa)
kube_apiserver.etcd_request_duration_seconds.sum
(gauge)
Latencias de solicitud Etcd para cada operación y tipo de objeto (alfa)
Se muestra en segundos
kube_apiserver.etcd_request_errors_total
(count)
Recuento de solicitudes fallidas Etcd para cada operación y tipo de objeto
Se muestra como solicitud
kube_apiserver.etcd_requests_total
(count)
Recuento de solicitudes Etcd para cada operación y tipo de objeto
Se muestra como solicitud
kube_apiserver.flowcontrol_current_executing_requests
(gauge)
Número de solicitudes en fase de ejecución inicial (para un WATCH) o cualquiera (para un no WATCH) en el subsistema Prioridad y equidad de la API
kube_apiserver.flowcontrol_current_executing_seats
(gauge)
Número de puestos (unidades de concurrencia) ocupados actualmente por solicitudes en ejecución en el subsistema de prioridad y equidad de la API.
kube_apiserver.flowcontrol_current_inqueue_requests
(count)
Número de solicitudes pendientes en las colas del subsistema de prioridad y equidad de la API
kube_apiserver.flowcontrol_dispatched_requests_total
(count)
Número de solicitudes ejecutadas por el subsistema de prioridad y equidad de la API
kube_apiserver.flowcontrol_nominal_limit_seats
(gauge)
Límite nominal del número de puestos en ejecución disponibles para las solicitudes en el subsistema de prioridad y equidad de la API.
kube_apiserver.flowcontrol_rejected_requests_total.count
(count)
Número de solicitudes rechazadas por el subsistema de prioridad y equidad de la API
kube_apiserver.flowcontrol_request_concurrency_limit
(gauge)
Límite de concurrencia compartida en el subsistema de prioridad y equidad de la API
kube_apiserver.flowcontrol_request_wait_duration_seconds.count
(count)
El recuento del histograma de la duración de la espera de la solicitud en el subsistema de prioridad y equidad de la API.
kube_apiserver.flowcontrol_request_wait_duration_seconds.sum
(gauge)
La suma del histograma de la duración de la espera de la solicitud en el subsistema de prioridad y equidad de la API
Se muestra en segundos
kube_apiserver.go_goroutines
(gauge)
El número de goroutines que existen actualmente
kube_apiserver.go_threads
(gauge)
El número de subprocesos de SO creados
Se muestra como subproceso
kube_apiserver.grpc_client_handled_total
(count)
El número total de RPCs completadas por el cliente independientemente del éxito o fracaso
Se muestra como solicitud
kube_apiserver.grpc_client_msg_received_total
(count)
El número total de mensajes de flujo gRPC recibidos por el cliente
Se muestra como mensaje
kube_apiserver.grpc_client_msg_sent_total
(count)
El número total de mensajes de flujo gRPC enviados por el cliente
Se muestra como mensaje
kube_apiserver.grpc_client_started_total
(count)
El número total de RPCs iniciados en el cliente
Se muestra como solicitud
kube_apiserver.http_requests_total
(gauge)
El número acumulado de solicitudes HTTP realizadas
Se muestra como solicitud
kube_apiserver.http_requests_total.count
(count)
El recuento monotónico del número de solicitudes HTTP realizadas
Se muestra como solicitud
kube_apiserver.kubernetes_feature_enabled
(gauge)
Si una puerta de función de Kubernetes está activada o no, identificada por el nombre y fase (alfa; Kubernetes 1.26+)
kube_apiserver.longrunning_gauge
(gauge)
El indicador de todas las solicitudes apiserver activas de larga duración desglosadas por verbo, grupo, versión, recurso, ámbito y componente. No todas las solicitudes se registran de esta manera.
Se muestra como solicitud
kube_apiserver.process_cpu_total
(count)
Tiempo total de CPU del usuario y del sistema empleado en segundos.
Se muestra como segundo
kube_apiserver.process_resident_memory_bytes
(gauge)
El tamaño de la memoria residente en bytes
Se muestra como byte
kube_apiserver.process_virtual_memory_bytes
(gauge)
El tamaño de la memoria virtual en bytes
Se muestra como byte
kube_apiserver.registered_watchers
(gauge)
El número de observadores registrados actualmente para un recurso determinado
Se muestra como objeto
kube_apiserver.request_duration_seconds.count
(count)
La distribución de la latencia de respuesta en segundos para cada verbo, valor de ejecución en seco, grupo, versión, recurso, subrecurso, ámbito y recuento de componentes.
kube_apiserver.request_duration_seconds.sum
(gauge)
La distribución de la latencia de respuesta en segundos para cada verbo, valor de ejecución en seco, grupo, versión, recurso, subrecurso, ámbito y componente
Se muestra en segundos
kube_apiserver.request_latencies.count
(count)
La distribución de la latencia de respuesta en microsegundos para cada verbo, recurso y subrecurso.
kube_apiserver.request_latencies.sum
(gauge)
La distribución de la latencia de respuesta en microsegundos para cada verbo, recurso y subrecurso
Se muestra como microsegundo
kube_apiserver.requested_deprecated_apis
(gauge)
Indicador de las APIs obsoletas que se han solicitado, desglosadas por grupo de API, versión, recurso, subrecurso y versión eliminada
Se muestra como solicitud
kube_apiserver.rest_client_request_latency_seconds.count
(count)
La latencia de la solicitud en segundos desglosada por verbo y URL
kube_apiserver.rest_client_request_latency_seconds.sum
(gauge)
La latencia de la solicitud en segundos desglosada por verbo y URL
Se muestra en segundos
kube_apiserver.rest_client_requests_total
(gauge)
Número acumulado de solicitudes HTTP divididas por método de código de estado y host
Se muestra como solicitud
kube_apiserver.rest_client_requests_total.count
(count)
El recuento monótono de solicitudes HTTP dividido por método de código de estado y host
Se muestra como solicitud
kube_apiserver.slis.kubernetes_healthcheck
(gauge)
Resultado de un único check de estado del apiserver de kubernetes (alfa; requiere k8s v1.26+)
kube_apiserver.slis.kubernetes_healthcheck_total
(count)
El recuento monotónico de todos los checks de estado del apiserver de kubernetes (alfa; requiere k8s v1.26+)
kube_apiserver.storage_list_evaluated_objects_total
(gauge)
Número de objetos comprobados durante el servicio de una solicitud LIST desde el almacenamiento (alfa; Kubernetes 1.23+)
Se muestra como objeto
kube_apiserver.storage_list_fetched_objects_total
(gauge)
El número de objetos leídos del almacenamiento en el curso de servir una solicitud LIST (alfa; Kubernetes 1.23+)
Se muestra como objeto
kube_apiserver.storage_list_returned_objects_total
(gauge)
El número de objetos devueltos para una solicitud LIST desde el almacenamiento (alfa; Kubernetes 1.23+)
Se muestra como objeto
kube_apiserver.storage_list_total
(gauge)
Número de solicitudes LIST servidas desde el almacenamiento (alfa; Kubernetes 1.23+)
Se muestra como objeto
kube_apiserver.storage_objects
(gauge)
El número de objetos almacenados en el momento del último check divididos por tipo (Kubernetes 1.21+; sustituye a etcd_object_counts)
Se muestra como objeto
kube_apiserver.watch_events_sizes.count
(count)
Distribución del tamaño de los eventos de vigilancia (Kubernetes 1.16+)
kube_apiserver.watch_events_sizes.sum
(gauge)
La distribución del tamaño de los eventos de vigilancia (Kubernetes 1.16+)
Se muestra como byte

Checks de servicio

Kube_apiserver_metrics no incluye checks de servicios.

Eventos

Kube_apiserver_metrics no incluye eventos.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.