La recopilación de eventos está activada por defecto por el Datadog Operator. Esto se puede gestionar en la configuración features.eventCollection.collectKubernetesEvents en tu datadog-agent.yaml.
Para recopilar eventos de Kubernetes con el Datadog Cluster Agent, asegúrate de que las opciones clusterAgent.enabled, datadog.collectEvents y clusterAgent.rbac.create están configuradas como true en tu archivo datadog-values.yaml.
Si no deseas utilizar la opción de Cluster Agent, puedes hacer que un Node Agent recopila eventos de Kubernetes configurando las opciones datadog.leaderElection, datadog.collectEvents y agents.rbac.create como true en tu archivo datadog-values.yaml.
Datadog Cluster Agent proporciona un enfoque optimizado y centralizado para recopilar datos de monitorización del clúster. Datadog recomienda encarecidamente el uso de Cluster Agent para la monitorización de Kubernetes.
Datadog Operator v1.0.0+ y tabla de Helm v2.7.0+ **habilitan por defecto el Cluster Agent **. No es necesaria ninguna otra configuración.
El Datadog Operator v1.0.0+ habilita el Cluster Agent por defecto. El Operator crea los RBAC necesarios y despliega Cluster Agent. Ambos Agents utilizan la misma clave de API.
El Operador genera automáticamente un token aleatorio en un Secret de Kubernetes que lo compartirán el Datadog Agent y Cluster Agent para una comunicación segura.
Puedes especificar manualmente este token en el campo global.clusterAgentToken de tu datadog-agent.yaml:
La tabla de Helm v2.7.0+ activa por defecto el Cluster Agent.
Para comprobarlo, asegúrate de que clusterAgent.enabled está configurado como true en tu datadog-values.yaml:
clusterAgent:enabled:true
Helm genera automáticamente un token aleatorio en un Secret de Kubernetes compartido por el Datadog Agent y Cluster Agent para una comunicación segura.
Puedes especificar manualmente este token en el campo clusterAgent.token de tu datadog-agent.yaml:
Alternativamente, puedes especificar este token haciendo referencia al nombre de un Secret existente, donde el token se encuentra en una clave llamada token:
En datadog-agent.yaml, proporcione una clave de aplicación en spec.global.credentials.appKey y establece features.externalMetricsServer.enabled en true.
Para utilizar el Explorador de contenedores de Datadog, active el Agent de proceso. Datadog Operator y la tabla de Helm habilitan el Agent de proceso por defecto. No es necesario ninguna otra configuración.
La tabla de Helm activa el Agent de proceso por defecto.
Para comprobarlo, asegúrate de que processAgent.enabled está configurado como true en tu datadog-values.yaml:
datadog:# (...)processAgent:enabled:true
En algunas configuraciones, el Process Agent y Cluster Agent no pueden detectar de manera automática un nombre de clúster de Kubernetes. Si esto ocurre, la función no se inicia y aparece la siguiente advertencia en el log del Cluster Agent: Orchestrator explorer enabled but no cluster name set: disabling. En este caso, debes establecer datadog.clusterName en tu nombre de clúster en values.yaml.
En lugar de global.credentials.apiKey, indica el nombre de un Secret de Kubernetes que contenga tu clave de API de Datadog.
global.credentials.apiSecret.keyName
En lugar de global.credentials.apiKey, proporciona la clave del Secret de Kubernetes nombrada en global.credentials.apiSecret.secretName.
global.credentials.appKey
Configura tu clave de aplicación de Datadog. Si utilizas el servidor de métricas externas, debes configurar una clave de aplicación de Datadog para el acceso de lectura a tus métricas.
global.credentials.appSecret.secretName
En lugar de global.credentials.apiKey, indica el nombre de un Secret de Kubernetes que contenga la clave de tu aplicación de Datadog.
global.credentials.appSecret.keyName
En lugar de global.credentials.apiKey, proporciona la clave del Secret de Kubernetes nombrada en global.credentials.appSecret.secretName.
global.logLevel
Establece la intensidad del registro. Esto puede ser anulado por el contenedor. Los niveles de log válidos son: trace, debug, info, warn, error, critical y off. Por defecto: info.
global.registry
Registro de imágenes a utilizar para todas las imágenes de Agent. Por defecto: gcr.io/datadoghq.
global.site
Establece el sitio de entrada de Datadog al que se envían los datos del Agent. Tu sitio es datadoghq.com. (Asegúrate de seleccionar el SITIO correcto a la derecha).
global.tags
Un lista de etiquetas para adjuntar a cada métrica, evento y check de servicio recopilados.
Para consultar la lista completa de los campos de configuración para el Datadog Operator, vea la especificación de Operator v2alpha1. Para versiones anteriores, vea la especificación de Operator v1alpha1. Los campos de configuración también pueden consultarse mediante kubectl explain datadogagent --recursive.
Helm
Descripción
datadog.apiKey
Configura tu clave de API de Datadog.
datadog.apiKeyExistingSecret
En lugar de datadog.apiKey, proporciona el nombre de un Secret de Kubernetes existente que contenga tu clave de API de Datadog, configurada con el nombre de clave api-key.
datadog.appKey
Configura tu clave de aplicación de Datadog. Si utilizas el servidor de métricas externas, debes configurar una clave de aplicación de Datadog para el acceso de lectura a tus métricas.
datadog.appKeyExistingSecret
En lugar de datadog.appKey, proporciona el nombre de un Secret de Kubernetes existente que contenga tu clave de aplicación de Datadog, configurada con el nombre de clave app-key.
datadog.logLevel
Establece la verbosidad del registro. Esto puede ser anulado por el contenedor. Los niveles válidos de log son: trace, debug, info, warn, error, critical y off. Por defecto: info.
registry
Registro de imagen a utilizar para todas las imágenes del Agent. Por defecto: gcr.io/datadoghq.
datadog.site
Establece el sitio de entrada de Datadog al que se envían los datos del Agent. Tu sitio es datadoghq.com. (Asegúrate de seleccionar el SITIO correcto a la derecha).
datadog.tags
Un lista de etiquetas para adjuntar a cada métrica, evento y check de servicio recopilados.
Si deseas consultar la lista completa de las variables de entorno para la tabla de Helm, consulta la lista completa de opciones para datadog-values.yaml.
Variable de Ent
Descripción
DD_API_KEY
Tu Datadog clave de API (obligatorio)
DD_ENV
Establece la etiqueta global env para todos los datos emitidos.
DD_HOSTNAME
Nombre de host a utilizar para métricas (si falla la detección automática)
DD_TAGS
Etiquetas de host separadas por espacios. Por ejemplo: simple-tag-0 tag-key-1:tag-value-1
DD_SITE
Sitio de destino para tus métricas, trazas y logs. Tu DD_SITE es datadoghq.com. Por defecto es datadoghq.com.
DD_DD_URL
Opcional para anular la URL de envío de métrica.
DD_URL (6.36+/7.36+)
Alias para DD_DD_URL. Ignorado si DD_DD_URL ya está configurado.
DD_CHECK_RUNNERS
El Agent ejecuta todos los checks de forma concurrente por defecto (valor por defecto = 4 ejecutores). Para ejecutar checks secuencialmente, ajusta el valor en 1. Si necesitas ejecutar un número elevado de checks (o checks lentos), el componente collector-queue podría retrasarse y el check de estado podría fallar. Puede aumentar el número de ejecutores para iniciar checks en paralelo.
DD_LEADER_ELECTION
Si se están ejecutando múltiples instancias del Agent en tu clúster, establece esta variable en true para evitar la duplicación de la recopilación de eventos.
El Datadog Agent en contenedores puede configurarse utilizando variables de entorno. Para una amplia lista de las variables de entorno compatibles, consulta la sección variables de entorno de la documentación del Docker Agent.
Al utilizar el Datadog Operator, puedes establecer variables de entorno adicionales en override para un componente con [key].env []object, o para un contenedor con [key].containers.[key].env []object. Se admiten las siguientes claves:
nodeAgent
clusterAgent
clusterChecksRunner
Los ajustes de contenedor tienen prioridad sobre los ajustes de componente.
DogStatsD puede enviar métricas personalizadas sobre UDP con el protocolo StatsD. DogStatsD está habilitado por defecto por Datadog Operator y Helm. Consulta la documentación de DogStatsD para obtener más información.
Puedes utilizar las siguientes variables de entorno para configurar DogStatsD con DaemonSet:
Variable de Env
Descripción
DD_DOGSTATSD_NON_LOCAL_TRAFFIC
Escucha los paquetes de DogStatsD de otros contenedores (obligatorio para enviar métricas personalizadas).
DD_HISTOGRAM_PERCENTILES
Los percentiles de histogramas para calcular (separados por espacios). Por defecto es 0.95.
DD_HISTOGRAM_AGGREGATES
Los agregados del histograma a calcular (separados por espacios). El valor por defecto es "max median avg count".
DD_DOGSTATSD_SOCKET
Ruta al socket de Unix a escuchar. Debe estar en un volumen montado en rw.
DD_DOGSTATSD_ORIGIN_DETECTION
Activa la detección de contenedores y etiquetado para las métricas de socket de Unix.
DD_DOGSTATSD_TAGS
Etiquetas adicionales para anexar a todas las métricas, los eventos y los checks de servicios recibidos por este servidor de DogStatsD, por ejemplo: "env:golden group:retrievers".
Datadog recopila automáticamente etiquetas comunes de Kubernetes.
Además, puedes asignar etiquetas de nodos de Kubernetes, etiquetas de pods y anotaciones a las etiquetas de Datadog. Utiliza las siguientes variables de entorno para configurar esta asignación:
Proporciona una asignación entre las etiquetas de espacio de nombres de Kubernetes y etiquetas de Datadog. <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
global.nodeLabelsAsTags
Proporciona una asignación entre las etiquetas de nodo de Kubernetes y etiquetas de Datadog. <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
global.podAnnotationsAsTags
Proporciona una asignación entre anotaciones de Kubernetes y etiquetas de Datadog. <KUBERNETES_ANNOTATION>: <DATADOG_TAG_KEY>
global.podLabelsAsTags
Proporciona una asignación entre las etiquetas de Kubernetes y las etiquetas de Datadog. <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>
Proporciona una asignación entre las etiquetas de espacio de nombres de Kubernetes y etiquetas de Datadog. <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
datadog.nodeLabelsAsTags
Proporciona una asignación entre las etiquetas de nodo de Kubernetes y etiquetas de Datadog. <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
datadog.podAnnotationsAsTags
Proporciona una asignación entre anotaciones de Kubernetes y etiquetas de Datadog. <KUBERNETES_ANNOTATION>: <DATADOG_TAG_KEY>
datadog.podLabelsAsTags
Proporciona una asignación entre las etiquetas de Kubernetes y las etiquetas de Datadog. <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>
Las credenciales de integración pueden almacenarse en los secretos de Docker o Kubernetes y utilizarse en las plantillas de Autodiscovery. Para obtener más información, consulta Gestión de secretos.
Excluye contenedores de la recopilación de logs, métricas y Autodiscovery. Datadog excluye los contenedores pause de Kubernetes y OpenShift por defecto. Estas listas de permisos y denegaciones se aplican únicamente a Autodiscovery; las trazas y DogStatsD no se ven afectados. Estas variables de entorno admiten expresiones regulares en sus valores.
Nota: Las métricas kubernetes.containers.running, kubernetes.pods.running, docker.containers.running, .stopped, .running.total y .stopped.total no se ven afectadas por estos ajustes. Se cuentan todos los contenedores.
Por defecto, el check de las métricas centrales de estado de Kubernetes espera 10 segundos para recibir una respuesta del servidor de la API de Kubernetes. En el caso de clústeres de gran tamaño, es posible que se agote el tiempo de espera y se pierdan métricas.
Puedes evitarlo al configurar la variable de entorno DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT en un valor superior al predeterminado de 10 segundos.
A partir del Agent v6.4.0 (y v6.5.0 para el Trace Agent), se pueden sobreescribir los valores de configuración de proxy del Agent con las siguientes variables de entorno:
Variable de Env
Descripción
DD_PROXY_HTTP
Una URL de HTTP para usar como proxy para solicitudes de http.
DD_PROXY_HTTPS
Una URL de HTTP para usar como proxy para solicitudes de https.
DD_PROXY_NO_PROXY
Una lista separada por espacios de URLs para las que no se debe utilizar ningún proxy.
DD_SKIP_SSL_VALIDATION
Una opción para comprobar si el Agent tiene problemas para conectarse a Datadog.
Oyentes 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_PROVIDERS
Los proveedores a los que el Agent debe llamar para recopilar las configuraciones de check. Los proveedores disponibles son: kubelet: maneja plantillas incrustadas en anotaciones de pods. docker: maneja plantillas incrustadas en etiquetas de contenedor. clusterchecks: recupera configuraciones de check de clúster del Cluster Agent . kube_services: controla servicios de Kubernetes para checks de clústeres.
DD_EXTRA_CONFIG_PROVIDERS
Proveedores de configuración de Autodiscovery adicionales a utilizar. Se añaden además de las variables definidas en la sección config_providers del archivo de configuración datadog.yaml.
Sobreescribe la detección automática del origen del contenedor para forzar un único origen. Por ejemplo: "docker", "ecs_fargate", "kubelet". Esto ya no es necesario a partir de Agent v7.35.0.
DD_HEALTH_PORT
Configura esto como 5555 para exponer el check de estado del Agent en el puerto 5555.
DD_CLUSTER_NAME
Establece un identificador de clústeres de Kubernetes personalizado para evitar colisiones de alias de host. El nombre del clúster puede tener un máximo de 40 caracteres con las siguientes restricciones: solo letras minúsculas, números y guiones. Debe empezar por una letra. Debe terminar con un número o una letra.
DD_COLLECT_KUBERNETES_EVENTS
Habilita la recopilación de eventos con el Agent. Si estás ejecutando varias instancias del Agent en tu clúster, configura también DD_LEADER_ELECTION en true.