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
Campos indexados e o comando de filtro
Se você criou índices de campo para um grupo de registros, pode aproveitar esses índices de campo para tornar suas filter
consultas mais eficientes e reduzir o volume digitalizado. Por exemplo, suponha que você tenha criado um índice de campo pararequestId
. Em seguida, qualquer consulta do CloudWatch Logs Insights nesse grupo de registros que filter requestId IN [
inclua value
, value
, ...]filter requestId =
ou tente ignorar o processamento de eventos de log que se sabe que não incluem o campo indexado. Ao tentar verificar somente os eventos de log que são conhecidos por conter esse campo indexado, o volume de escaneamento pode ser reduzido e a consulta é mais rápida.value
Para obter mais informações sobre índices de campo e como criá-los, consulteCrie índices de campo para melhorar o desempenho da consulta e reduzir o volume de digitalização.
Importante
Somente consultas com filter
e se fieldName
=...filter
beneficiarão das melhorias no índice de campo. As consultas com fieldName
IN...filter
não usam índices e sempre examinam todos os eventos de registro nos grupos de registros selecionados.fieldName
like
Exemplo: encontre eventos de registro relacionados a um determinado ID de solicitação usando índices
Este exemplo pressupõe que você tenha criado um índice de campo emrequestId
. Para grupos de registros que usam esse índice de campo, a consulta aproveitará os índices de campo para tentar verificar a menor quantidade de eventos de registro para encontrar eventos requestId
com um valor de 123456
fields @timestamp, @message | filter requestId = "1234656" | 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/