Share via


Tutorial: gravar uma consulta válida para integrar dados de métricas

Importante

A partir de 20 de setembro de 2023, não será mais possível criar novos recursos do Assistente de Métricas. O serviço Assistente de Métricas será desativado no dia 1º de outubro de 2026.

Neste tutorial, você aprenderá a:

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

Pré-requisitos

Criar um recurso do Assistente de Métricas

Para explorar os recursos do Assistente de Métricas, você precisará para criar um recurso do Assistente de Métricas no portal do Azure para implantar sua instância do Assistente de Métricas.

Requisitos do esquema de dados

O Assistente de Métricas de IA do Azure é um serviço para detecção de anomalias, diagnóstico e análise de séries temporais. Como um serviço da plataforma de IA, ele usa os dados para treinar o modelo usado. O serviço aceita tabelas de dados agregados com as seguintes colunas:

  • Medida (obrigatória): 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 DateTime ou String. Quando essa coluna não for definida, o carimbo de data/hora será designado como a hora de início de cada período de ingestão. Formate o carimbo de data/hora da seguinte maneira: yyyy-MM-ddTHH:mm:ssZ.
  • Dimensão (opcional): uma dimensão é composta por 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 impedir que números excessivos de dimensões sejam processados.

Se você estiver usando fontes de dados como o Azure Data Lake Storage ou Armazenamento de Blobs do Azure, poderá agregar seus dados para alinhá-los 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 SQL do Azure ou o Data Explorer, poderá usar as funções de agregação para agregar dados em seu esquema esperado. Isso ocorre porque essas fontes de dados dão suporte à execução de uma consulta para obter dados de métricas das fontes.

Como funciona a ingestão de dados no Assistente de Métricas?

Ao integrar suas métricas no Assistente de Métricas, geralmente há duas maneiras:

  • Agregue previamente suas métricas para o esquema esperado e armazene dados em determinados arquivos. Preencha o modelo de caminho durante a integração e o Assistente de Métricas obterá continuamente novos arquivos do caminho e executará a detecçã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 de que você precisa para confirmar que está construindo corretamente sua consulta. Este artigo ensinará como escrever uma consulta válida para carregar dados de métrica conforme o esperado.

O que é um intervalo?

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

O Assistente de Métricas captura continuamente os dados de métricas em cada intervalo de tempo, e o intervalo é igual à granularidade das métricas. A cada vez, o assistente de métricas executa a consulta que você gravou para ingerir 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 de métrica existentes no banco de dado, mas precisa limitar o resultado a um único intervalo.

Illustration that describes what is an interval

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.

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

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

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

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

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

É um caso comum que existam muitas colunas em fontes de dados de clientes, no entanto, nem todas elas fazem sentido ser 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 Market SO do dispositivo Categoria ... Medida1 Medida2 Medida3
2020-09-18T12:23:22Z Nova Iorque iOS Óculos escuros ... 43242 322 54546
2020-09-18T12:27:34Z Pequim Android Malas ... 3333 126 67677
...

Se o cliente quiser monitorar “Medida1” em granularidade por hora e escolher “Mercado” e “Categoria” como dimensões, veja abaixo os exemplos de como usar corretamente as 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)
    

Observação

No caso acima, o cliente gostaria de monitorar as métricas em uma granularidade por hora, mas o carimbo de data/hora bruto (TS) não está alinhado. Na 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 denominada “NewTS”.

Erros comuns durante a integração

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

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

    Screenshot that shows multiple timestamp values returned

    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 a ingestão de dados funciona no Assistente de Métricas? e entenda que o Orientador de métrica captura dados de métricas em cada intervalo de métricas. Em seguida, verifique se usa @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á diretrizes e exemplos detalhados.

  • Erro: valores de métrica duplicados são encontrados na mesma combinação de dimensão dentro de um intervalo de métrica

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

    Screenshot that shows duplicate values returned

    Confira Usar funções de agregação para agregar métricas para obter orientações e exemplos detalhados.

Próximas etapas

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