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.apiKey | Configure su clave de API de Datadog. |
global.credentials.apiSecret.secretName | En lugar de global.credentials.apiKey, proporcione el nombre de un Secret de Kubernetes que contenga su clave de API de Datadog. |
global.credentials.apiSecret.keyName | En lugar de global.credentials.apiKey, proporcione la clave del Secret de Kubernetes nombrado en global.credentials.apiSecret.secretName. |
global.credentials.appKey | Configure 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.secretName | En 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.keyName | En lugar de global.credentials.apiKey, proporcione la clave del Secret de Kubernetes nombrado en global.credentials.appSecret.secretName. |
global.logLevel | Establece 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.registry | Registro de imágenes a utilizar para todas las imágenes del Agente. Predeterminado: gcr.io/datadoghq. |
global.site | Establece 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.tags | Una 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.
| Helm | Descripción |
|---|
datadog.apiKey | Configure su clave de API de Datadog. |
datadog.apiKeyExistingSecret | En 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.appKey | Configure 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.appKeyExistingSecret | En 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.logLevel | Establece 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. |
registry | Registro de imágenes a utilizar para todas las imágenes del Agente. Predeterminado: gcr.io/datadoghq. |
datadog.site | Establece 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.tags | Una 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 entorno | Descripción |
|---|
DD_API_KEY | Su clave de API de Datadog (requerida) |
DD_ENV | Establece la etiqueta global env para todos los datos emitidos. |
DD_HOSTNAME | Nombre de servidor a utilizar para métricas (si la autodetección falla) |
DD_TAGS | Etiquetas de servidor separadas por espacios. Por ejemplo: simple-tag-0 tag-key-1:tag-value-1 |
DD_SITE | Sitio de destino para sus métricas, trazas y registros. Su DD_SITE es . Por defecto es datadoghq.com. |
DD_DD_URL | Configuració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_RUNNERS | El 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_ELECTION | Si 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:
nodeAgentclusterAgentclusterChecksRunner
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>
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 Entorno | Descripción |
|---|
DD_DOGSTATSD_NON_LOCAL_TRAFFIC | Escuchar paquetes de DogStatsD de otros contenedores (requerido para enviar métricas personalizadas). |
DD_HISTOGRAM_PERCENTILES | Los percentiles del histograma a calcular (separados por espacios). El valor 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 Unix para escuchar. Debe estar en un rw volumen montado. |
DD_DOGSTATSD_ORIGIN_DETECTION | Habilitar la detección y etiquetado de contenedores para métricas de socket Unix. |
DD_DOGSTATSD_TAGS | Etiquetas adicionales para agregar a todas las métricas, eventos y verificaciones de servicio recibidos por este servidor DogStatsD, por ejemplo: "env:golden group:retrievers". |
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.namespaceLabelsAsTags | Proporcionar un mapeo de las etiquetas de espacio de nombres de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY> |
global.nodeLabelsAsTags | Proporcionar un mapeo de las etiquetas de nodos de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY> |
global.podAnnotationsAsTags | Proporcionar un mapeo de las anotaciones de Kubernetes a las etiquetas de Datadog. <KUBERNETES_ANNOTATION>: <DATADOG_TAG_KEY> |
global.podLabelsAsTags | Proporcionar 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>
| Helm | Descripción |
|---|
datadog.namespaceLabelsAsTags | Proporcionar un mapeo de las etiquetas de espacio de nombres de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY> |
datadog.nodeLabelsAsTags | Proporcionar un mapeo de las etiquetas de nodos de Kubernetes a las etiquetas de Datadog. <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY> |
datadog.podAnnotationsAsTags | Proporcionar un mapeo de las anotaciones de Kubernetes a las etiquetas de Datadog. <KUBERNETES_ANNOTATION>: <DATADOG_TAG_KEY> |
datadog.podLabelsAsTags | Proporcionar 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 Entorno | Descripción |
|---|
DD_PROXY_HTTP | Una URL HTTP para usar como proxy para solicitudes de http. |
DD_PROXY_HTTPS | Una URL HTTPS para usar como proxy para solicitudes de https. |
DD_PROXY_NO_PROXY | Una lista de URLs separadas por espacios para las cuales no se debe usar proxy. |
DD_SKIP_SSL_VALIDATION | Una 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 entorno | Descripción |
|---|
DD_LISTENERS | Listeners de Autodiscovery para ejecutar. |
DD_EXTRA_LISTENERS | Listeners 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 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_PROVIDERS | Proveedores 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 entorno | Descripción |
|---|
DD_PROCESS_AGENT_CONTAINER_SOURCE | Anula 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_PORT | Establezca esto en 5555 para exponer la verificación de salud del Agente en el puerto 5555. |
DD_CLUSTER_NAME | Establezca 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_EVENTS | Habilitar 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. |