Configurar aún más el Agente de Datadog en Kubernetes

Descripción general

Después de haber instalado el Agente de Datadog en su entorno de Kubernetes, puede elegir opciones de configuración adicionales.

Habilitar a Datadog para recopilar:

Otras capacidades

Más configuraciones

Habilitar APM y trazado

Edita tu datadog-agent.yaml para establecer features.apm.enabled en true.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>

  features:
    apm:
      enabled: true

After making your changes, apply the new configuration by using the following command:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

En Helm, APM está habilitado por defecto sobre UDS o tubería con nombre de Windows.

Para verificar, asegúrate de que datadog.apm.socketEnabled esté establecido en true en tu values.yaml.

datadog:
  apm:
    socketEnabled: true    

Para más información, consulta Colección de trazas de Kubernetes.

Habilitar colección de eventos de Kubernetes

Usa el Agente de Clúster de Datadog para recopilar eventos de Kubernetes.

La colección de eventos está habilitada por defecto por el Operador de Datadog. Esto se puede gestionar en la configuración features.eventCollection.collectKubernetesEvents en tu datadog-agent.yaml.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
    site: <DATADOG_SITE>

  features:
    eventCollection:
      collectKubernetesEvents: true

Para recopilar eventos de Kubernetes con el Agente de Clúster de Datadog, asegúrate de que las opciones clusterAgent.enabled, datadog.collectEvents y clusterAgent.rbac.create estén establecidas en true en tu archivo datadog-values.yaml.

datadog:
  collectEvents: true
clusterAgent:
  enabled: true
  rbac: 
    create: true

Si no deseas usar el Agente de Clúster, aún puedes tener un Agente de Nodo que recopile eventos de Kubernetes estableciendo las opciones datadog.leaderElection, datadog.collectEvents y agents.rbac.create en true en tu archivo datadog-values.yaml.

datadog:
  leaderElection: true
  collectEvents: true
agents:
  rbac:
    create: true

Para la configuración de DaemonSet, consulte Recopilación de eventos del Cluster Agent de DaemonSet.

Habilitar la colección de CNM

En su datadog-agent.yaml, configure features.npm.enabled a true.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>

  features:
    npm:
      enabled: true

Luego aplique la nueva configuración:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

Actualice su datadog-values.yaml con la siguiente configuración:

datadog:
  # (...)
  networkMonitoring:
    enabled: true

Luego actualice su gráfico de Helm:

helm upgrade -f datadog-values.yaml <RELEASE_NAME> datadog/datadog

Para más información, consulte Monitoreo de red en la nube.

Habilitar la colección de registro

En su datadog-agent.yaml, configure features.logCollection.enabled y features.logCollection.containerCollectAll a true.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>

  features:
    logCollection:
      enabled: true
      containerCollectAll: true

Luego aplique la nueva configuración:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

Actualice su datadog-values.yaml con la siguiente configuración:

datadog:
  # (...)
  logs:
    enabled: true
    containerCollectAll: true

Luego actualice su gráfico de Helm:

helm upgrade -f datadog-values.yaml <RELEASE_NAME> datadog/datadog

Para más información, consulte Colección de registro de Kubernetes.

Habilitar la colección de procesos

En su datadog-agent.yaml, configure features.liveProcessCollection.enabled a true.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>

  features:
    liveProcessCollection:
      enabled: true

Luego aplique la nueva configuración:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

Actualice su datadog-values.yaml con la siguiente configuración:

datadog:
  # (...)
  processAgent:
    enabled: true
    processCollection: true

Luego actualice su gráfico de Helm:

helm upgrade -f datadog-values.yaml <RELEASE_NAME> datadog/datadog

Para más información, consulte Live Processes

Datadog Cluster Agent

El Datadog Cluster Agent proporciona un enfoque centralizado y simplificado para la recopilación de datos de seguimiento a nivel de clúster. Datadog recomienda encarecidamente utilizar el Cluster Agent para monitorear Kubernetes.

El operador de Datadog v1.0.0+ y el gráfico de Helm v2.7.0+ habilitan el Cluster Agent por defecto. No se requiere configuración adicional.

El operador de Datadog v1.0.0+ habilita el agente de clúster por defecto. El operador crea los RBAC necesarios y despliega el agente de clúster. Ambos Agentes utilizan la misma clave de API.

El Operador genera automáticamente un token aleatorio en un Kubernetes Secret que será compartido por el Datadog Agent y el Cluster Agent para una comunicación segura.

Puedes especificar manualmente este token en el campo global.clusterAgentToken en tu datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
    clusterAgentToken: <DATADOG_CLUSTER_AGENT_TOKEN>

Alternativamente, puedes especificar este token haciendo referencia al nombre de un Secret existente y la clave de datos que contiene este token:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
    clusterAgentTokenSecret: 
      secretName: <SECRET_NAME>
      keyName: <KEY_NAME>

Nota: Cuando se establece manualmente, este token debe tener 32 caracteres alfanuméricos.

Luego aplique la nueva configuración:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

El gráfico de Helm v2.7.0+ habilita el Cluster Agent por defecto.

Para verificación, asegúrate de que clusterAgent.enabled esté configurado en true en tu datadog-values.yaml:

clusterAgent:
  enabled: true

Helm genera automáticamente un token aleatorio en un Kubernetes Secret que será compartido por el Agente de Datadog y el Agente de Clúster para una comunicación segura.

Puedes especificar manualmente este token en el campo clusterAgent.token en tu datadog-agent.yaml:

clusterAgent:
  enabled: true
  token: <DATADOG_CLUSTER_AGENT_TOKEN>

Alternativamente, puedes especificar este token haciendo referencia al nombre de un Secret existente, donde el token está en una clave llamada token:

clusterAgent:
  enabled: true
  tokenExistingSecret: <SECRET_NAME>

Para más información, consulta la documentación del Agente de Clúster de Datadog.

Servidor de métricas personalizadas

Para utilizar la función de servidor de métricas personalizadas del Agente de Clúster, debes proporcionar una clave de aplicación de Datadog y habilitar el proveedor de métricas.

En datadog-agent.yaml, proporciona una clave de aplicación bajo spec.global.credentials.appKey y establece features.externalMetricsServer.enabled en true.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>

  features:
    externalMetricsServer:
      enabled: true

Luego aplique la nueva configuración:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

En datadog-values.yaml, proporciona una clave de aplicación bajo datadog.appKey y establece clusterAgent.metricsProvider.enabled en true.

datadog:
  apiKey: <DATADOG_API_KEY>
  appKey: <DATADOG_APP_KEY>

clusterAgent:
  enabled: true
  metricsProvider:
    enabled: true

Luego actualice su gráfico de Helm:

helm upgrade -f datadog-values.yaml <RELEASE_NAME> datadog/datadog

Integraciones

Una vez que el Agente esté en funcionamiento en tu clúster, utiliza la función de Autodiscovery de Datadog para recopilar métricas y registro automáticamente de tus pods.

Visualización de contenedores

Para utilizar el Explorador de contenedores de Datadog, habilita el Agente de Procesos. El Operador de Datadog y el gráfico de Helm habilitan el Agente de Procesos por defecto. No se requiere configuración adicional.

El Operador de Datadog habilita el Agente de Procesos por defecto.

Para verificación, asegúrate de que features.liveContainerCollection.enabled esté configurado en true en tu datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
  features:
    liveContainerCollection:
      enabled: true

En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: Orchestrator explorer enabled but no cluster name set: disabling. En este caso, debes establecer spec.global.clusterName como el nombre de tu clúster en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <YOUR_CLUSTER_NAME>
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
  features:
    orchestratorExplorer:
      enabled: true

El gráfico de Helm habilita el Agente de Proceso por defecto.

Para verificación, asegúrate de que processAgent.enabled esté configurado en true en tu datadog-values.yaml:

datadog:
  # (...)
  processAgent:
    enabled: true

En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: Orchestrator explorer enabled but no cluster name set: disabling.. En este caso, debes establecer datadog.clusterName como el nombre de tu clúster en datadog-values.yaml.

datadog:
  #(...)
  clusterName: <YOUR_CLUSTER_NAME>
  #(...)
  processAgent:
    enabled: true

Para restricciones sobre nombres de clúster válidos, consulta Establecer nombre de clúster.

Consulta la documentación de la Containers view para información adicional.

Orchestrator Explorer

El Datadog Operator y el Helm chart habilitan por defecto Orchestrator Explorer de Datadog. No se requiere configuración adicional.

El Orchestrator Explorer está habilitado en el Datadog Operator por defecto.

Para verificación, asegúrese de que el parámetro features.orchestratorExplorer.enabled esté establecido en true en su datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
  features:
    orchestratorExplorer:
      enabled: true

En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: Orchestrator explorer enabled but no cluster name set: disabling. En este caso, debe establecer spec.global.clusterName como el nombre de su clúster en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <YOUR_CLUSTER_NAME>
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
  features:
    orchestratorExplorer:
      enabled: true

El gráfico de Helm habilita el Explorador de Orquestador por defecto.

Para verificación, asegúrate de que el parámetro orchestratorExplorer.enabled esté establecido en true en tu archivo datadog-values.yaml:

datadog:
  # (...)
  processAgent:
    enabled: true
  orchestratorExplorer:
    enabled: true

En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: Orchestrator explorer enabled but no cluster name set: disabling.. En este caso, debe establecer datadog.clusterName como el nombre de su clúster en values.yaml.

datadog:
  #(...)
  clusterName: <YOUR_CLUSTER_NAME>
  #(...)
  processAgent:
    enabled: true
  orchestratorExplorer:
    enabled: true

Para restricciones sobre nombres de clúster válidos, consulta Establecer nombre de clúster.

Consulta la Orchestrator Explorer documentation para información adicional.

Configuración básica

Utilice los siguientes campos de configuración para configurar el Agente de Datadog.

Parámetro (v2alpha1)Descripción
global.credentials.apiKeyConfigure su clave de API de Datadog.
global.credentials.apiSecret.secretNameEn lugar de global.credentials.apiKey, proporcione el nombre de un Secret de Kubernetes que contenga su clave de API de Datadog.
global.credentials.apiSecret.keyNameEn lugar de global.credentials.apiKey, proporcione la clave del Secret de Kubernetes nombrado en global.credentials.apiSecret.secretName.
global.credentials.appKeyConfigure su clave de aplicación de Datadog. Si está utilizando el servidor de métricas externo, debe establecer una clave de aplicación de Datadog para el acceso de lectura a sus métricas.
global.credentials.appSecret.secretNameEn lugar de global.credentials.apiKey, proporcione el nombre de un Secret de Kubernetes que contenga su clave de aplicación de Datadog.
global.credentials.appSecret.keyNameEn lugar de global.credentials.apiKey, proporcione la clave del Secret de Kubernetes nombrado en global.credentials.appSecret.secretName.
global.logLevelEstablece la verbosidad de los registros. Esto puede ser anulado por el contenedor. Los niveles de registro válidos son: trace, debug, info, warn, error, critical y off. Predeterminado: info.
global.registryRegistro de imágenes a utilizar para todas las imágenes del Agente. Predeterminado: gcr.io/datadoghq.
global.siteEstablece el sitio de recepción de Datadog al cual se envían los datos del Agente. Su sitio es . (Asegúrese de que el SITIO correcto esté seleccionado a la derecha).
global.tagsUna lista de etiquetas para adjuntar a cada métrica, evento y verificación de servicio recolectados.

Para una lista completa de campos de configuración para el Datadog Operator, consulte la especificación del Operador v2alpha1. Para versiones anteriores, consulte Migrar CRDs de DatadogAgent a v2alpha1. Los campos de configuración también se pueden consultar utilizando kubectl explain datadogagent --recursive.

HelmDescripción
datadog.apiKeyConfigure su clave de API de Datadog.
datadog.apiKeyExistingSecretEn lugar de datadog.apiKey, proporcione el nombre de un Secret de Kubernetes existente que contenga su clave de API de Datadog, configurada con el nombre de clave api-key.
datadog.appKeyConfigure su clave de aplicación de Datadog. Si está utilizando el servidor de métricas externo, debe establecer una clave de aplicación de Datadog para el acceso de lectura a sus métricas.
datadog.appKeyExistingSecretEn lugar de datadog.appKey, proporcione el nombre de un Secret de Kubernetes existente que contenga su clave de aplicación de Datadog, configurada con el nombre de clave app-key.
datadog.logLevelEstablece la verbosidad de los registros. Esto puede ser anulado por el contenedor. Los niveles de registro válidos son: trace, debug, info, warn, error, critical y off. Predeterminado: info.
registryRegistro de imágenes a utilizar para todas las imágenes del Agente. Predeterminado: gcr.io/datadoghq.
datadog.siteEstablece el sitio de recepción de Datadog al que se envían los datos del Agente. Su sitio es . (Asegúrese de que el SITIO correcto esté seleccionado a la derecha).
datadog.tagsUna lista de etiquetas para adjuntar a cada métrica, evento y verificación de servicio recolectados.

Para una lista completa de variables de entorno para el gráfico de Helm, consulte la lista completa de opciones para datadog-values.yaml.

Variable de entornoDescripción
DD_API_KEYSu clave de API de Datadog (requerida)
DD_ENVEstablece la etiqueta global env para todos los datos emitidos.
DD_HOSTNAMENombre de servidor a utilizar para métricas (si la autodetección falla)
DD_TAGSEtiquetas de servidor separadas por espacios. Por ejemplo: simple-tag-0 tag-key-1:tag-value-1
DD_SITESitio de destino para sus métricas, trazas y registros. Su DD_SITE es . Por defecto es datadoghq.com.
DD_DD_URLConfiguración opcional para anular la URL para la presentación de métricas.
DD_URL (6.36+/7.36+)Alias para DD_DD_URL. Ignorado si DD_DD_URL ya está configurado.
DD_CHECK_RUNNERSEl Agente ejecuta todas las verificaciones de manera concurrente por defecto (valor predeterminado = 4 ejecutores). Para ejecutar las verificaciones de manera secuencial, establezca el valor en 1. Si necesita ejecutar un gran número de verificaciones (o verificaciones lentas), el componente collector-queue podría quedarse atrás y fallar la verificación de salud. Puede aumentar el número de ejecutores para ejecutar verificaciones en paralelo.
DD_LEADER_ELECTIONSi múltiples instancias del Agente están ejecutándose en su clúster, establezca esta variable en true para evitar la duplicación de la recolección de eventos.

Variables de entorno

El Agente de Datadog en contenedores se puede configurar utilizando variables de entorno. Para una lista extensa de variables de entorno soportadas, consulte la sección de Variables de entorno de la documentación del Agente de Docker.

Ejemplos

Al usar el Datadog Operator, puede establecer variables de entorno adicionales en override para un componente con [key].env []object, o para un contenedor con [key].containers.[key].env []object. Las siguientes claves son soportadas:

  • nodeAgent
  • clusterAgent
  • clusterChecksRunner

Las configuraciones a nivel de contenedor tienen prioridad sobre cualquier configuración a nivel de componente.

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  override:
    nodeAgent:
      env:
        - name: <ENV_VAR_NAME>
          value: <ENV_VAR_VALUE>
    clusterAgent:
      containers:
        cluster-agent:
          env:
            - name: <ENV_VAR_NAME>
              value: <ENV_VAR_VALUE>
datadog:
  env:
  - name: <ENV_VAR_NAME>
    value: <ENV_VAR_VALUE>
clusterAgent:
  env:
  - name: <ENV_VAR_NAME>
    value: <ENV_VAR_VALUE>

Agregue variables de entorno al DaemonSet o al Deployment (para el Agente de Clúster de Datadog).

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: datadog
spec:
  template:
    spec:
      containers:
        - name: agent
          ...
          env:
            - name: <ENV_VAR_NAME>
              value: <ENV_VAR_VALUE>

Configurar DogStatsD

DogStatsD puede enviar métricas personalizadas a través de UDP con el protocolo StatsD. DogStatsD está habilitado por defecto por el Datadog Operator y Helm. Consulte la documentación de DogStatsD para más información.

Puede usar las siguientes variables de entorno para configurar DogStatsD con DaemonSet:

Variable de EntornoDescripción
DD_DOGSTATSD_NON_LOCAL_TRAFFICEscuchar paquetes de DogStatsD de otros contenedores (requerido para enviar métricas personalizadas).
DD_HISTOGRAM_PERCENTILESLos percentiles del histograma a calcular (separados por espacios). El valor por defecto es 0.95.
DD_HISTOGRAM_AGGREGATESLos agregados del histograma a calcular (separados por espacios). El valor por defecto es "max median avg count".
DD_DOGSTATSD_SOCKETRuta al socket Unix para escuchar. Debe estar en un rw volumen montado.
DD_DOGSTATSD_ORIGIN_DETECTIONHabilitar la detección y etiquetado de contenedores para métricas de socket Unix.
DD_DOGSTATSD_TAGSEtiquetas adicionales para agregar a todas las métricas, eventos y verificaciones de servicio recibidos por este servidor DogStatsD, por ejemplo: "env:golden group:retrievers".

Configurar el mapeo de etiquetas

Datadog recopila automáticamente etiquetas comunes de Kubernetes.

Además, puede mapear las etiquetas de los nodos de Kubernetes, las etiquetas de los pods y las anotaciones a las etiquetas de Datadog. Utilice las siguientes variables de entorno para configurar este mapeo:

Parámetro (v2alpha1)Descripción
global.namespaceLabelsAsTagsProporcionar un mapeo de las etiquetas de espacio de nombres de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
global.nodeLabelsAsTagsProporcionar un mapeo de las etiquetas de nodos de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
global.podAnnotationsAsTagsProporcionar un mapeo de las anotaciones de Kubernetes a las etiquetas de Datadog. <KUBERNETES_ANNOTATION>: <DATADOG_TAG_KEY>
global.podLabelsAsTagsProporcionar un mapeo de las etiquetas de Kubernetes a las etiquetas de Datadog. <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>

Ejemplos

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
    namespaceLabelsAsTags:
      env: environment
      # <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
    nodeLabelsAsTags:
      beta.kubernetes.io/instance-type: aws-instance-type
      kubernetes.io/role: kube_role
      # <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
    podLabelsAsTags:
      app: kube_app
      release: helm_release
      # <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>
    podAnnotationsAsTags:
      iam.amazonaws.com/role: kube_iamrole
       # <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY>
HelmDescripción
datadog.namespaceLabelsAsTagsProporcionar un mapeo de las etiquetas de espacio de nombres de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
datadog.nodeLabelsAsTagsProporcionar un mapeo de las etiquetas de nodos de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
datadog.podAnnotationsAsTagsProporcionar un mapeo de las anotaciones de Kubernetes a las etiquetas de Datadog. <KUBERNETES_ANNOTATION>: <DATADOG_TAG_KEY>
datadog.podLabelsAsTagsProporcionar un mapeo de las etiquetas de Kubernetes a las etiquetas de Datadog. <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>

Ejemplos

datadog:
  # (...)
  namespaceLabelsAsTags:
    env: environment
    # <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
  nodeLabelsAsTags:
    beta.kubernetes.io/instance-type: aws-instance-type
    kubernetes.io/role: kube_role
    # <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
  podLabelsAsTags:
    app: kube_app
    release: helm_release
    # <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>
  podAnnotationsAsTags:
    iam.amazonaws.com/role: kube_iamrole
     # <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY>

Usando archivos secretos

Las credenciales de integración se pueden almacenar en secretos de Docker o Kubernetes y utilizarse en plantillas de Autodiscovery. Para más información, consulte Gestión de Secretos.

Ignorar contenedores

Excluya contenedores de la recopilación de registros, la recopilación de métricas y la Autodiscovery. Datadog excluye pause contenedores de Kubernetes y OpenShift por defecto. Estas listas de permitidos y bloqueados se aplican solo a Autodiscovery; las trazas y DogStatsD no se ven afectados. Estas variables de entorno admiten expresiones regulares en sus valores.

Consulte la página de Gestión de Descubrimiento de Contenedores para ejemplos.

Nota: Las métricas kubernetes.containers.running, kubernetes.pods.running, docker.containers.running, .stopped, .running.total y .stopped.total no se ven afectadas por estas configuraciones. Todos los contenedores son contados.

Tiempo de espera del servidor API de Kubernetes

Por defecto, la verificación de Métricas del Estado de Kubernetes espera 10 segundos para una respuesta del servidor API de Kubernetes. Para clústeres grandes, la solicitud puede agotar el tiempo, lo que resulta en métricas faltantes.

Puede evitar esto configurando la variable de entorno DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT a un valor más alto que el tiempo predeterminado de 10 segundos.

Actualice su datadog-agent.yaml con la siguiente configuración:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  override:
    clusterAgent:
      env:
        - name: DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT
          value: <value_greater_than_10>

Luego aplique la nueva configuración:

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

Actualice su datadog-values.yaml con la siguiente configuración:

clusterAgent:
  env:
    - name: DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT
      value: <value_greater_than_10>

Luego actualice su Helm chart:

helm upgrade -f datadog-values.yaml <RELEASE_NAME> datadog/datadog

Configuraciones de proxy

A partir de la versión 6.4.0 del Agente (y de la 6.5.0 para el Trace Agent), puede anular las configuraciones de proxy del Agente con las siguientes variables de entorno:

Variable de EntornoDescripción
DD_PROXY_HTTPUna URL HTTP para usar como proxy para solicitudes de http.
DD_PROXY_HTTPSUna URL HTTPS para usar como proxy para solicitudes de https.
DD_PROXY_NO_PROXYUna lista de URLs separadas por espacios para las cuales no se debe usar proxy.
DD_SKIP_SSL_VALIDATIONUna opción para probar si el Agente tiene problemas para conectarse a Datadog.

Establecer el nombre del clúster

Algunas capacidades requieren que establezca un nombre de clúster de Kubernetes. Un nombre de clúster válido debe ser único y estar separado por puntos, con las siguientes restricciones:

  • Puede contener solo letras minúsculas, números y guiones
  • Debe comenzar con una letra
  • La longitud total es menor o igual a 80 caracteres

Establezca spec.global.clusterName como el nombre de su clúster en datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <YOUR_CLUSTER_NAME>

Establezca datadog.clusterName como el nombre de su clúster en datadog-values.yaml.

datadog:
  #(...)
  clusterName: <YOUR_CLUSTER_NAME>

Autodiscovery

Variable de entornoDescripción
DD_LISTENERSListeners de Autodiscovery para ejecutar.
DD_EXTRA_LISTENERSListeners de Autodiscovery adicionales para ejecutar. Se añaden además de las variables definidas en la sección listeners del archivo de configuración datadog.yaml.
DD_CONFIG_PROVIDERSLos proveedores que el Agente debe llamar para recopilar configuraciones de verificación. Los proveedores disponibles son:
kubelet - Maneja plantillas incrustadas en anotaciones de pod.
docker - Maneja plantillas incrustadas en etiquetas de contenedor.
clusterchecks - Recupera configuraciones de verificación a nivel de clúster desde el Cluster Agent.
kube_services - Observa los servicios de Kubernetes para verificaciones de clúster.
DD_EXTRA_CONFIG_PROVIDERSProveedores adicionales de configuración de Autodiscovery para usar. Se añaden además de las variables definidas en la sección config_providers del archivo de configuración datadog.yaml.

Varios

Variable de entornoDescripción
DD_PROCESS_AGENT_CONTAINER_SOURCEAnula la detección automática de la fuente del contenedor para forzar una única fuente. p. ej. "docker", "ecs_fargate", "kubelet". Esto ya no es necesario desde la versión 7.35.0 del Agente.
DD_HEALTH_PORTEstablezca esto en 5555 para exponer la verificación de salud del Agente en el puerto 5555.
DD_CLUSTER_NAMEEstablezca un identificador de clúster de Kubernetes personalizado para evitar colisiones de alias de host. El nombre del clúster puede tener hasta 40 caracteres con las siguientes restricciones: solo letras minúsculas, números y guiones. Debe comenzar con una letra. Debe terminar con un número o una letra.
DD_COLLECT_KUBERNETES_EVENTSHabilitar la recopilación de eventos con el Agente. Si está ejecutando múltiples instancias del Agente en su clúster, establezca DD_LEADER_ELECTION en true también.