Tutorial: Escritura de una consulta válida para incorporar datos de métricas

Importante

A partir del 20 de septiembre de 2023, no podrá crear nuevos recursos de Metrics Advisor. El servicio Metrics Advisor se va a retirar el 1 de octubre de 2026.

En este tutorial, aprenderá a:

  • Escritura de una consulta de incorporación de datos válida
  • Errores comunes y cómo evitarlos

Requisitos previos

Creación de un recurso de Metrics Advisor

Para explorar las funcionalidades de Metrics Advisor, es posible que tenga que crear un recurso de Metrics Advisor en Azure Portal para implementar la instancia de Metrics Advisor.

Requisitos del esquema de datos

Metrics Advisor de Azure AI es un servicio de detección, diagnóstico y análisis de anomalías de serie temporal. Como servicio basado en IA, utiliza los datos para entrenar el modelo usado. El servicio acepta tablas de datos agregados con las columnas siguientes:

  • Medida (obligatorio): una medida es un término fundamental o específico de unidad y un valor cuantificable de la métrica. Significa que una o varias columnas contienen valores numéricos.
  • Timestamp (Marca de tiempo) (opcional): cero o una columna del tipo DateTime o String. Cuando esta columna no está establecida, la marca de tiempo se establece como la hora de inicio de cada período de ingesta. Formatee la marca de tiempo de la siguiente manera: yyyy-MM-ddTHH:mm:ssZ.
  • Dimensión (opcional): una dimensión es uno o más valores de categorías. La combinación de esos valores identifica una serie temporal univariante concreta (por ejemplo, país/región, idioma e inquilino). Las columnas de dimensión pueden ser de cualquier tipo de datos. Tenga cuidado al trabajar con grandes volúmenes de columnas y valores si desea evitar que se procese un número excesivo de dimensiones.

Si usa orígenes de datos como Azure Data Lake Storage o Azure Blob Storage, puede agregar los datos para alinearlos con el esquema de métricas previsible. Esto se debe a que estos orígenes de datos usan un archivo como entrada de métricas.

Si usa orígenes de datos como Azure SQL o Azure Data Explorer, puede usar funciones de agregación para agregar datos al esquema previsible. Esto se debe a que estos orígenes de datos admiten la ejecución de una consulta para obtener datos de métricas de los orígenes.

¿Cómo funciona la ingesta de datos en Metrics Advisor?

Por lo general, hay dos maneras de incorporar las métricas a Metrics Advisor:

  • Agregue previamente las métricas en el esquema esperado y almacene los datos en determinados archivos. Rellene la plantilla de ruta de acceso durante la incorporación y Metrics Advisor capturará continuamente nuevos archivos desde la ruta de acceso y realizará la detección en las métricas. Se trata de una práctica común para un origen de datos como Azure Data Lake y Azure Blob Storage.
  • Si va a ingerir datos desde orígenes de datos como Azure SQL Server, Azure Data Explorer u otros orígenes, que admiten el uso de un script de consulta, entonces necesita asegurarse de que está construyendo correctamente la consulta. En este artículo se le enseñará a escribir una consulta válida para incorporar datos de métricas según lo previsto.

¿Qué es un intervalo?

Las métricas deben supervisarse con una granularidad determinada según los requisitos empresariales. Por ejemplo, los indicadores clave de rendimiento (KPI) empresariales se supervisan con granularidad diaria. Sin embargo, las métricas de rendimiento del servicio a menudo se supervisan en granularidad por minuto/hora. Por lo tanto, la frecuencia para recopilar datos de métricas de los orígenes es diferente.

Metrics Advisor captura continuamente datos de métricas en cada intervalo de tiempo, el intervalo es igual a la granularidad de las métricas. Cada vez que Metrics Advisor ejecuta la consulta que ha escrito, ingiere datos en este intervalo específico. En función de este mecanismo de ingesta de datos, el script de consulta no debe devolver todos los datos de métricas que existen en la base de datos, pero debe limitar el resultado a un intervalo único.

Illustration that describes what is an interval

Escritura de una consulta válida

Use @IntervalStart and @IntervalEnd to limit query results

Para ayudar a lograrlo, se proporcionan dos parámetros para que los use dentro de la consulta: @IntervalStart e @IntervalEnd.

Cada vez que se ejecuta la consulta, @IntervalStart y @IntervalEnd se actualizarán automáticamente a la marca de tiempo del intervalo más reciente y obtiene los datos de métricas correspondientes. @IntervalEnd siempre se asigna como granularidad @IntervalStart + 1.

Este es un ejemplo del uso adecuado de estos dos parámetros con Azure SQL Server:

SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;

Al escribir el script de consulta de esta manera, las marcas de tiempo de las métricas deben estar en el mismo intervalo para cada resultado de la consulta. Metrics Advisor alineará automáticamente las marcas de tiempo con la granularidad de las métricas.

Uso de funciones de agregación para agregar métricas

Es habitual que haya muchas columnas dentro de los orígenes de datos de los clientes; sin embargo, no tiene sentido que todas ellas se supervisen o incluyan como una dimensión. Los clientes pueden usar funciones de agregación para agregar métricas y solo incluir columnas significativas como dimensiones.

A continuación se muestra un ejemplo en el que hay más de diez columnas en el origen de datos de un cliente, pero solo algunas de ellas son significativas y deben incluirse en una métrica que se va a supervisar y agregarse a esta.

TS Mercado Sistema operativo del dispositivo Category Medida1 Medida2 Medida3
2020-09-18T12:23:22Z Nueva York iOS Gafas 43242 322 54546
2020-09-18T12:27:34Z Beijing Android Bolsas 3333 126 67677

Si el cliente desea supervisar "Medida1" con granularidad por hora y elegir "Mercado" y "Categoría" como dimensiones, a continuación se muestran ejemplos de cómo hacer un uso adecuado de las funciones de agregación para lograrlo:

  • Ejemplo de SQL:

        SELECT dateadd(hour, datediff(hour, 0, TS),0) as NewTS
        ,Market
        ,Category
        ,sum(Measure1) as M1
        FROM [dbo].[SampleTable] where TS >= @IntervalStart and TS < @IntervalEnd
        group by Market, Category, dateadd(hour, datediff(hour, 0, TS),0)
    
  • Ejemplo de Azure Data Explorer:

        SampleTable
        | where TS >= @IntervalStart and TS < @IntervalEnd
        | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
    

Nota

En el caso anterior, al cliente le gustaría supervisar las métricas con una granularidad horaria, pero la marca de tiempo (TS) sin procesar no está alineada. Dentro de la instrucción de agregación, se requiere un proceso en la marca de tiempo para alinearse con la hora y generar una nueva columna de marca de tiempo denominada "NewTS".

Errores comunes durante la incorporación

  • Error: Se encuentran varios valores de marca de tiempo en los resultados de la consulta

    Se trata de un error común, si no ha limitado los resultados de la consulta en un intervalo. Por ejemplo, si está supervisando una métrica con una granularidad diaria, recibirá este error si la consulta devuelve resultados como este:

    Screenshot that shows multiple timestamp values returned

    Hay varios valores de marca de tiempo y no están en el mismo intervalo de métricas (un día). Consulte Funcionamiento de la ingesta de datos en Metrics Advisor y comprenda que Metrics Advisor captura datos de métricas en cada intervalo de métricas. A continuación, asegúrese de usar @IntervalStart e @IntervalEnd en la consulta para limitar los resultados en un intervalo. Consulte Use @IntervalStart and @IntervalEnd to limit query results para obtener ejemplos y una guía detallada.

  • Error: Los valores de métrica duplicados se encuentran en la misma combinación de dimensiones dentro de un intervalo de métricas

    Dentro de un intervalo, Metrics Advisor espera solo un valor de métrica para las mismas combinaciones de dimensiones. Por ejemplo, si está supervisando una métrica con una granularidad diaria, recibirá este error si la consulta devuelve resultados como este:

    Screenshot that shows duplicate values returned

    Consulte Uso de funciones de agregación para agregar métricas para obtener instrucciones detalladas y ejemplos.

Pasos siguientes

Pase al siguiente artículo, donde aprenderá a crear.