Partilhar via


Tutorial: Escrever uma consulta válida para dados de métricas integrados

Importante

A partir de 20 de setembro de 2023, você não poderá criar novos recursos do Consultor de Métricas. O serviço de Consultor de Métricas será desativado no dia 1º de outubro de 2026.

Neste tutorial, irá aprender a:

  • Como escrever uma consulta de integração de dados válida
  • Erros comuns e como evitá-los

Pré-requisitos

Criar um recurso do Consultor de Métricas

Para explorar os recursos do Metrics Advisor, talvez seja necessário criar um recurso do Metrics Advisor no portal do Azure para implantar sua instância do Metrics Advisor.

Requisitos do esquema de dados

O Azure AI Metrics Advisor é um serviço para deteção, diagnóstico e análise de anomalias de séries cronológicas. Como um serviço alimentado por IA, ele usa seus dados para treinar o modelo usado. O serviço aceita tabelas de dados agregados com as seguintes colunas:

  • Medida (obrigatório): Uma medida é um termo fundamental ou específico da unidade e um valor quantificável da métrica. Significa uma ou mais colunas contendo valores numéricos.
  • Carimbo de data/hora (opcional): zero ou uma coluna, com o tipo de DateTime ou String. Quando esta coluna não está definida, o carimbo de data/hora é definido como a hora de início de cada período de ingestão. Formate o carimbo de data/hora da seguinte forma: yyyy-MM-ddTHH:mm:ssZ.
  • Dimensão (opcional): Uma dimensão é um ou mais valores categóricos. A combinação desses valores identifica uma série temporal univariada específica (por exemplo, país/região, idioma e locatário). As colunas de dimensão podem ser de qualquer tipo de dados. Tenha cuidado ao trabalhar com grandes volumes de colunas e valores, para evitar que um número excessivo de dimensões seja processado.

Se você estiver usando fontes de dados como o Armazenamento Azure Data Lake ou o Armazenamento de Blobs do Azure, poderá agregar seus dados para alinhar com o esquema de métricas esperado. Isso ocorre porque essas fontes de dados usam um arquivo como entrada de métricas.

Se você estiver usando fontes de dados como o Azure SQL ou o Azure Data Explorer, poderá usar funções de agregação para agregar dados ao esquema esperado. Isso ocorre porque essas fontes de dados oferecem suporte à execução de uma consulta para obter dados de métricas de fontes.

Como funciona a ingestão de dados no Metrics Advisor?

Ao integrar suas métricas ao Consultor de Métricas, geralmente há duas maneiras:

  • Pré-agregar suas métricas no esquema esperado e armazenar dados em determinados arquivos. Preencha o modelo de caminho durante a integração e o Consultor de Métricas pegará continuamente novos arquivos do caminho e executará a deteção nas métricas. Essa é uma prática comum para uma fonte de dados como o Azure Data Lake e o Armazenamento de Blobs do Azure.
  • Se você estiver ingerindo dados de fontes de dados como o Azure SQL Server, o Azure Data Explorer ou outras fontes, que dão suporte ao uso de um script de consulta, você precisa ter certeza de que está construindo corretamente sua consulta. Este artigo ensinará como escrever uma consulta válida para integrar dados métricos conforme o esperado.

O que é um intervalo?

As métricas precisam ser monitoradas em uma certa granularidade de acordo com os requisitos de negócios. Por exemplo, os indicadores-chave de desempenho (KPIs) de negócios são monitorados com granularidade diária. No entanto, as métricas de desempenho do serviço geralmente são monitoradas com granularidade minuto/hora. Portanto, a frequência para coletar dados métricos de fontes é diferente.

O Consultor de Métricas captura continuamente dados de métricas em cada intervalo de tempo, o intervalo é igual à granularidade das métricas. Sempre que o Consultor de Métricas executa a consulta que você escreveu, ingere dados nesse intervalo específico. Com base nesse mecanismo de ingestão de dados, o script de consulta não deve retornar todos os dados métricos existentes no banco de dados, mas precisa limitar o resultado a um único intervalo.

Ilustração que descreve o que é um intervalo

Como escrever uma consulta válida?

Use @IntervalStart and @IntervalEnd to limit query results

Para ajudar a conseguir isso, dois parâmetros foram fornecidos para uso na consulta: @IntervalStart e @IntervalEnd.

Sempre que a consulta for executada, @IntervalStart será @IntervalEnd automaticamente atualizada para o carimbo de data/hora do intervalo mais recente e obterá os dados de métricas correspondentes. @IntervalEnd é sempre atribuído como @IntervalStart granularidade + 1.

Aqui está um exemplo de uso adequado desses dois parâmetros com o SQL Server do Azure:

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

Ao escrever o script de consulta dessa maneira, os carimbos de data/hora das métricas devem cair no mesmo intervalo para cada resultado da consulta. O Consultor de Métricas alinhará automaticamente os carimbos de data/hora com a granularidade das métricas.

Usar funções de agregação para agregar métricas

É um caso comum que existem muitas colunas dentro das fontes de dados dos clientes, no entanto, nem todas fazem sentido para serem monitoradas ou incluídas como uma dimensão. Os clientes podem usar funções de agregação para agregar métricas e incluir apenas colunas significativas como dimensões.

Abaixo está um exemplo em que há mais de 10 colunas na fonte de dados de um cliente, mas apenas algumas delas são significativas e precisam ser incluídas e agregadas em uma métrica a ser monitorada.

TS Comercializar SO do dispositivo Categoria ... Medida1 Medida2 Medida3
2020-09-18T12:23:22Z Nova Iorque iOS Óculos de sol ... 43242 322 54546
2020-09-18T12:27:34Z Pequim Android Sacos ... 3333 126 67677
...

Se o cliente quiser monitorar 'Medida1' em granularidade horária e escolher 'Mercado' e 'Categoria' como dimensões, abaixo estão exemplos de como fazer uso adequado das funções de agregação para conseguir isso:

  • Exemplo 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)
    
  • Exemplo do Azure Data Explorer:

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

Nota

No caso acima, o cliente gostaria de monitorar as métricas em uma granularidade horária, mas o carimbo de data/hora bruto (TS) não está alinhado. Dentro da instrução de agregação, um processo no carimbo de data/hora é necessário para alinhar na hora e gerar uma nova coluna de carimbo de data/hora chamada 'NewTS'.

Erros comuns durante a integração

  • Erro: Vários valores de carimbo de data/hora são encontrados nos resultados da consulta

    Este é um erro comum, se você não tiver limitado os resultados da consulta dentro de um intervalo. Por exemplo, se você estiver monitorando uma métrica em uma granularidade diária, obterá esse erro se sua consulta retornar resultados como este:

    Captura de tela que mostra vários valores de carimbo de data/hora retornados

    Há vários valores de carimbo de data/hora e eles não estão no mesmo intervalo de métricas (um dia). Verifique Como funciona a ingestão de dados no Metrics Advisor e entenda que o Metrics Advisor captura dados de métricas em cada intervalo de métricas. Em seguida, certifique-se de usar @IntervalStart e @IntervalEnd em sua consulta para limitar os resultados dentro de um intervalo. Verifique Use @IntervalStart and @IntervalEnd to limit query results se há orientações e amostras detalhadas.

  • Erro: Valores de métricas duplicados são encontrados na mesma combinação de dimensões dentro de um intervalo métrico

    Dentro de um intervalo, o Metrics Advisor espera apenas um valor de métricas para as mesmas combinações de dimensões. Por exemplo, se você estiver monitorando uma métrica em uma granularidade diária, obterá esse erro se sua consulta retornar resultados como este:

    Captura de tela que mostra valores duplicados retornados

    Consulte Usar funções de agregação para agregar métricas para obter orientações e amostras detalhadas.

Próximos passos

Avance para o próximo artigo para saber como criar.