filterIndex - Amazon CloudWatch Logs

filterIndex

Use filterIndex para retornar somente dados indexados, forçando uma consulta a verificar somente grupos de logs indexados em um campo especificado na consulta. Para esses grupos de logs indexados nesse campo, ele otimiza ainda mais a consulta ignorando os grupos que não têm nenhum evento de logs contendo o campo especificado na consulta do campo indexado. Isso reduz ainda mais o volume escaneado ao tentar verificar somente eventos de logs desses grupos que correspondam ao valor especificado na consulta para esse índice de campo. Para obter mais informações sobre os índices de campo e como criá-los, consulte Crie índices de campo para melhorar o desempenho da consulta e reduzir o volume de escaneamento.

O uso de filterIndex com campos indexados pode ajudá-lo a consultar grupos de logs que incluem petabytes de dados de log de forma eficiente, limitando o espaço de pesquisa real a grupos e eventos de logs que têm índices de campo.

Por exemplo, suponha que você criou um índice de campos para IPaddress em alguns dos grupos de logs da sua conta. Em seguida, você pode criar a consulta a seguir e optar por consultar todos os grupos de logs na conta para encontrar eventos de logs que incluam o valor 198.51.100.0 no campo IPaddress.

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

O comando filterIndex faz com que essa consulta tente ignorar todos os grupos de logs que não estão indexados para IPaddress. Além disso, nos grupos de logs indexados, a consulta ignora eventos de logs que têm um campo IPaddress, mas não são observaram 198.51.100.0 como o valor desse campo.

Use o operador IN para expandir os resultados para qualquer um dos vários valores dos campos indexados. O exemplo a seguir encontra eventos de logs que incluem o valor 198.51.100.0 ou 198.51.100.1 no campo IPaddress.

fields @timestamp, @message | filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"] | limit 20

O CloudWatch Logs fornece índices de campos padrão para todos os grupos de logs na classe de log Padrão. Os índices de campo padrão ficam disponíveis automaticamente para os seguintes campos:

  • @logStream

  • @aws.region

  • @aws.account

  • @source.log

  • traceId

Os índices de campo padrão são adicionais aos índices de campo personalizados definidos em sua política. Os índices de campo padrão não são contabilizados em sua cota de índice de campo.

filterIndex comparado ao filtro

Para ilustrar a diferença entre filterIndex e filter, considere os seguintes exemplos de consultas. Suponha que você criou um índice de campo para IPaddress e para quatro de seus grupos de logs, mas não para um quinto grupo. A consulta a seguir usando filterIndex ignorará a verificação do grupo de logs que não tem o campo indexado. Para cada grupo de logs indexados, ele tenta verificar somente os eventos de logs que tenham o campo indexado e também retorna somente os resultados após a criação do índice do campo.

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

Por outro lado, se você usar em filter vez de filterIndex para uma consulta dos mesmos cinco grupos de logs, a consulta tentará verificar não apenas os eventos de logs que contêm o valor nos grupos de logs indexados, mas também examinará o quinto grupo que não está indexado e examinará todos os eventos de logs desse quinto grupo de logs.

fields @timestamp, @message | filter IPaddress = "198.51.100.0" | limit 20