Compartir vía


Métricas en Application Insights

Application Insights admite tres tipos diferentes de métricas: estándar (preagregadas), métricas personalizadas y basadas en registros. Cada uno de estos aporta un valor único en la supervisión del estado, los diagnósticos y el análisis de la aplicación. Los desarrolladores que van a instrumentar aplicaciones pueden decidir qué tipo de métrica es más adecuado para un escenario determinado. Las decisiones se basan en el tamaño de la aplicación, el volumen esperado de los datos de telemetría y los requisitos empresariales de alertas y precisión de las métricas. En este artículo se explica la diferencia entre todos los tipos de métricas admitidos.

Métricas estándar

Las métricas estándar de Application Insights son métricas predefinidas que el servicio recopila y supervisa automáticamente. Estas métricas abarcan una amplia gama de indicadores de rendimiento y uso, como el uso de CPU, el consumo de memoria, las tasas de solicitud y los tiempos de respuesta. Las métricas estándar proporcionan información general completa sobre el estado y el rendimiento de la aplicación sin necesidad de ninguna configuración adicional. Las métricas estándar se agregan previamente durante la recopilación y se almacenan como una serie temporal en un repositorio especializado con solo dimensiones clave, lo que les proporciona un mejor rendimiento en el momento de la consulta. Esto hace que las métricas estándar sean la mejor opción para alertas casi en tiempo real sobre las dimensiones de las métricas y con paneles con mayor capacidad de respuesta.

Métricas basadas en registros

Las métricas basadas en registros en Application Insights son un concepto en tiempo de consulta, representado como una serie temporal sobre los datos de registro de la aplicación. Los registros subyacentes no se agregan previamente en el momento de la recopilación o el almacenamiento y conservan todas las propiedades de cada entrada del registro. Esta retención hace posible usar las propiedades de los registros como dimensiones en las métricas basadas en registros en el momento de la consulta para filtrado de gráficos y división de métricas, lo que confiere a las métricas basadas en registros un valor analítico y de diagnóstico superior. Sin embargo, las técnicas de reducción del volumen de telemetría como el muestreo y el filtrado de telemetría, utilizadas habitualmente con aplicaciones de supervisión que generan grandes volúmenes de telemetría, repercuten en la cantidad de entradas de registro recopiladas y, por tanto, reducen la precisión de las métricas basadas en registros.

Métricas personalizadas (versión preliminar)

Las métricas personalizadas de Application Insights permiten definir y realizar un seguimiento de las medidas específicas que son exclusivas de la aplicación. Estas métricas se pueden crear instrumentando el código para enviar datos de telemetría personalizados a Application Insights. Las métricas personalizadas proporcionan la flexibilidad de supervisar cualquier aspecto de la aplicación que no esté cubierta por las métricas estándar, lo que le permite obtener información más detallada sobre el comportamiento y el rendimiento de la aplicación.

Para más información, consulte Métricas personalizadas en Azure Monitor (versión preliminar).

Nota:

Application Insights también proporciona una característica denominada Live Metrics Stream, que permite la supervisión casi en tiempo real de las aplicaciones web y no almacena datos de telemetría.

Comparación de métricas

Característica Métricas estándar Métricas basadas en registros Métricas personalizadas
Origen de datos Datos de series temporales preagregados recopilados durante el tiempo de ejecución. Derivado de los datos de registro mediante consultas de Kusto. Métricas definidas por el usuario recopiladas a través del SDK o la API de Application Insights.
Granularidad Intervalos fijos (1 minuto). Depende de la granularidad de los propios datos de registro. Granularidad flexible basada en métricas definidas por el usuario.
Precisión Alta, no afectada por el muestreo de registros. Puede verse afectada por el muestreo y el filtrado. Alta precisión, especialmente cuando se usan métodos preagregados como GetMetric.
Costee Se incluye en los precios de Application Insights. En función de los costos de ingesta y consulta de datos de registro. Consulte Modelo de precios y retención.
Configuración Disponible automáticamente con una configuración mínima. Requerir la configuración de las consultas de registro para extraer las métricas deseadas de los datos de registro. Requiere la implementación personalizada y la configuración en el código.
Rendimiento de las consultas Rápido, debido a la agregación previa. Más lento, ya que implica consultar datos de registro. Depende del volumen de datos y de la complejidad de las consultas.
Storage Se almacena como datos de serie temporal en el almacén de métricas de Azure Monitor. Se almacena como registros en el área de trabajo de Log Analytics. Almacenado tanto en Log Analytics como en el almacén de métricas de Azure Monitor.
Alertas Admite alertas en tiempo real. Permite escenarios de alerta complejos basados en datos de registro detallados. Alertas flexibles basadas en métricas definidas por el usuario.
Límite de servicio Sujeto a límites de Application Insights. Sujeto a límites del área de trabajo de Log Analytics. Limitado por la cuota de métricas gratuitas y el costo de dimensiones adicionales.
Casos de uso Supervisión en tiempo real, paneles de rendimiento e información rápida. Diagnóstico detallado, solución de problemas y análisis detallados. Indicadores de rendimiento adaptados y métricas específicas de la empresa.
Ejemplos Uso de CPU, uso de memoria, duración de la solicitud. Recuentos de solicitudes, seguimientos de excepciones y llamadas de dependencia. Métricas personalizadas específicas de la aplicación, como la interacción del usuario, los usos de características.

Agregación de métricas

Los SDK de OpenTelemetry y los SDK de Application Insights más recientes (Classic API) preagregan métricas durante la recopilación para reducir el volumen de datos enviados desde el SDK al punto de conexión del canal de telemetría. Esto se aplica a las métricas estándar enviadas de manera predeterminada, por lo que el muestro y el filtrado no afectan la precisión. También se aplica a las métricas personalizadas enviadas usando la API de OpenTelemetry o GetMetric y TrackValue, lo que resulta en una menor ingesta de datos y un coste inferior. Si la versión del SDK de Application Insights admite GetMetric y TrackValue, es el método preferido para enviar métricas personalizadas.

En el caso de los SDK que no implementan la agregación previa (es decir, las versiones anteriores del SDK de Application Insights o la instrumentación del explorador) el servidor back-end de Application Insights sigue agregando los eventos recibidos por el punto de conexión del canal de telemetría de Application Insights para rellenar las métricas nuevas. En el caso de las métricas personalizadas, puede usar el método trackMetric. Aunque no se beneficie del menor volumen de datos que se transmite a través del cable, podrá seguir usando las métricas agregadas previamente para experimentar un mejor rendimiento y aprovechar la compatibilidad con las alertas dimensionales casi en tiempo real con los SDK que no agregan previamente las métricas durante la recopilación.

El punto de conexión del canal de telemetría preagrega los eventos antes del muestreo de ingesta. Por este motivo, el muestreo de ingesta nunca afecta a la precisión de las métricas agregadas previamente, independientemente de la versión del SDK que use con la aplicación.

En las tablas siguientes se muestra dónde se agrega previamente la agregación.

Agregación de métricas con la distribución de OpenTelemetry de Azure Monitor

SDK de producción actual Agregación de métricas estándar Agregación de métricas personalizadas
ASP.NET Core SDK SDK a través de API de OpenTelemetry
.NET (mediante Exportador) SDK SDK a través de API de OpenTelemetry
Java (3.x) SDK SDK a través de API de OpenTelemetry
Nativo de Java SDK SDK a través de API de OpenTelemetry
Node.js SDK SDK a través de API de OpenTelemetry
Python SDK SDK a través de API de OpenTelemetry

Agregación de métricas con el SDK de Application Insights (Classic API)

SDK de producción actual Agregación de métricas estándar Agregación de métricas personalizadas
.NET Core y .NET Framework SDK (V2.13.1+) SDK (V2.7.2 y versiones posteriores) a través de GetMetric
Punto de conexión del canal de telemetría a través de TrackMetric
Java (2.x) Punto de conexión del canal de telemetría Punto de conexión del canal de telemetría a través de TrackMetric
JavaScript (Explorador) Punto de conexión del canal de telemetría Punto de conexión del canal de telemetría a través de TrackMetric
Node.js Punto de conexión del canal de telemetría Punto de conexión del canal de telemetría a través de TrackMetric
Python Punto de conexión del canal de telemetría SDK a través de OpenCensus.stats (retirado)
Punto de conexión del canal de telemetría a través de TrackMetric

Precaución

Preagregación de métricas con instrución automática

Con la implementación automática, el SDK se agrega automáticamente al código de la aplicación y no se puede personalizar. Para las métricas personalizadas, se requiere instrumentación manual.

SDK de producción actual Agregación de métricas estándar Agregación de métricas personalizadas
ASP.NET Core SDK 1 No compatible
ASP.NET SDK 2 No compatible
Java SDK Compatible 3
Node.js SDK No compatible
Python SDK No compatible

Notas al pie

Dimensiones de métricas personalizadas y agregación previa

Todas las métricas que envíe usando llamadas API de OpenTelemetry, trackMetric, o GetMetric y TrackValue se almacenan automáticamente tanto en el almacén de métricas como en los registros. Estas métricas se pueden encontrar en la tabla customMetrics de Application Insights y en el Explorador de métricas en el espacio de nombres de métricas personalizado denominado azure.applicationinsights. Si bien la versión basada en registros de la métrica personalizada siempre conserva todas las dimensiones, la versión de la métrica agregada previamente se almacena de manera predeterminada sin dimensiones. Conservar dimensiones de métricas personalizadas es una característica en vista previa que se puede activar desde la pestaña Uso y costes estimado seleccionando Con dimensiones en Enviar métricas personalizadas al almacén de métricas de Azure.

Captura de pantalla que muestra el uso y los costos estimados.

Cuotas

Las métricas agregadas previamente se almacenan como series temporales en Azure Monitor. Se aplican cuotas de Azure Monitor sobre métricas personalizadas.

Nota

Superar la cuota podría tener consecuencias imprevistas. Azure Monitor puede dejar de ser confiable en su suscripción o región. Para obtener información sobre cómo evitar superar la cuota, consulte Limitaciones y consideraciones de diseño).

¿Por qué la recopilación de dimensiones de métricas personalizadas está desactivada de forma predeterminada?

La recopilación de dimensiones de métricas personalizadas se desactivó de manera predeterminada porque, en el futuro, el almacenamiento de métricas personalizadas con dimensiones se facturará por separado de Application Insights. El almacenamiento de métricas personalizadas no dimensionales sigue siendo gratuito (hasta una cuota). Para más información sobre los próximos cambios en los modelos de precios, consulte la página de precios oficial.

Creación de gráficos y exploración de métricas

Use el Explorador de métricas de Azure Monitor para trazar los gráficos de las métricas agregadas previamente, basadas en registros y personalizadas, y para crear paneles con gráficos. Después de seleccionar el recurso de Application Insights que desee, use el selector de espacios de nombres para cambiar entre métricas.

Captura de pantalla que muestra el espacio de nombres de métricas.

Modelos de precios para métricas de Application Insights

La ingesta de métricas en Application Insights, tanto si se basa en el registro como si se agrega previamente, genera costos en función del tamaño de los datos ingeridos. Para más información, consulte Detalles de los precios de los registros de Azure Monitor. Las métricas personalizadas, incluidas todas sus dimensiones, siempre se almacenan en el almacén de registros de Application Insights. Además, una versión agregada previamente de las métricas personalizadas sin dimensiones se reenvía al almacén de métricas de manera predeterminada.

Al seleccionar la opción Habilitar la creación de alertas sobre las dimensiones de las métricas personalizadas para almacenar todas las dimensiones de las métricas previamente agregadas en el almacén de métricas, se pueden generar costos adicionales basados en los precios de las métricas personalizadas.

Métricas disponibles

En las secciones siguientes se enumeran las métricas con las agregaciones y dimensiones admitidas. Los detalles sobre las métricas basadas en registros incluyen las instrucciones de consulta de Kusto subyacentes.

Métricas de disponibilidad

Las métricas de la categoría Disponibilidad le permiten ver el estado de la aplicación web, tal y como se observa en los puntos de todo el mundo. Configure las pruebas de disponibilidad para empezar a usar las métricas de esta categoría.

Disponibilidad (availabilityResults/availabilityPercentage)

La métrica Disponibilidad muestra el porcentaje de las series de pruebas web que no detectaron ningún problema. El valor mínimo posible es 0, que indica que se han producido errores en todas las series de pruebas web. El valor de 100 significa que todas las series de pruebas web superaron los criterios de validación.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Porcentaje Avg Run location, Test name

Duración de la prueba de disponibilidad (availabilityResults/duration)

La métrica Duración de la prueba de disponibilidad muestra cuánto tiempo tardó en ejecutarse la prueba web. En el caso de las pruebas web de varios pasos, la métrica refleja el tiempo total de ejecución de todos los pasos.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Run location, Test name, Test result

Pruebas de disponibilidad (availabilityResults/count)

La métrica de las Pruebas de disponibilidad refleja el recuento de las series de pruebas web de Azure Monitor.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Run location, Test name, Test result

Métricas del explorador

El SDK de JavaScript de Application Insights recopila las métricas de explorador de los exploradores de los usuarios finales reales. Proporcionan una gran información sobre la experiencia de los usuarios con la aplicación web. Normalmente, no se muestrean las métricas del explorador, lo que significa que proporcionan una mayor precisión de los números de uso en comparación con las métricas del lado servidor, que podrían sesgarse con el muestreo.

Nota

Para recopilar las métricas del explorador, la aplicación debe estar instrumentada con el SDK de JavaScript para Application Insights.

Tiempo de carga de página del explorador (browserTimings/totalDuration)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Ninguno

Tiempo de procesamiento del cliente (browserTiming/processingDuration)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Ninguno

Tiempo de conexión de red de carga de página (browserTimings/networkDuration)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Ninguno

Tiempo de respuesta de recepción (browserTimings/receiveDuration)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Ninguno

Hora de envío de la solicitud (browserTimings/sendDuration)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Ninguno

Métricas de errores

Las métricas de Errores muestran problemas con el procesamiento de solicitudes, las llamadas de dependencia y las excepciones producidas.

Excepciones de explorador (exceptions/browser)

Esta métrica refleja el número de excepciones producidas a partir del código de aplicación que se ejecuta en el explorador. Solo se incluyen en la métrica las excepciones de las que se realiza un seguimiento con una llamada API de Application Insights trackException().

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role name

Errores de llamada de dependencia (dependencies/failed)

Cantidad de llamadas de dependencia con errores.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Recuento Cloud role instance, Cloud role name, Dependency performance, Dependency type, Is traffic synthetic, Result code, Target of dependency call

Excepciones (exceptions/count)

Cada vez que registra una excepción en Application Insights, se produce una llamada al método trackException() del SDK. La métrica de excepciones muestra la cantidad de excepciones registradas.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role instance, Cloud role name, Device type

Solicitudes con error (requests/failed)

Recuento de solicitudes de servidor de las que se ha realizado un seguimiento y que se marcaron como errores. De forma predeterminada, el SDK de Application Insights marca automáticamente cada solicitud de servidor que devolvió el código de respuesta HTTP 5xx o 4xx como una solicitud con error. Para personalizar esta lógica, puede modificar la propiedad success del elemento de telemetría de la solicitud de un inicializador de telemetría personalizado.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role instance, Cloud role name, Is synthetic traffic, Request performance, Result code

Excepciones del servidor (exceptions/server)

Esta métrica muestra el número de excepciones de servidor.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role instance, Cloud role name

Contadores de rendimiento

Use las métricas de la categoría de Contadores de rendimiento para acceder a los contadores de rendimiento del sistema que recopila Application Insights.

Memoria disponible (performanceCounters/availableMemory)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Megabytes/Gigabytes (dependientes de los datos) Media, máxima, mínima Cloud role instance

Tasa de excepciones (performanceCounters/exceptionRate)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Media, máxima, mínima Cloud role instance

Tiempo de ejecución de la solicitud HTTP (performanceCounters/requestExecutionTime)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Cloud role instance

Frecuencia de solicitudes HTTP (performanceCounters/requestsPerSecond)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Solicitudes por segundo Media, máxima, mínima Cloud role instance

Solicitudes HTTP en la cola de la aplicación (performanceCounters/requestsInQueue)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Media, máxima, mínima Cloud role instance

CPU de proceso (performanceCounters/processCpuPercentage)

La métrica muestra la cantidad de la capacidad total del procesador que usa el proceso que hospeda la aplicación supervisada.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Porcentaje Media, máxima, mínima Cloud role instance

Nota:

El intervalo de la métrica está entre 0 y 100 * n, donde n es el número de núcleos de CPU disponibles. Por ejemplo, el valor de métrica del 200 % podría representar el uso completo de dos núcleos de CPU o la mitad del uso de cuatro núcleos de CPU, y así sucesivamente. Process CPU Normalized es una métrica alternativa que recopilan muchos SDK que representa el mismo valor, pero lo divide por el número de núcleos de CPU disponibles. Por lo tanto, el intervalo de la métrica Process CPU Normalized (Procesar CPU normalizada) es de 0 a 100.

Tasa de E/S del proceso (performanceCounters/processIOBytesPerSecond)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Bytes por segundo Promedio, mín., máx. Cloud role instance

Bytes privados del proceso (performanceCounters/processPrivateBytes)

Cantidad de memoria no compartida que el proceso supervisado asignó para sus datos.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Bytes Promedio, mín., máx. Cloud role instance

Tiempo de procesador (performanceCounters/processorCpuPercentage)

Consumo de CPU de todos los procesos que se ejecutan en la instancia del servidor supervisado.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Porcentaje Promedio, mín., máx. Cloud role instance

Nota

La métrica de tiempo del procesador no está disponible para las aplicaciones hospedadas en Azure App Services. Use la métrica de la CPU de procesos para realizar un seguimiento del uso de la CPU de las aplicaciones web hospedadas en App Services.

Métricas del servidor

Llamadas de dependencia (dependencies/count)

Esta métrica está relacionada con el número de llamadas de dependencia.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role instance, Cloud role name, Dependency performance, Dependency type, Is traffic synthetic, Result code, Successful call, Target of a dependency call

Duración de la dependencia (dependencies/duration)

Esta métrica hace referencia a la duración de las llamadas de dependencia.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Cloud role instance, Cloud role name, Dependency performance, Dependency type, Is traffic synthetic, Result code, Successful call, Target of a dependency call

Tasa de solicitudes del servidor (solicitudes/recuento)

Esta métrica refleja el número de solicitudes de servidor entrantes que recibió la aplicación web.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Recuento por segundo Avg Cloud role instance, Cloud role name, Is traffic synthetic, Request performance Result code, Successful request

Solicitudes de servidor (requests/count)

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role instance, Cloud role name, Is traffic synthetic, Request performance Result code, Successful request

Tiempo de respuesta del servidor (requests/duration)

Esta métrica refleja el tiempo que tardaron los servidores en procesar las solicitudes entrantes.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Cloud role instance, Cloud role name, Is traffic synthetic, Request performance Result code, Successful request

Métricas de uso

Tiempo de carga de la vista de página (pageViews/duration)

Esta métrica hace referencia a la cantidad de tiempo que tardaron en cargarse los eventos de PageView.

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Milisegundos Media, máxima, mínima Cloud role name, Is traffic synthetic

Vistas de página (pageViews/count)

Recuento de eventos de PageView registrados con la API de Application Insights TrackPageView().

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role name, Is traffic synthetic

Seguimientos (traces/count)

Recuento de instrucciones de seguimiento registradas con la llamada API de Application Insights TrackTrace().

Unidad de medida Agregaciones compatibles Dimensiones compatibles
Count Count Cloud role instance, Cloud role name, Is traffic synthetic, Severity level

Métricas personalizadas

No es aplicable a las métricas estándar.

Acceso a métricas basadas en registros directamente con la API de REST de Application Insights

La API de REST de Application Insights permite la recuperación mediante programación de métricas basadas en registros. También incluye un parámetro opcional ai.include-query-payload que, cuando se agrega a una cadena de consulta, pide a la API que devuelva no solo los datos de serie temporal, sino también la instrucción de Kusto Query Language (KQL) que se usa para capturarlos. Este parámetro puede ser especialmente beneficioso para los usuarios que pretenden comprender la conexión entre eventos sin procesar en Log Analytics y la métrica basada en registros resultante.

Para acceder a los datos directamente, pase el parámetro ai.include-query-payload a la API de Application Insights en una consulta mediante KQL.

Nota:

Para recuperar la consulta de registros subyacentes, DEMO_APP y DEMO_KEY no tienen que reemplazarse. Si solo desea recuperar la instrucción KQL y no los datos de serie temporal de su propia aplicación, puede copiarlo y pegarlo directamente en la barra de búsqueda del explorador.

api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload

A continuación se muestra un ejemplo de una instrucción KQL de devolución para la métrica "Usuarios autenticados.” (En este ejemplo, "users/authenticated" es el identificador de métrica).

output
{
    "value": {
        "start": "2024-06-21T09:14:25.450Z",
        "end": "2024-06-21T21:14:25.450Z",
        "users/authenticated": {
            "unique": 0
        }
    },
    "@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}

Pasos siguientes