Estruturar consultas do Log Analytics
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.
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 |