Estruturar consultas do Log Analytics

Concluído

Os administradores criam consultas do Log Analytics a partir de dados armazenados em tabelas dedicadas em um workspace do Log Analytics. Algumas tabelas dedicadas comuns incluem Event, Syslog, Heartbeat e Alert. Ao criar uma consulta KQL (Linguagem de Consulta Kusto), 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 workspace do Log Analytics.

Considerações importantes sobre a estrutura de consulta KQL

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

  • Cada uma de suas fontes de dados e soluções selecionadas armazena seus dados em tabelas dedicadas em seu workspace do Log Analytics.

  • A documentação para cada fonte de dados e solução inclui o nome do tipo de dados que ele 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 (chamados de 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 requerem dados apenas de uma única tabela, mas outras consultas podem usar várias opções e incluir dados de várias tabelas.

Exemplos de consulta de log KQL

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

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

type event severidade 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 localizar outros operadores e exemplos, examine: Analisar dados de monitoramento com a Linguagem de Consulta Kusto – Treinamento | Microsoft Learn.

Contar o número de itens

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

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

StormEvent | count

Resultados da consulta:

count
5

Retornar o primeiro número de itens

Use o operador top para ver os primeiros N registros de seu conjunto de registros de entrada, classificados por suas 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 event do storm, a gravidade e a duração prevista.

StormEvent | top 3 by event severity duration

Resultados da consulta:

event severidade duration
Freezing rain 1 3 hours
High winds 1 12 hours
Below freezing 2 10 hours

Localizar itens correspondentes

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

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

StormEvent | where event=="snow"

Sua consulta filtra para uma linha na tabela StormEvent:

type event severidade iniciar duration region
Water Snow 3 4:00 PM 01-26-2023 10 hours 1, 2, 4, 5