Control del volumen de ingesta con rastreo distribuido de APM

Descripción general

La página de control de ingesta proporciona visibilidad granular de la configuración de ingesta para todos los servicios, en el agente y en los SDKs. Todos los Mecanismos de ingesta están documentados públicamente y son configurables.

Con la página de control de ingesta, usted tiene visibilidad total y control completo de su volumen de tramos. En consecuencia, usted puede:

  • Ingerir los datos que son más relevantes para su negocio y sus objetivos de observabilidad.
  • Reducir los costos de red evitando enviar datos de trazas no utilizados a la plataforma de Datadog.
  • Controlar y gestionar sus costos generales.

Efectos de reducir el volumen de ingesta de trazas

Muestreo de ingesta de APM que muestra el 25 por ciento de las trazas completas ingeridas

Si decide reducir el volumen de ingesta para ciertos servicios, las métricas de solicitudes, errores y latencia (conocidas como métricas RED, por sus siglas en inglés de Requests, Errors, and Duration) permanecen 100% precisas, 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 adquirir Datadog APM. Para asegurarse de tener visibilidad total del tráfico de su aplicación, puede usar estas métricas para detectar posibles errores en un servicio o recurso, mediante la creación de paneles de control, monitores y SLOs.

Nota: Si sus aplicaciones y servicios están instrumentados con bibliotecas de OpenTelemetry y configura el muestreo a nivel de SDK y/o a nivel de colector, las métricas de APM se basan en el conjunto de datos muestreado de forma predeterminada. Consulte Muestreo de ingesta con OpenTelemetry para obtener más información.

Para calcular las métricas de APM a partir de datos de OpenTelemetry no muestreados, coloque el span_metrics connector antes de cualquier procesador de muestreo. El Datadog Connector logra el mismo resultado en configuraciones existentes. Para obtener más información, consulte Muestreo de ingesta con OpenTelemetry.

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. Para servicios de alto rendimiento, generalmente no es necesario que recopile cada solicitud: un problema lo suficientemente importante siempre debería mostrar síntomas en múltiples trazas. Ingestion Control le ayuda a tener la visibilidad que necesita para solucionar problemas mientras se mantiene dentro del presupuesto.

Métricas de tramos

Las métricas de tramos se basan en tramos ingeridos.

Reducir las tasas de muestreo de ingesta afectará a cualquier métrica de tipo recuento. Las métricas de tipo Distribución, por ejemplo las medidas duration, no se ven afectadas ya que el muestreo es mayormente uniforme, la distribución de las 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étricas basados en métricas trace.__ seguirán siendo precisos, porque estas métricas se calculan en función del 100% del tráfico.

Los monitores Trace analytics basados en recuentos también se ven afectados. Verifique si tiene monitores de análisis de trazas creados buscando monitores type:trace-analytics en la página de administración de monitores.

Evalúe la configuración de ingesta de sus servicios

Para evaluar el estado actual de la instrumentación de las aplicaciones, aproveche la Trace Ingestion Control page que proporciona información detallada sobre la configuración del agente y del SDK.

Comprender si se encuentra dentro de su asignación mensual de ingesta

Utilice el KPI de uso mensual de ingesta para obtener una estimación de su uso en comparación con la asignación mensual de 150 GB de tramos ingeridos por servidor APM (sumado en todos los servidores APM).

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

Investigación avanzada de uso de APM

La configuración de ingesta se puede investigar para cada servicio. Haga clic en una fila de servicio para ver el Resumen de Ingesta del Servicio, que muestra:

También hay disponible un panel de control listo para usar para obtener más información sobre las tendencias históricas relacionadas con el uso y el volumen de su ingesta. Clone este panel de control para poder editar widgets y realizar análisis adicionales.

Reduzca su volumen de ingesta

Identifique los servicios responsables de la mayor parte del volumen de ingesta

Para identificar qué servicios son responsables de la mayor parte del volumen de ingesta, ordene la tabla por Downstream Bytes/s. Esta columna le permite detectar qué servicios toman la mayoría de las decisiones de muestreo, lo que también afecta a los servicios descendentes.

Si el servicio está iniciando la traza, Bytes/s descendentes también abarca el volumen de tramos provenientes de servicios descendentes para los cuales el servicio tomó la decisión de muestreo.

La columna Traffic Breakdown ofrece una buena indicación de la configuración de muestreo del servicio.

Si el servicio tiene una tasa alta de bytes/s descendentes y una tasa de muestreo alta (que se muestra como la sección rellena de azul de la columna de desglose de tráfico), se espera que reducir la tasa de muestreo para este servicio tenga un gran impacto en el volumen de ingesta.

Muestreo de ingesta de APM que muestra el 99 por ciento de las trazas completas ingeridas, lo que significa que no hay muestreo

Configure globalmente la tasa de muestreo de ingesta a nivel del Agent

La columna Configuration le indica si sus servicios están configurados con reglas de muestreo o no. Si los servicios principales están etiquetados con la configuración AUTOMATIC, cambiar la configuración del Agent reducirá el volumen globalmente en todos los servicios.

Para reducir el volumen de ingesta a nivel del Agent, configure DD_APM_TARGET_TPS (establecido en 10 de forma predeterminada) para reducir la proporción del volumen de muestreo basado en el inicio. Lea más sobre el mecanismo de muestreo predeterminado.

Nota: Esta opción de configuración solo entra en vigor cuando se utilizan Datadog SDKs. Si la ingesta de OTLP en el Agent recopila datos de aplicaciones instrumentadas con OpenTelemetry, modificar DD_APM_TARGET_TPS no cambia las tasas de muestreo que se aplican en los SDKs.

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

  • Configure DD_APM_ERROR_TPS para reducir la proporción de muestreo de errores.
  • Establezca DD_APM_DISABLE_RARE_SAMPLER en true para detener el muestreo de trazas poco frecuentes.

Configure de forma independiente la tasa de muestreo de ingesta para los servicios a nivel de biblioteca

Al configurar las tasas de muestreo para algunos servicios de alto rendimiento, se puede reducir la mayor parte del volumen de ingesta “excedente”.

Haga clic en un servicio para visualizar el Service Ingestion Summary. Observe el Ingestion reasons breakdown en el panel lateral, que ofrece una descripción general de la proporción del volumen de ingesta atribuida a cada mecanismo.

Si la razón principal de la mayor parte del volumen de ingesta es el muestreo basado en el inicio (auto o rule), el volumen se puede configurar estableciendo una regla de muestreo a nivel de SDK.

Haga clic en el botón Manage Ingestion Rate para configurar una tasa de muestreo para el servicio. Seleccione el idioma del servicio y la tasa de muestreo de ingesta que desea aplicar.

Nota: Es necesario volver a implementar la aplicación para aplicar los cambios de configuración. Datadog recomienda aplicar los cambios configurando variables de entorno.

Muestreo de trazas con OpenTelemetry

Si sus aplicaciones y servicios están instrumentados con bibliotecas de OpenTelemetry y está utilizando el colector de OpenTelemetry, puede utilizar las siguientes capacidades de muestreo de OpenTelemetry:

El uso de cualquiera de las dos opciones da como resultado métricas de APM muestreadas.

Glosario de motivos de ingesta

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

El mecanismo predeterminado para muestrear trazas es el muestreo basado en el encabezado. La decisión de muestrear o no una traza se toma al principio de su ciclo de vida y se propaga hacia abajo en el contexto de las solicitudes para garantizar que siempre pueda visualizar y analizar trazas completas.

El muestreo basado en el encabezado se puede configurar en los SDK o desde el Datadog Agent:

motivo de ingestaDóndeDescripción del mecanismo de ingestaPredeterminado
autoAgentEl Datadog Agent distribuye las tasas de muestreo a los SDK.10 trazas por segundo por Agent
ruleBibliotecas de rastreoEl porcentaje de muestreo definido por las bibliotecas para servicios específicos.null

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

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

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 aplicaciones web y móviles están vinculadas a las trazas de backend correspondientes.
  • lambda y xray: Trazas generadas a partir de funciones AWS lambda instrumentadas con bibliotecas de X-Ray o Datadog.

Lea más sobre los motivos de ingesta en la documentación de Mecanismos de Ingesta.

Lecturas adicionales