As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Análise de padrões
CloudWatch O Logs Insights usa algoritmos de aprendizado de máquina para encontrar padrões quando você consulta seus registros. Um padrão é uma estrutura de texto compartilhada que se repete nos campos do log. Ao visualizar os resultados de uma consulta, você pode escolher a guia Padrões para ver os padrões que o CloudWatch Logs encontrou com base em uma amostra dos seus resultados. Ou então, você pode acrescentar o comando pattern
ao final da consulta para analisar os padrões em todo o conjunto de eventos de log correspondentes.
Os padrões são úteis para analisar grandes conjuntos de logs porque um grande número de eventos de log geralmente pode ser resumido a apenas alguns padrões.
Considere o exemplo dos três eventos de log a seguir.
2023-01-01 19:00:01 [INFO] Calling DynamoDB to store for resource id 12342342k124-12345 2023-01-01 19:00:02 [INFO] Calling DynamoDB to store for resource id 324892398123-12345 2023-01-01 19:00:03 [INFO] Calling DynamoDB to store for resource id 3ff231242342-12345
No exemplo anterior, todos os três eventos de log seguem um único padrão:
<Time-1> [INFO] Calling DynamoDB to store for resource id <ID-2>
Os campos dentro de um padrão são chamados de tokens. Os campos que variam dentro de um padrão, como ID de solicitação ou carimbo de data/hora, são tokens dinâmicos. Cada token dinâmico é representado por<
. string
-number
>string
É uma descrição do tipo de dados que o token representa. number
Mostra onde esse token aparece no padrão, em comparação com os outros tokens dinâmicos.
Exemplos comuns de tokens dinâmicos incluem códigos de erro, registros de data e hora e solicitações. IDs Um valor de token representa um determinado valor de um token dinâmico. Por exemplo, se um token dinâmico representasse um código de erro HTTP, o valor de um token poderia ser 501
.
A detecção de padrões também é usada no detector de anomalias CloudWatch Logs e nos recursos de comparação. Para obter mais informações, consulte Detecção de anomalias de log e Compare (diff) com intervalos de tempo anteriores.
Introdução à análise de padrões
A detecção de padrões é realizada automaticamente em qualquer consulta do CloudWatch Logs Insights. Os resultados das consultas que não incluem o comando pattern
apresentam tanto eventos quando padrões de log.
Se você incluir o comando pattern
em sua consulta, a análise de padrões será realizada em todo o conjunto de eventos de log correspondente. Isso fornece resultados de padrões mais exatos, mas os eventos de log brutos não são retornados quando você usa o comando pattern
. Quando uma consulta não inclui pattern
, os resultados de padrões são baseados nos primeiros 1.000 eventos de log retornados ou no valor limite usado na consulta. Se você incluir pattern
na consulta, os resultados exibidos na guia Padrões serão extraídos de todos os eventos de log que corresponderem à consulta.
Para começar com a análise de padrões no CloudWatch Logs Insights
Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/
. No painel de navegação, escolha Logs, Logs Insights.
Na página Logs Insights (Insights de log), o editor de consultas contém uma consulta padrão que retorna os 20 eventos de log mais recentes.
Remova a linha
| limit 20
da caixa de consulta para que a consulta fique assim:fields @timestamp, @message, @logStream, @log | sort @timestamp desc
No menu suspenso Selecionar grupos de logs, escolha um ou mais grupos de logs para consultar.
(Opcional) Use o seletor de tempo para selecionar o período que você deseja consultar.
Você pode escolher intervalos de 5 minutos, 30 minutos, 1 hora, 3 horas, 12 horas ou um período personalizado.
-
Escolha Executar consulta para iniciar a consulta.
Quando a consulta acaba de ser executada, a guia Logs exibe uma tabela dos eventos de log retornados pela consulta. Acima da tabela, vem uma mensagem sobre quantos registros corresponderam à consulta, como, por exemplo, Mostrando 10.000 dos 71.101 registros encontrados.
Escolha a guia Padrões.
A tabela agora exibe os padrões encontrados na consulta. Como a consulta não incluía o comando
pattern
, essa guia só exibe os padrões descobertos entre os 10.000 eventos de log que foram mostrados na tabela na guia Logs.Para cada padrão, as seguintes informações são exibidas:
O padrão, com cada token dinâmico exibido como
<
.string
-number
>string
É uma descrição do tipo de dados que o token representa.number
Mostra onde esse token aparece no padrão, em comparação com os outros tokens dinâmicos.O número de eventos, que é o número de vezes que o padrão apareceu nos eventos de log consultados. Escolha o cabeçalho de coluna Número de eventos para classificar os padrões por frequência.
A Taxa de eventos, que é a porcentagem dos eventos de log consultados que contém esse padrão.
O Tipo de gravidade, que será um dos seguintes:
ERRO se o padrão contiver a palavra Erro.
AVISO se o padrão contiver a palavra Aviso, mas não contiver Erro.
INFORMAÇÕES se o padrão não contiver nem aviso nem erro.
Escolha o cabeçalho de coluna Informações sobre a gravidade para classificar os padrões por gravidade.
Agora altere a consulta. Substitua a linha
| sort @timestamp desc
da consulta por| pattern @message
, de modo que a consulta completa fique assim:fields @timestamp, @message, @logStream, @log | pattern @message
Selecione Executar consulta.
Quando a consulta termina, não há resultados na guia Logs. Porém, a guia Padrões provavelmente tem um número maior de padrões listados, dependendo do número total de eventos de log que foram consultados.
Independentemente de ter incluído
pattern
na sua consulta, você pode inspecionar melhor os padrões que a consulta retorna. Para fazer isso, escolha o ícone na coluna Inspecionar para um dos padrões.O painel Inspeção de padrões aparece e exibe o seguinte:
O padrão. Selecione um token no padrão para analisar os valores desse token.
Um histograma mostrando o número de ocorrências do padrão no intervalo consultado. Isso pode ajudar a identificar tendências interessantes, como um aumento repentino na ocorrência de um padrão.
A guia Exemplos de log exibe alguns eventos de log que correspondem ao padrão selecionado.
A guia Valores do token exibe os valores do token dinâmico selecionado, se você tiver selecionado um.
nota
No máximo de 10 valores de token são capturados para cada token. A contagem de tokens pode não ser precisa. CloudWatch O Logs usa um contador probabilístico para gerar a contagem de tokens, não o valor absoluto.
A guia Padrões relacionados exibe outros padrões que ocorreram com frequência quase ao mesmo tempo que o padrão que você está inspecionando. Por exemplo, se um padrão para uma mensagem
ERROR
geralmente foi acompanhado por outro evento de log marcado comoINFO
com detalhes adicionais, esse padrão será exibido aqui.
Detalhes sobre o comando de padrão
Esta seção contém mais detalhes sobre o comando pattern
e seus usos.
No tutorial anterior, removemos o comando
sort
quando o adicionamospattern
porque uma consulta não será válida se incluir um comandopattern
após um comandosort
. É válido ter umpattern
antes de umsort
.Para obter detalhes sobre a sintaxe de
pattern
, consulte pattern.Quando você usa
pattern
em uma consulta,@message
deve ser um dos campos selecionados no comandopattern
.Você pode incluir o comando
filter
antes de um comandopattern
para que apenas o conjunto de eventos de log filtrado seja usado como entrada na análise de padrões.Para ver os resultados de padrões para um campo específico, como um campo obtido com o comando
parse
, usepattern @fieldname
.Consultas com saídas que não são logs, como consultas com o comando
stats
, não retornam resultados de padrões.