Control del volumen de ingesta con el Rastreo distribuido de APM

Información general

La Página de control de la ingesta proporciona una visibilidad detallada de la configuración de la ingesta para todos los servicios, en el Agent y en las bibliotecas de rastreo. Todos los Mecanismos de ingesta están documentados públicamente y son configurables.

Con la página de control de la ingesta, tendrás una visibilidad total y un control completo del volumen de tramos (spans). En consecuencia, puedes:

  • Ingerir los datos más relevantes para tu empresa y tus objetivos de observabilidad.
  • Reducir los costes de red evitando el envío de datos no utilizados de traza a la plataforma de Datadog.
  • Controlar y gestionar tus costes globales.

Efectos de reducir el volumen de ingesta de trazas

Muestra de ingesta de APM que exhibe un avance del 25 por ciento de trazas ingeridas

Si decides reducir el volumen de ingesta para determinados servicios, las métricas de solicitudes, errores y latencia (conocidas como métricas RED de solicitudes, errores y duración) siguen siendo 100% exactas, ya que se calculan basándose en el 100% del tráfico de la aplicación, independientemente de cualquier configuración de muestreo. Estas métricas se incluyen al comprar Datadog APM. Para asegurarte de que tiene una visibilidad completa del tráfico de tu aplicación, puedes utilizar estas métricas para detectar posibles errores en un servicio o un recurso, creando dashboards, monitores y SLOs.

Nota: Si tus aplicaciones y servicios están instrumentadas con bibliotecas de OpenTelemetry y configuras el muestreo en el nivel de SDK o en el nivel de Collector, las métricas de APM se basan en el conjunto muestreado de datos de forma predeterminada. Consulta Muestreo de ingesta con OpenTelemetry para obtener más información.

Fase beta: alternativamente, utiliza el Datadog Connector para calcular métricas de APM sobre los datos no muestreados. Lee Cambiar de Datadog Processor a Datadog Connector para métricas de APM con OpenTelemetry para obtener más información.

Los datos de traza son muy repetitivos, lo que significa que las muestras de traza para investigar cualquier problema siguen estando disponibles con el muestreo de ingesta. En el caso de servicios de alto rendimiento, no suele ser necesario recopilar todas y cada una de las solicitudes: un problema lo suficientemente importante siempre debería mostrar indicios en varias trazas. Los controles de ingesta te ayudan a tener la visibilidad que necesitas para solucionar problemas sin salirse del presupuesto.

Métricas de tramos

Las métricas de tramos se basan en la ingesta de tramos.

La reducción de las frecuencias de muestreo de la ingesta afectará a cualquier métrica de tipo count (recuento). Las métricas de tipo distribution (distribución), por ejemplo duration, no se ven afectadas ya que el muestreo es mayoritariamente uniforme, la distribución de latencias sigue siendo representativa del tráfico.

Monitores

Cualquier monitor de métrica que utilice métricas de tramos se ve afectado por la reducción del volumen de ingesta. Los monitores de métrica basados en métricas trace.__ seguirán siendo precisos, porque estas métricas se calculan basándose en el 100% del tráfico.

Los monitores de análisis de traza basados en el recuento también se ven afectados. Comprueba si tienes monitores de análisis de traza creados al buscar monitores type:trace-analytics en la página Gestionar monitores.

Evalúa la configuración de ingesta de tu servicio

Para evaluar el estado actual de la instrumentación de aplicaciones, aprovecha la página de Control de ingesta de traza que brinda información detallada sobre la configuración del Agent y la biblioteca de rastreo.

Comprende si estás dentro de la asignación de ingesta mensual

Utiliza el KPI de uso mensual de la ingesta para obtener una estimación de tu uso en comparación con la asignación mensual de 150 GB de tramos ingeridos por host de APM (sumados todos los hosts de APM).

KPI de exceso de ingesta que muestra un 170 por ciento de uso mensual estimado de los 23.3 TB mensuales disponibles en toda la infraestructura

Investigación avanzada del uso de APM

La configuración de la ingesta puede ser investigada para cada servicio. Haz clic en una fila de servicio para ver el resumen de ingesta del servicio, que muestra lo siguiente:

  • Desglose del motivo de la ingesta: qué mecanismo de ingesta es responsable del volumen de ingesta.
  • Encargados de la toma de decisiones de muestreo: qué servicios de carga están tomando decisiones de muestreo para los tramos ingeridos con respecto al mecanismo de ingesta por defecto.

También está disponible un dashboard predeterminado para obtener más información sobre las tendencias históricas relacionadas con el uso y el volumen de ingesta. Clona este dashboard para poder editar widgets y realizar más análisis.

Reduce tu volumen de ingesta

Identificar servicios responsables de la mayor parte del volumen de ingesta

Para identificar qué servicios son responsables de la mayor parte del volumen de ingesta, ordena la tabla por Downstream Bytes/s (Bytes/segundo de descarga). Esta columna permite detectar qué servicios toman la mayoría de las decisiones de muestreo, que también repercuten en servicios de descarga.

Si el servicio está iniciando la traza, Downstream Bytes/s (Bytes/segundo de descarga) también engloba el volumen de tramos procedentes de servicios de descarga para los que el servicio tomó la decisión de muestreo.

La columna Traffic Breakdown (Desglose del tráfico) da una buena indicación de la configuración del muestreo del servicio.

Si el servicio tiene una alta tasa de Bytes/segundo de descarga y una alta tasa de muestreo (mostrada como la sección rellena de azul de la columna de desglose de tráfico), se espera que reducir la frecuencia de muestreo de este servicio tenga un alto impacto en el volumen de ingesta.

Muestreo de ingesta de APM que muestra un avance del 99 por ciento de trazas ingeridas, lo que significa que no hay muestreo

Configura globalmente la frecuencia de muestreo de la ingesta a nivel del Agent

La columna Configuration (Configuración) te indica si tus servicios están configurados con reglas de muestreo. Si los servicios superiores están etiquetados con la configuración AUTOMATIC, al cambiar la Agent Configuration (Configuración del Agent) se reduce el volumen globalmente en los servicios.

Para reducir el volumen de ingesta en el nivel del Agent, configura DD_APM_MAX_TPS (establecido en 10 por defecto) para reducir la parte del volumen de muestreo basada en el título. Lee más información sobre el mecanismo de muestreo por defecto.

Nota: Esta opción de configuración solo tiene efecto cuando se utilizan bibliotecas de rastreo de Datadog. Si la ingesta de OTLP en el Agent recopila datos de aplicaciones instrumentadas con OpenTelemetry, la modificación de DD_APM_MAX_TPS no cambia las frecuencias de muestreo que se aplican en las bibliotecas de rastreo.

Además, para reducir el volumen de error y trazas poco frecuentes:

  • Configura DD_APM_ERROR_TPS para reducir la cuota de error de muestreo.
  • Establece DD_APM_DISABLE_RARE_SAMPLER en true para dejar de muestrear las trazas poco frecuentes.

Configura independientemente la frecuencia de muestreo de la ingesta para los servicios a nivel de biblioteca

Al configurar las frecuencias de muestreo para unos pocos servicios de alto rendimiento, la mayor parte del volumen de ingesta “excedente” puede reducirse.

Haz clic en un servicio para ver el Service Ingestion Summary (Resumen de ingesta del servicio). Observa el Ingestion reasons breakdown (Desglose de motivos de ingesta) en el panel lateral, que ofrece una descripción general de la parte de volumen de ingesta atribuida a cada mecanismo.

Si el motivo principal de la mayor parte del volumen de ingesta es el muestreo basado en títulos (auto o rule), el volumen puede configurarse estableciendo una regla de muestreo en el nivel de la biblioteca de rastreo.

Haz clic en el botón Manage Ingestion Rate (Gestionar tasa de ingesta) para configurar una tasa de muestreo para el servicio. Selecciona el lenguaje de servicio y la frecuencia de muestreo de ingesta que deseas aplicar.

Nota: La aplicación debe volverse a desplegar para poder aplicar los cambios de configuración. Datadog recomienda aplicar los cambios configurando variables de entorno.

Muestreo de trazas con OpenTelemetry

Si tus aplicaciones y servicios están instrumentados con bibliotecas de OpenTelemetry y estás utilizando OpenTelemetry Collector, puedes utilizar las siguientes capacidades de muestreo de OpenTelemetry:

Con cualquiera de las dos opciones se obtienen muestras de métricas de APM.

Glosario de motivos de la ingesta

Saber qué mecanismos de ingesta son responsables de la mayor parte del volumen ingerido

El mecanismo por defecto para muestrear trazas es el muestreo basado en la fase inicial. La decisión de muestrear o no una traza se toma al principio de su ciclo de vida, y se propaga de forma descendente en el contexto de las solicitudes para asegurar que siempre puedas ver y analizar trazas completas.

El muestreo basado en la fase inicial es configurable en las bibliotecas de rastreo o desde el Datadog Agent:

Motivo de la ingestaDóndeDescripción del mecanismo de ingestaPredeterminado
autoAgentEl Datadog Agent distribuye las frecuencias de muestreo a las bibliotecas de rastreo.10 trazas por segundo por Agent
ruleBibliotecas de rastreoEl porcentaje de muestreo definido por las bibliotecas para servicios específicos.nulo

Otros motivos de ingesta aparecen en la página Control de la ingesta y como una etiqueta en la métrica datadog.estimated_usage.apm.ingested_bytes. Estas razones de ingesta pueden ser responsables de tu volumen de ingesta:

Motivo de la ingestaDóndeDescripción del mecanismo de ingestaPredeterminado
errorAgentMuestreo de errores no detectados por el muestreo basado en la fase inicial.10 trazas por segundo por Agent (nulo, si se definen reglas)
rareAgentMuestreo de trazas poco frecuentes (captura de todas las combinaciones de un conjunto de etiquetas de tramo).5 trazas por segundo por Agent (nulo, si se definen reglas)
manualEn el códigoAnulación de decisión en código para mantener/descartar un tramo y sus secundarios.nulo
analyticsAgent y bibliotecas de rastreoMecanismo de ingesta obsoleto que muestrea tramos únicos sin la traza completa.nulo

Además, otros productos pueden ser responsables del volumen de tramos muestreados:

  • synthetics y synthetics-browser: las pruebas de API y de navegador están conectadas a la traza generada por la prueba.
  • rum: las solicitudes de las aplicaciones web y móviles se vinculan a las trazas backend correspondientes.
  • lambda y xray: trazas generadas a partir de funciones de AWS Lambda instrumentada con bibliotecas de X-Ray o Datadog.

Más información sobre los motivos de ingesta en la documentación sobre Mecanismos de ingesta.

Leer más

Additional helpful documentation, links, and articles: