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 escaneamento.
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/