filtrar - 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á.

filtrar

Use filter para obter eventos de log que correspondam a uma ou mais condições.

Exemplo: Filtrar eventos de log usando uma condição

O trecho de código mostra um exemplo de uma consulta que retorna todos os eventos de log em que o valor de range é maior do que 3000. A consulta limita os resultados a 20 eventos de log e classifica os eventos de registros por @timestamp e em ordem decrescente.

fields @timestamp, @message | filter (range>3000) | sort @timestamp desc | limit 20

Exemplo: Filtrar eventos de log usando mais de uma condição

Você pode usar as palavras-chave and e or para combinar mais de uma condição.

O trecho de código mostra um exemplo de consulta que retorna todos os eventos de log em que o valor de range é maior do que 3.000 e o valor de accountId é igual a 123.456.789.012. A consulta limita os resultados a 20 eventos de log e classifica os eventos de registros por @timestamp e em ordem decrescente.

fields @timestamp, @message | filter (range>3000 and accountId=123456789012) | sort @timestamp desc | limit 20

Correspondências e expressões regulares no comando de filtro

O comando filtrar é compatível com o uso de expressões regulares. Você pode usar os seguintes operadores de comparação (=, !=, <, <=, >, >=) e operadores boolianos (and, or e not).

Você pode usar a palavra-chave in para testar a associação do conjunto e verificar se há elementos em uma matriz. Para verificar elementos em uma matriz, coloque a matriz após in. É possível usar o operador booliano not com in. Você pode criar consultas que usam in para retornar eventos de log nos quais os campos são correspondências de string. Os campos devem ser strings completas. Por exemplo, o trecho de código a seguir mostra uma consulta que usa in para retornar eventos de log nos quais o campo logGroup é a string example_group completa.

fields @timestamp, @message | filter logGroup in ["example_group"]

Você pode usar as frases de palavras-chave like e not like para combinar substrings. Você pode usar o operador de expressão regular =~ para combinar substrings. Para fazer a correspondência de uma substring com like e not like, envolva entre aspas duplas ou simples a substring que deseja corresponder. Você pode usar padrões de expressão regular com like e not like. Para fazer a correspondência de uma substritng com o operador de expressão regular, envolva entre barras a substring a ser correspondida. Os exemplos a seguir contêm trechos de código que mostram como você pode fazer a correspondências de substrings usando o comando filter.

Exemplos: correspondência de substrings

Os exemplos a seguir retornam eventos de log quando f1 contém a palavra Exception. Os três exemplos fazem distinção entre maiúsculas e minúsculas.

O primeiro exemplo faz a correspondência de uma substring com like.

fields f1, f2, f3 | filter f1 like "Exception"

O segundo exemplo faz a correspondência de uma substring com like e um padrão de expressão regular.

fields f1, f2, f3 | filter f1 like /Exception/

O terceiro exemplo faz a correspondência de uma substring com uma expressão regular.

fields f1, f2, f3 | filter f1 =~ /Exception/

Exemplo: fazer a correspondência de substrings com curingas

Você pode usar o símbolo de ponto (.) como um curinga em expressões regulares para fazer a correspondência com substrings. No exemplo a seguir, a consulta retorna correspondências em que o valor de f1 começa com a string ServiceLog.

fields f1, f2, f3 | filter f1 like /ServiceLog./

Você pode colocar um símbolo de asterisco depois do ponto (.*) para criar um quantificador ganancioso que retorna o maior número possível de correspondências. No exemplo a seguir, a consulta retorna correspondências em que o valor de f1 não somente começa com a string ServiceLog, mas também inclui a string ServiceLog.

fields f1, f2, f3 | filter f1 like /ServiceLog.*/

As correspondências possíveis podem ser formatadas da seguinte forma:

  • ServiceLogSampleApiLogGroup

  • SampleApiLogGroupServiceLog

Exemplo: excluir substrings das correspondências

O exemplo a seguir mostra uma consulta que retorna eventos de log quando f1 não contém a palavra Exception. O exemplo diferencia minúsculas e maiúsculas.

fields f1, f2, f3 | filter f1 not like "Exception"

Exemplo: fazer a correspondência de subcadeias de caracteres com padrões que não diferenciam maiúsculas e minúsculas

Você pode fazer a correspondência de subcadeias de caracteres que não diferenciam minúsculas e maiúsculas com like e expressões regulares. Coloque o seguinte parâmetro (?i) antes da substring a ser correspondida. O exemplo a seguir mostra uma consulta que retorna eventos de log quando f1 contém a palavra Exception ou exception.

fields f1, f2, f3 | filter f1 like /(?i)Exception/