Intenta la Introducción a la Monitorización de Kubernetes en el Centro de Aprendizaje
Aprende sin costo en capacidad de computación en la nube real y una cuenta de prueba de Datadog. Comienza estos laboratorios prácticos para ponerte al día con las métricas, registros y trazas APM que son específicas de Kubernetes.
Puedes enviar trazas a través de Unix Domain Socket (UDS), TCP (IP:Port), o servicio de Kubernetes. Datadog recomienda que uses UDS, pero es posible utilizar los tres al mismo tiempo, si es necesario.
Cuando APM está habilitado, la configuración predeterminada crea un directorio en el host y lo monta dentro del Agente. El Agente luego crea y escucha en un archivo de socket /var/run/datadog/apm/apm.socket. Los pods de la aplicación pueden montar este volumen de manera similar y escribir en este mismo socket. Puedes modificar la ruta y el socket con el valor de configuración features.apm.unixDomainSocketConfig.path.
After making your changes, apply the new configuration by using the following command:
Para verificar, asegúrate de que datadog.apm.socketEnabled esté establecido en true en tu datadog-values.yaml.
datadog:apm:socketEnabled:true
La configuración predeterminada crea un directorio en el host y lo monta dentro del Datadog Agent. El Datadog Agent luego crea y escucha en un archivo de socket /var/run/datadog/apm.socket. Los pods de la aplicación pueden montar este volumen de manera similar y escribir en este mismo socket. Puedes modificar la ruta y el socket con los valores de configuración datadog.apm.hostSocketPath y datadog.apm.socketPath.
datadog:apm:# the following values are default:socketEnabled:truehostSocketPath:/var/run/datadog/socketPath:/var/run/datadog/apm.socket
Para deshabilitar APM, establece datadog.apm.socketEnabled en false.
After making your changes, upgrade your Datadog Helm chart using the following command:
Nota: En minikube, puedes recibir un Unable to detect the kubelet URL automatically error. En este caso, establece datadog.kubelet.tlsVerify en false.
Configura tus pods de aplicación para enviar trazas al Agente de Datadog
El Datadog Admission Controller es un componente del Datadog Cluster Agent que simplifica la configuración de tus pods de aplicación. Aprende más leyendo la documentación del Datadog Admission Controller.
Utiliza el Datadog Admission Controller para inyectar variables de entorno y montar los volúmenes necesarios en nuevos pods de aplicación, configurando automáticamente la comunicación de trazas entre el pod y el Datadog Agent. Aprende cómo configurar automáticamente tu aplicación para enviar trazas al Datadog Agent leyendo la documentación de Injecting Libraries Using Datadog Admission Controller.
Si estás enviando trazas al Datadog Agent usando UDS, monta el directorio del host donde se encuentra el socket (que creó el Datadog Agent) en el contenedor de la aplicación y especifica la ruta al socket con DD_TRACE_AGENT_URL:
Configura tus SDKs de aplicación para emitir trazas:
Después de configurar tu Datadog Agent para recolectar trazas y dar a tus pods de aplicación la configuración sobre dónde enviar trazas, instala el SDK de Datadog en tus aplicaciones para emitir las trazas. Una vez hecho esto, el SDK envía las trazas al DD_TRACE_AGENT_URL punto de conexión apropiado.
Si estás enviando trazas al Datadog Agent usando TCP (<IP_ADDRESS>:8126), proporciona esta dirección IP a tus pods de aplicación—ya sea automáticamente con el Datadog Admission Controller, o manualmente usando la API descendente para obtener la IP del host. El contenedor de la aplicación necesita la variable de entorno DD_AGENT_HOST que apunta a status.hostIP:
Nota: Esta configuración requiere que el Datadog Agent esté configurado para aceptar trazas a través de TCP
Configura tus SDKs de aplicación para emitir trazas:
Después de configurar el Datadog Agent para recolectar trazas y dar a tus pods de aplicación la configuración sobre dónde enviar trazas, instala el Datadog SDK en tus aplicaciones para emitir las trazas. Una vez hecho esto, el SDK envía automáticamente las trazas al DD_AGENT_HOST punto de conexión apropiado.
Advertencia: El parámetro hostPort abre un puerto en su host. Asegúrese de que su firewall solo permita el acceso desde sus aplicaciones o fuentes de confianza. Si su complemento de red no admite hostPorts, agregue hostNetwork: true en las especificaciones del pod del Datadog Agent. Esto comparte el espacio de nombres de red de su host con el Datadog Agent. Esto también significa que todos los puertos abiertos en el contenedor están abiertos en el host. Si un puerto se utiliza tanto en el host como en su contenedor, hay un conflicto (ya que comparten el mismo espacio de nombres de red) y el pod no se inicia. Algunas instalaciones de Kubernetes no permiten esto.
Actualice su archivo datadog-values.yaml con la siguiente configuración de APM:
datadog:apm:portEnabled:trueport:8126# default
After making your changes, upgrade your Datadog Helm chart using the following command:
Advertencia: El parámetro datadog.apm.portEnabled abre un puerto en su host. Asegúrese de que su firewall solo permita el acceso desde sus aplicaciones o fuentes de confianza. Si su complemento de red no admite hostPorts, agregue hostNetwork: true en las especificaciones del pod del Datadog Agent. Esto comparte el espacio de nombres de red de su host con el Datadog Agent. Esto también significa que todos los puertos abiertos en el contenedor están abiertos en el host. Si un puerto se utiliza tanto en el host como en su contenedor, hay un conflicto (ya que comparten el mismo espacio de nombres de red) y el pod no se inicia. Algunas instalaciones de Kubernetes no permiten esto.
Variables de entorno de APM
Establezca variables de entorno adicionales de APM bajo override.nodeAgent.containers.trace-agent.env:
Configure resources for the Agent to ignore. Format should be comma separated, regular expressions. For example: GET /ignore-me,(GET|POST) /and-also-me
DD_APM_LOG_FILE
Path to file where APM logs are written.
DD_APM_CONNECTION_LIMIT
Maximum connection limit for a 30 second time window. Default: 2000
DD_APM_ADDITONAL_ENDPOINTS
Send data to multiple endpoints and/or with multiple API keys. See Dual Shipping.
DD_APM_DEBUG_PORT
Port for the debug endpoints for the Trace Agent. Set to 0 to disable the server. Default: 5012.
DD_BIND_HOST
Set the StatsD and receiver hostname.
DD_PUERTO_DOGSTATSD
For tracing over TCP, set the DogStatsD port.
DD_ENV
Sets the global env for all data emitted by the Agent. If env is not present in your trace data, this variable is used.
DD_HOSTNAME
Manually set the hostname to use for metrics if autodetection fails, or when running the Datadog Cluster Agent.
DD_LOG_LEVEL
Set the logging level. Values: trace, debug, info, warn, error, critical, off