Compartir vía


Muestreo en Application Insights de Azure Monitor con OpenTelemetry

Application Insights incluye un sampler personalizado e se integra con OpenTelemetry para reducir el volumen de telemetría, reducir los costos y conservar los datos de diagnóstico que le interesan.

Importante

Para obtener información sobre el muestreo al usar los kits de desarrollo de software (SDK) de la API clásica de Application Insights, consulte Muestreo de API clásica.

Prerrequisitos

Antes de continuar, asegúrese de que tiene:

¿Por qué importa el muestreo?

El muestreo es esencial para las aplicaciones que generan grandes cantidades de telemetría. Sin muestreo, la ingesta excesiva de datos puede aumentar los costos de almacenamiento y procesamiento y hacer que Application Insights limite la telemetría. El muestreo eficaz mantiene suficientes datos para diagnósticos significativos al controlar el costo.

El muestreo no está habilitado de forma predeterminada en distribuciones openTelemetry de Application Insights. Debe habilitar y configurar explícitamente el muestreo para administrar el volumen de telemetría.

Nota:

Si ve cargos inesperados o costos elevados en Application Insights, esta guía puede ayudarle. Abarca causas comunes, como un gran volumen de telemetría, picos de ingesta de datos y muestreo mal configurado. Es especialmente útil si está solucionando problemas relacionados con los picos de costos, el volumen de telemetría, el muestreo no funciona, los límites de datos, la ingesta alta o la facturación inesperada. Para empezar, consulte Solución de problemas de ingesta de datos elevados en Application Insights.

Sampler personalizado de Application Insights

La distribución basada en OpenTelemetry de Azure Monitor incluye un sampler personalizado.

  • Application Insights se basa en este muestreador para mostrarle trazas completas y evitar las rotas.
  • Live Metrics y los SDK de API clásicas de Application Insights requieren este muestreador para compatibilidad.

Opciones de muestreo

Application Insights admite dos estrategias de muestreo:

  • Tasa fija (porcentaje): Establezca una relación de muestreo entre 0 y 1.

    Ejemplo: 0.1 envía aproximadamente 10% de seguimientos a Azure Monitor.

  • Limitado por tasa: Fije un límite máximo de trazas por segundo.

    Ejemplo: 0.5 ≈ un seguimiento cada dos segundos; 5.0 = cinco seguimientos por segundo.

Hay disponible una característica opcional de muestreo basado en trazas para logs para los idiomas admitidos, que descarta los logs vinculados a trazas no muestreadas. Esta característica está activada de forma predeterminada si el muestreo está habilitado.

Para configurar el muestreo, consulte Habilitación del muestreo en Application Insights con OpenTelemetry.

Ventajas del sampler personalizado

  • Reduce las trazas rotas y contribuye a proporcionar decisiones de muestreo estables.
  • Mantiene la compatibilidad con Live Metrics y se puede usar junto con los SDK clásicos.

Para obtener información más detallada y muestreo de casos perimetrales, consulte Preguntas más frecuentes.

Guía general de muestreo

Use las siguientes instrucciones generales si no está seguro de dónde empezar.

El muestreo de ingesta es una solución alternativa cuando el control a nivel de origen no es posible. Descarta los datos en el punto de ingesta de Azure Monitor y no ofrece ningún control sobre qué seguimientos e intervalos se conservan. Esto aumenta la probabilidad de encontrar rastros rotos.

Entre los escenarios en los que es la única opción viable o más práctica se incluyen:

  • No se puede modificar el código fuente de la aplicación.
  • Debe reducir el volumen de telemetría inmediatamente sin volver a implementar aplicaciones.
  • Recibe telemetría de varios orígenes con configuraciones de muestreo incoherentes o desconocidas.

Para configurar el muestreo de ingesta:

  1. Vaya aUso y costos estimados de >.
  2. Seleccione Muestreo de datos.
  3. Elija el porcentaje de datos que se van a conservar.

Validar que el muestreo está habilitado

Use una consulta de Log Analytics para buscar la frecuencia de muestreo.

union requests,dependencies,pageViews,browserTimings,exceptions,traces
| where timestamp > ago(1d)
| summarize RetainedPercentage = 100/avg(itemCount) by bin(timestamp, 1h), itemType

Si ve que RetainedPercentage para cualquier tipo es inferior a 100, ese tipo de telemetría está siendo muestreado.

Establecimiento de un límite diario

Establezca un límite diario para evitar costos inesperados. Este límite detiene la ingesta de telemetría cuando alcanza el umbral.

Use este límite como control de último recurso, no como reemplazo del muestreo. Un aumento repentino del volumen de datos puede desencadenar el límite, creando una brecha en la telemetría hasta que se restablece el día siguiente.

Para configurar el límite, consulte Establecimiento de un límite diario para Azure Monitor.

Pasos siguientes