filterIndex - Amazon CloudWatch Logs

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

filterIndex

Se usa filterIndex para devolver solo datos indexados, mediante el forzado de una consulta a analizar solo los grupos de registros que están indexados en un campo que se especifique en la consulta. Para los grupos de registros que están indexados en este campo, se optimiza aún más la consulta al omitir los grupos de registros que no tienen ningún evento de registro que contenga el campo especificado en la consulta del campo indexado. Se reduce aún más el volumen analizado al intentar analizar solo los eventos de registro de estos grupos de registros que coincidan con el valor especificado en la consulta para este índice de campos. Para obtener más información sobre los índices de campo y cómo crearlos, consulte Creación de índices de campo para mejorar el rendimiento de las consultas y reducir el volumen de análisis.

El uso de filterIndex con campos indexados puede ayudar a consultar grupos de registros que incluyen petabytes de datos de registro de manera eficiente, ya que limita el espacio de búsqueda real a los grupos de registros y los eventos de registro que tienen índices de campo.

Por ejemplo, supongamos que se ha creado un índice de campos para IPaddress en algunos de los grupos de registro de su cuenta. A continuación, se puede crear la siguiente consulta y elegir consultar todos los grupos de registros de la cuenta para buscar eventos de registro que incluyan el valor 198.51.100.0 del campo IPaddress.

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

El comando filterIndex hace que esta consulta intente omitir todos los grupos de registros que no están indexados para IPaddress. Además, dentro de los grupos de registros que están indexados, la consulta omite los eventos de registro que tienen un campo IPaddress, pero que no consideran a 198.51.100.0 como el valor de ese campo.

Utilice el operador IN para ampliar los resultados a cualquiera de los múltiples valores de los campos indexados. El siguiente ejemplo busca eventos de registro que incluyen el valor 198.51.100.0 o 198.51.100.1 en el campo IPaddress.

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

CloudWatch Los registros proporcionan índices de campos predeterminados para todos los grupos de registros de la clase de registros estándar. Los índices de campo predeterminados están disponibles automáticamente para los siguientes campos:

  • @logStream

  • @aws.region

  • @aws.account

  • @source.log

  • @data_source_name

  • @data_source_type

  • @data_format

  • traceId

  • severityText

  • attributes.session.id

CloudWatch Los registros también proporcionan índices de campo predeterminados para determinadas combinaciones de nombres y tipos de fuentes de datos. Los índices de campo predeterminados están disponibles automáticamente para las siguientes combinaciones de nombre y tipo de fuente de datos:

Nombre y tipo de fuente de datos Índices de campo predeterminados

amazon_vpc.flow

action

logStatus

region

flowDirection

type

amazon_route53.resolver_query

query_type

transport

rcode

aws_waf.access

action

httpRequest.country

aws_cloudtrail.data

aws_cloudtrail.management

eventSource

eventName

awsRegion

userAgent

errorCode

eventType

managementEvent

readOnly

eventCategory

requestId

Los índices de campos predeterminados se suman a cualquier índice de campo personalizado que defina en su política. Los índices de campo predeterminados no se incluyen en la cuota de índices de campo.

filterIndex comparado con el filtro

Para ilustrar la diferencia entre filterIndex y filter, se pueden tener en cuenta las siguientes consultas de ejemplo. Supongamos que se ha creado un índice de campos para IPaddress, para cuatro de los grupos de registros, pero no para un quinto grupo de registros. La siguiente consulta mediante filterIndex omitirá la exploración del grupo de registros que no tiene el campo indexado. Para cada grupo de registro indexado, se intenta analizar solo los eventos de registro que tienen el campo indexado y, además, solo devuelve los resultados de una vez creado el índice de campos.

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

Por el contrario, si se utiliza filter en lugar de filterIndex para una consulta de los mismos cinco grupos de registros, la consulta intentará analizar no solo los eventos de registro que contienen el valor de los grupos de registros indexados, sino que también analizará el quinto grupo de registros que no esté indexado y analizará todos los eventos de registro de ese quinto grupo de registros.

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