Análise de padrões - CloudWatch Registros da Amazon

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. numberMostra 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
  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  2. 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.

  3. Remova a linha | limit 20 da caixa de consulta para que a consulta fique assim:

    fields @timestamp, @message, @logStream, @log | sort @timestamp desc
  4. No menu suspenso Selecionar grupos de logs, escolha um ou mais grupos de logs para consultar.

  5. (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.

  6. 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.

  7. Escolha a guia Padrões.

  8. 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. numberMostra 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.

  9. 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
  10. 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.

  11. 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 como INFO 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 adicionamos pattern porque uma consulta não será válida se incluir um comando pattern após um comando sort. É válido ter um pattern antes de um sort.

    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 comando pattern.

  • Você pode incluir o comando filter antes de um comando pattern 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, use pattern @fieldname.

  • Consultas com saídas que não são logs, como consultas com o comando stats, não retornam resultados de padrões.