Estruturar consultas do Log Analytics

Concluído

Os administradores criam consultas do Log Analytics a partir de dados armazenados em tabelas dedicadas em um espaço de trabalho do Log Analytics. Algumas tabelas dedicadas comuns incluem Event, Syslog, Heartbeat e Alert. Ao criar uma consulta KQL (Kusto Query Language), você começa determinando quais tabelas no repositório de Logs do Azure Monitor têm os dados que você está procurando.

A ilustração a seguir destaca como as consultas KQL usam os dados de tabela dedicados para seus serviços e recursos monitorados.

Ilustração que mostra como criar consultas do Log Analytics a partir de dados em tabelas dedicadas em um espaço de trabalho do Log Analytics.

Coisas a saber sobre a estrutura de consulta KQL

Vamos dar uma olhada mais de perto nos dados de tabela dedicados e como estruturar uma consulta de log KQL.

  • Cada uma das fontes de dados e soluções selecionadas armazena seus dados em tabelas dedicadas no espaço de trabalho do Log Analytics.

  • A documentação para cada fonte de dados e solução inclui o nome do tipo de dados que ela cria e uma descrição de cada uma de suas propriedades.

  • A estrutura básica de uma consulta é uma tabela de origem seguida por uma série de comandos (referidos como operadores).

  • Uma consulta pode ter uma cadeia de vários operadores para refinar seus dados e executar funções avançadas.

  • Cada operador em uma cadeia de consulta começa com um caractere |de pipe.

  • Muitas consultas exigem dados de uma única tabela apenas, mas outras consultas podem usar várias opções e incluir dados de várias tabelas.

Exemplos de consulta de log do KQL

Vamos analisar alguns operadores comuns de consulta de log KQL e sintaxe de exemplo.

Podemos criar consultas para pesquisar dados na StormEvent tabela que tem cinco entradas:

tipo evento gravidade iniciar duration region
Water Freezing rain 1 6:00 AM 01-27-2023 3 hours 1, 2
Wind High winds 1 8:00 AM 01-27-2023 12 hours 1, 2, 4, 5
Temperature Below freezing 2 11:00 PM 01-26-2023 10 hours 1, 2, 4, 5
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5
Water Flood warning 2 9:00 AM 01-26-2023 10 hours 3

Para encontrar outros operadores e exemplos, revise: Analise dados de monitoramento com Kusto Query Language - Treinamento | Microsoft Learn.

Contar o número de itens

Use o count operador para descobrir o número de registros em um conjunto de registros de entrada.

O exemplo a StormEvent seguir retorna o número de registros na tabela. Os resultados da consulta revelam que a StormEvent tabela tem cinco entradas.

StormEvent | count

Resultados da consulta:

contagem
5

Devolver o primeiro número de itens

Use o top operador para ver os primeiros registros N do conjunto de registros de entrada, classificados pelas colunas especificadas. As colunas correspondem às propriedades de dados definidas na tabela dedicada.

O exemplo a seguir retorna os três primeiros registros de dados para StormEvent. A tabela de resultados mostra o nome da tempestade event , a gravidade e a duração prevista.

StormEvent | top 3 by event severity duration

Resultados da consulta:

evento gravidade duration
Freezing rain 1 3 hours
High winds 1 12 hours
Below freezing 2 10 hours

Encontrar itens correspondentes

Use o where operador para filtrar sua tabela para o subconjunto de linhas que correspondem ao valor de predicado fornecido. O valor do predicado indica o que procurar na tabela, como em where=="find-this".

O exemplo a seguir filtra os registros de dados para StormEvent usar apenas registros que correspondem a "neve".

StormEvent | where event=="snow"

Sua consulta filtra para uma linha na StormEvent tabela:

tipo evento gravidade iniciar duration region
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5