Filtro de sintaxis de patrones para filtros de métricas, filtros de suscripción, eventos de registro de filtros y Live Tail - 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.

Filtro de sintaxis de patrones para filtros de métricas, filtros de suscripción, eventos de registro de filtros y Live Tail

nota

Para obtener información sobre cómo consultar los grupos de registro con el lenguaje de consulta de la Información de registros de Amazon CloudWatch, consulte CloudWatch Sintaxis de consultas de Logs Insights.

Con Registros de CloudWatch, puede usar filtros de métricas para transformar los datos de registro en métricas procesables, filtros de suscripción para enrutar los eventos de registro a otros servicios de AWS, filtrar eventos de registro para encontrar eventos de registro y Live Tail para ver sus registros de forma interactiva en tiempo real a medida que se incorporan.

Los patrones de filtro conforman la sintaxis que utilizan los filtros de métricas, los filtros de suscripción, los eventos de registro y Live Tail para hacer coincidir los términos de los eventos de registro. Los términos pueden ser palabras, frases exactas o valores numéricos. Las expresiones regulares (regex) se pueden usar para crear patrones de filtro independientes o se pueden incorporar con patrones de filtro JSON y delimitados por el espacio.

Cree patrones de filtro con los términos que desea que coincidan. Los patrones de filtro solo devuelven los eventos de registro que contienen los términos definidos. Puede probar los patrones de filtro en la consola de CloudWatch.

Sintaxis de expresiones regulares (regex) compatibles

Cuando utilice expresiones regulares para buscar y filtrar datos de registro, debe rodear las expresiones con %.

Los patrones de filtrado con expresiones regulares solo pueden incluir lo siguiente:

  • Caracteres alfanuméricos: un carácter alfanumérico es un carácter que puede ser una letra (de la A a la Z o de la a la z) o un dígito (del 0 al 9).

  • Caracteres simbólicos compatibles, entre los cuales se incluyen: “_”, “#”, “=”, “@”, “/”, “;”, “,” y “-”. Por ejemplo, se rechazaría %something!% porque “!” no es compatible.

  • Operadores compatibles, entre los cuales se incluyen: “^”, “$”, “?”, “[”, “]”, “{”, “}”, “|”, “\”, “*”, “+” y “.”.

Los operadores ( y ) no son compatibles. No puede usar paréntesis para definir un subpatrón.

Los caracteres de varios bytes no son compatibles.

nota

Cuotas

Hay un máximo de 5 patrones de filtro que contienen expresiones regulares para cada grupo de registro al crear filtros de métricas o filtros de suscripción.

Hay un límite de 2 expresiones regulares para cada patrón de filtro al crear un patrón de filtro delimitado o JSON para los filtros de métricas y los filtros de suscripción o al filtrar los eventos de registro. o Live Tail.

Uso de operadores compatibles

  • ^: ancla la coincidencia al inicio de una cadena. Por ejemplo, %^[hc]at% coincide con los términos en inglés “hat” y “cat”, pero solo al principio de una cadena.

  • $: ancla la coincidencia al final de una cadena. Por ejemplo, %[hc]at$% coincide con los términos en inglés “hat” y “cat”, pero solo al final de una cadena.

  • ?: coincide con cero o más instancias del término correspondiente. Por ejemplo, %colou?r% puede coincidir tanto con el término en inglés “color” como con el término en inglés “colour”.

  • []: define una clase de caracteres. Coincide con la lista el rango de caracteres que figuran entre corchetes. Por ejemplo, %[abc]% coincide con “a”, “b” o “c”; %[a-z]% coincide con cualquier letra minúscula de la “a” a la “z”; y %[abcx-z]% coincide con las letras “a”, “b”, “c”, “x”, “y” o “z”.

  • {m, n}: coincide con el término anterior al menos m y no más de n veces. Por ejemplo, %a{3,5}% solo coincide con “aaa”, “aaaa” y “aaaaa”.

    nota

    Se pueden omitir m o n si decide no definir un mínimo o un máximo.

  • |: “O” booleano, que coincide con el término que aparece a ambos lados de la barra vertical. Por ejemplo, %gra|ey% puede coincidir con los términos en inglés “gray” o “grey”.

    nota

    Un término es como un carácter único o una clase de caracteres repetidos que utiliza uno de los siguientes operadores: ?, *, + o {n,m}.

  • \: carácter de escape, que permite utilizar el significado literal de un operador en lugar de su significado especial. Por ejemplo, %\[.\]% coincide con cualquier carácter individual rodeado de “[“ y ”]”, ya que los corchetes están separados, como “[a]”, “[b]”, “[7]”, “[@]”, “[]]” y “[ ]”.

    nota

    %10\.10\.0\.1% es la forma correcta de crear una expresión regular que coincida con la dirección IP 10.10.0.1.

  • *: coincide con cero o más instancias del término correspondiente. Por ejemplo, %ab*c% puede coincidir con “ac”, “abc” y “abbbc”; %ab[0-9]*% puede coincidir con “ab”, “ab0” y “ab129”.

  • +: coincide con una o más instancias del término correspondiente. Por ejemplo, %ab+c% puede coincidir con “abc”, “abbc” y “abbbc”, pero no con “ac”.

  • .: coincide con cualquier carácter. Por ejemplo, %.at% coincide con cualquier cadena de tres caracteres que termine en “at”, incluidos los términos en inglés “hat”, “cat”, “bat”, “4at”, “#at” y “at” (que comienza con un espacio).

    nota

    Al crear una expresión regular para que coincida con las direcciones IP, es importante evitar el uso del operador .. Por ejemplo, %10.10.0.1% puede coincidir con “10010,051”, lo que podría no ser el objetivo real de la expresión.

  • \d, \D: coincide con un carácter que sea un dígito o que no lo sea. Por ejemplo, %\d% es equivalente a %[0-9]%, y %\D% es equivalente a %[^0-9]%.

    nota

    El operador en mayúscula indica el inverso de su homólogo en minúscula.

  • \s, \S: coincide con un carácter con espacio en blanco o sin espacio en blanco.

    nota

    El operador en mayúscula indica el inverso de su homólogo en minúscula. Los espacios en blanco incluyen los caracteres tab (\t), space ( ) y newline (\n).

  • \w, \W: coincide con un carácter alfanumérico o no alfanumérico. Por ejemplo, %\w% es equivalente a %[a-zA-Z_0-9]%, y %\W% es equivalente a %[^a-zA-Z_0-9]%.

    nota

    El operador en mayúscula indica el inverso de su homólogo en minúscula.

  • \xhh: coincide con la asignación ASCII de un carácter hexadecimal de dos dígitos. \x es la secuencia de escape que indica que los siguientes caracteres representan el valor hexadecimal para ASCII. hh especifica los dos dígitos hexadecimales (0-9 y A-F) que apuntan a un carácter de la tabla ASCII.

    nota

    Puede utilizar \xhh para hacer coincidir caracteres de símbolo que no son compatibles con el patrón de filtro. Por ejemplo, %\x3A% coincide con :; y %\x28% coincide con (.

Uso de los patrones de filtro para hacer coincidir los términos con una expresión regular (regex)

Puede hacer coincidir los términos de sus eventos de registro mediante el uso de un patrón de expresiones regulares rodeado de % (signos de porcentaje antes y después del patrón de expresiones regulares). El siguiente fragmento de código muestra un ejemplo de un patrón de filtro que devuelve todos los eventos de registro que consisten en la palabra clave AUTHORIZED.

Para ver una lista de las expresiones regulares compatibles, consulte Expresiones regulares compatibles.

%AUTHORIZED%

Este patrón de filtro devuelve mensajes de eventos de registro, como los siguientes:

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [SUCCESS 200] AUTHORIZED REQUEST

El uso de patrones de filtro para hacer coincidir los términos en eventos de registro sin estructura.

En los siguientes ejemplos se incluyen fragmentos de código que muestran cómo puede utilizar patrones de filtro para hacer coincidir los términos de los eventos de registro sin estructura.

nota

Los patrones de filtro distinguen mayúsculas y minúsculas. Incluya frases y términos exactos que incluyan caracteres no alfanuméricos entre comillas dobles (“”).

Example: Match a single term

En el siguiente fragmento de código, se muestra un ejemplo de un patrón de filtro de un solo término que devuelve todos los eventos de registro en los que los mensajes contienen la palabra ERROR.

ERROR

Este patrón de filtro coincide con mensajes de eventos de registro, como los siguientes:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match multiple terms

El siguiente fragmento de código muestra un ejemplo de un patrón de filtro de varios términos que devuelve todos los eventos de registro en los que los mensajes contienen las palabras ERROR y ARGUMENTS.

ERROR ARGUMENTS

El filtro devuelve mensajes de eventos de registro, como los siguientes:

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Este patrón de filtro no devuelve los siguientes mensajes de eventos de registro, porque no contienen los dos términos especificados en el patrón de filtro.

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Example: Match optional terms

Puede utilizar la coincidencia de patrones para crear patrones de filtro que devuelvan eventos de registro que contengan términos opcionales. Coloque un signo de interrogación (“?”) antes de los términos que desea hacer coincidir. El siguiente fragmento de código muestra un ejemplo de un patrón de filtro que devuelve todos los eventos de registro en los que los mensajes contienen la palabra ERROR o ARGUMENTOS.

?ERROR ?ARGUMENTS

Este patrón de filtro coincide con mensajes de eventos de registro, como los siguientes:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

nota

No se puede combinar el signo de interrogación (“?”) con otros patrones de filtrado, como incluir y excluir términos. Si combina “?” con otros patrones de filtrado, se ignorará el signo de interrogación (“?”).

Por ejemplo, el siguiente patrón de filtrado coincide con todos los eventos que contienen la palabra REQUEST, pero se ignora el filtro del signo de interrogación (“?”) y no tiene ningún efecto.

?ERROR ?ARGUMENTS REQUEST

Coincidencias de eventos de registro

  • [INFO] REQUEST FAILED

  • [WARN] UNAUTHORIZED REQUEST

  • [ERROR] 400 BAD REQUEST

Example: Match exact phrases

El siguiente fragmento de código muestra un ejemplo de un patrón de filtro que devuelve todos los eventos de registro en los que los mensajes contienen la frase exacta INTERNAL SERVER ERROR.

"INTERNAL SERVER ERROR"

Este patrón de filtro devuelve el siguiente mensaje de evento de registro:

  • [ERROR 500] INTERNAL SERVER ERROR

Example: Include and exclude terms

Puede crear patrones de filtro que devuelvan eventos de registro en los que los mensajes incluyen algunos términos y excluyen otros. Coloque un símbolo menos (“-”) antes de los términos que desea excluir. El siguiente fragmento de código muestra un ejemplo de un patrón de filtro que devuelve todos los eventos de registro en los que los mensajes incluyen el término ERROR y excluyen el término ARGUMENTS.

ERROR -ARGUMENTS

Este patrón de filtro devuelve mensajes de eventos de registro, como los siguientes:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Este patrón de filtro no devuelve los siguientes mensajes de eventos de registro, porque contienen la palabra ARGUMENTS.

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match everything

Puede hacer una coincidencia total en los eventos de registro con comillas dobles. El siguiente fragmento de código muestra un ejemplo de un patrón de filtro que devuelve todos los eventos de registro.

" "

Uso de patrones de filtro para hacer coincidir los términos en eventos de registro JSON

En los siguientes ejemplos, se describe cómo escribir la sintaxis de los patrones de filtro que coinciden con los términos JSON que contienen cadenas y valores numéricos.

Writing filter patterns that match strings

Puede crear patrones de filtro para que coincidan con cadenas en eventos de registro JSON. El siguiente fragmento de código muestra un ejemplo de la sintaxis de los patrones de filtro basados en cadenas.

{ PropertySelector EqualityOperator String }

Coloque los patrones de filtro en los corchetes (“{}”). Los patrones de filtro basados en cadenas deben contener los siguientes elementos:

  • Selector de propiedades

    Active los selectores de propiedades con un signo de dólar seguido de un punto (“$.”). Los selectores de propiedades son cadenas alfanuméricas que admiten los caracteres guion (“-”) y guion bajo (“_”). Las cadenas no admiten la notación científica. Los selectores de propiedades apuntan a los nodos de valor en los eventos de registro JSON. Los nodos de valor pueden ser cadenas o números. Coloque matrices después de los selectores de propiedades. Los elementos de las matrices siguen un sistema de numeración basado en cero, lo que significa que el primer elemento de la matriz es el elemento 0, el segundo elemento es el elemento 1, etc. Incluya elementos entre corchetes ("[]"). Si un selector de propiedades apunta a una matriz u objeto, el patrón del filtro no coincidirá con el formato del registro. Si la propiedad JSON contiene un punto ("."), se puede utilizar la notación entre corchetes para seleccionar esa propiedad.

    nota

    Selector de comodín

    Puede utilizar el comodín JSON para seleccionar cualquier elemento de la matriz o campo de objeto JSON.

    Cuotas

    Solo puede utilizar un selector de caracteres comodín en un selector de propiedades.

  • Operador de igualdad

    Establezca operadores de igualdad con uno de los siguientes símbolos: igual (“=”) o no igual (“!=”). Los operadores de igualdad devuelven un valor booleano (verdadero o falso).

  • Cadena

    Puede incluir cadenas entre comillas dobles (“”). Las cadenas que contienen tipos distintos de caracteres alfanuméricos y el símbolo de guion bajo deben colocarse entre comillas dobles. Use el asterisco (“*”) como comodín para que coincida con el texto.

    nota

    Puede usar cualquier expresión regular condicional al crear patrones de filtro para que coincidan con los términos de los eventos de registro de JSON. Para ver una lista de las expresiones regulares compatibles, consulte Expresiones regulares compatibles.

El siguiente fragmento de código incluye un ejemplo de patrones de filtro que muestra cómo puede dar formato a un filtro de métricas para que coincida con un término JSON con una cadena.

{ $.eventType = "UpdateTrail" }
Writing filter patterns that match numeric values

Puede crear patrones de filtro para que coincidan con los valores numéricos en eventos de registro JSON. El siguiente fragmento de código muestra un ejemplo de la sintaxis de los patrones de filtro que coinciden con valores numéricos.

{ PropertySelector NumericOperator Number }

Coloque los patrones de filtro en los corchetes (“{}”). Los patrones de filtro que coinciden con los valores numéricos deben tener los siguientes elementos:

  • Selector de propiedades

    Active los selectores de propiedades con un signo de dólar seguido de un punto (“$.”). Los selectores de propiedades son cadenas alfanuméricas que admiten los caracteres guion (“-”) y guion bajo (“_”). Las cadenas no admiten la notación científica. Los selectores de propiedades apuntan a los nodos de valor en los eventos de registro JSON. Los nodos de valor pueden ser cadenas o números. Coloque matrices después de los selectores de propiedades. Los elementos de las matrices siguen un sistema de numeración basado en cero, lo que significa que el primer elemento de la matriz es el elemento 0, el segundo elemento es el elemento 1, etc. Incluya elementos entre corchetes ("[]"). Si un selector de propiedades apunta a una matriz u objeto, el patrón del filtro no coincidirá con el formato del registro. Si la propiedad JSON contiene un punto ("."), se puede utilizar la notación entre corchetes para seleccionar esa propiedad.

    nota

    Selector de comodín

    Puede utilizar el comodín JSON para seleccionar cualquier elemento de la matriz o campo de objeto JSON.

    Cuotas

    Solo puede utilizar un selector de caracteres comodín en un selector de propiedades.

  • Operador numérico

    Establezca operadores numéricos con uno de los siguientes símbolos: mayor que (“>”), menor que (“<”), igual (“=”), no igual (“!=”), mayor o igual que (“>=”) o menor o igual que (“<=”) o menor o igual que (“<=”).

  • Número

    Puede utilizar números enteros que contengan símbolos más (“+”) o menos (“-”) y seguir la notación científica. Use el asterisco (“*”) como comodín para que coincida con los números.

El siguiente fragmento de código contiene ejemplos que muestran cómo puede dar formato a los patrones de filtro para que los términos JSON coincidan con valores numéricos.

// Filter pattern with greater than symbol { $.bandwidth > 75 } // Filter pattern with less than symbol { $.latency < 50 } // Filter pattern with greater than or equal to symbol { $.refreshRate >= 60 } // Filter pattern with less than or equal to symbol { $.responseTime <= 5 } // Filter pattern with equal sign { $.errorCode = 400} // Filter pattern with not equal sign { $.errorCode != 500 } // Filter pattern with scientific notation and plus symbol { $.number[0] = 1e-3 } // Filter pattern with scientific notation and minus symbol { $.number[0] != 1e+3 }

En los siguientes ejemplos, se incluyen fragmentos de código que muestran cómo los patrones de filtro pueden coincidir con los términos de un evento de registro JSON.

nota

Si prueba un patrón de filtro de ejemplo con el evento de registro JSON de ejemplo, debe ingresar el registro JSON de ejemplo en una sola línea.

Evento de registro JSON

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ { "name": "a", "id": 1 }, { "name": "b", "id": 2 } ], "SomeObject": null, "cluster.name": "c" }
Example: Filter pattern that matches string values

Este patrón de filtro coincide con la cadena "UpdateTrail" de la propiedad "eventType".

{ $.eventType = "UpdateTrail" }
Example: Filter pattern that matches string values (IP address)

Este patrón del filtro contiene un comodín y coincide con la propiedad "sourceIPAddress" porque no contiene un número con el prefijo "123.123.".

{ $.sourceIPAddress != 123.123.* }
Example: Filter pattern that matches a specific array element with a string value

Este patrón de filtro coincide con el elemento "value" de la matriz "arrayKey".

{ $.arrayKey[0] = "value" }
Example: Filter pattern that matches a string using regex

Este patrón de filtro coincide con la cadena "Trail" de la propiedad "eventType".

{ $.eventType = %Trail% }
Example: Filter pattern that uses a wildcard to match values of any element in the array using regex

El patrón de filtro contiene expresiones regulares que coinciden con el elemento "value" de la matriz "arrayKey".

{ $.arrayKey[*] = %val.{2}% }
Example: Filter pattern that uses a wildcard to match values of any element with a specific prefix and subnet using regex (IP address)

Este patrón de filtro contiene expresiones regulares que coinciden con el elemento "111.111.111.111" de la propiedad "sourceIPAddress".

{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
nota

Cuotas

Solo puede utilizar un selector de caracteres comodín en un selector de propiedades.

Example: Filter pattern that matches a JSON property with a period (.) in the key
{ $.['cluster.name'] = "c" }
Example: Filter pattern that matches JSON logs using IS

Puede crear patrones de filtro que coincidan con los campos de los registros JSON con la variable IS. La variable IS puede coincidir con los campos que contienen los valores NULL, TRUE o bien FALSE. El siguiente patrón de filtro devuelve registros JSON donde el valor de SomeObject es NULL.

{ $.SomeObject IS NULL }
Example: Filter pattern that matches JSON logs using NOT EXISTS

Puede crear patrones de filtro con la variable NOT EXISTS para devolver registros JSON que no contienen campos específicos en los datos de registro. El siguiente patrón de filtro utiliza NOT EXISTS para devolver registros JSON que no contienen el campo SomeOtherObject.

{ $.SomeOtherObject NOT EXISTS }
nota

Las variables IS NOT y EXISTS no se admiten actualmente.

Puede utilizar los operadores lógicos AND (“&&”) y OR (“||”) en los patrones de filtro para crear expresiones compuestas que coincidan con los eventos de registro en los que se cumplen dos o más condiciones. Las expresiones compuestas admiten el uso de paréntesis (“()”) y el siguiente orden de operaciones estándar: () > && > ||. En los siguientes ejemplos, se incluyen fragmentos de código que muestran cómo puede utilizar los patrones de filtro con expresiones compuestas para hacer coincidir los términos de un objeto JSON.

Objeto JSON

{ "user": { "id": 1, "email": "John.Stiles@example.com" }, "users": [ { "id": 2, "email": "John.Doe@example.com" }, { "id": 3, "email": "Jane.Doe@example.com" } ], "actions": [ "GET", "PUT", "DELETE" ], "coordinates": [ [0, 1, 2], [4, 5, 6], [7, 8, 9] ] }
Example: Expression that matches using AND (&&)

Este patrón de filtro contiene una expresión compuesta que encuentra una coincidencia de "id" en "user" con un valor numérico de 1 y "email" en "users" con la cadena "John.Doe@example.com".

{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Example: Expression that matches using OR (||)

Este patrón de filtro contiene una expresión compuesta que encuentra una coincidencia de "email" en "user" con la cadena "John.Stiles@example.com".

{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }
Example: Expression that doesn't match using AND (&&)

Este patrón de filtro contiene una expresión compuesta que no encuentra ninguna coincidencia porque la expresión no coincide con la tercera acción en "actions".

{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
nota

Cuotas

Solo puede usar un selector de comodín en un selector de propiedades y hasta tres selectores de comodín en un patrón de filtro con expresiones compuestas.

Example: Expression that doesn't match using OR (||)

Este patrón de filtro contiene una expresión compuesta que no encuentra ninguna coincidencia porque la expresión no coincide con la primera propiedad de "users" o con la tercera acción en "actions".

{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }

Uso de la coincidencia de los patrones de filtro para hacer coincidir términos en eventos de registro delimitados por espacios

Puede crear patrones de filtro para que coincidan con los términos de todos los eventos de registro delimitados por espacios. A continuación, se proporciona un ejemplo de un evento de registro delimitado por espacios y se describe cómo escribir la sintaxis de los patrones de filtro que coinciden con los términos del evento de registro delimitado por espacios.

nota

Puede usar cualquier expresión regular condicional al crear los patrones de filtro que coincidan con los términos de todos los eventos de registro delimitados por espacios. Para ver una lista de las expresiones regulares compatibles, consulte Expresiones regulares compatibles.

Example: Space-delimited log event

En el siguiente fragmento de código, se muestra un evento de registro delimitado por espacios que contiene siete campos: ip, user, username, timestamp, request, status_code y bytes.

127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
nota

Los caracteres entre corchetes (“[]”) y comillas dobles (“”) se consideran campos individuales.

Writing filter patterns that match terms in a space-delimited log event

Para crear un patrón de filtro que asigne y extraiga valores de los campos de un evento de registro delimitado por espacios, incluya el patrón de filtro entre corchetes (“[]”) y especifique campos con nombres separados por comas (“,”). El siguiente patrón de filtro analiza siete campos.

[ip=%127\.0\.0\.[1-9]%, user, username, timestamp, request =*.html*, status_code = 4*, bytes]

Puede utilizar operadores numéricos (>, <, =, !=, >= o <=) y el asterisco (*) como comodín para asignar las condiciones del patrón del filtro. En el ejemplo, el patrón de filtro ip utiliza expresiones regulares que coinciden con el rango de direcciones IP 127.0.0.1 a 127.0.0.9, request contiene un comodín que indica que debe extraer un valor con .html, y status_code contiene un comodín que indica que debe extraer un valor que comience con 4.

Si no conoce el número de campos que está analizando en un evento de registro delimitado por espacios, puede utilizar puntos suspensivos (...) para hacer referencia a cualquier campo sin nombre. Los puntos suspensivos pueden hacer referencia a tantos campos como sea necesario. En el ejemplo siguiente, se muestra un patrón de filtro con puntos suspensivos que representan los cuatro primeros campos sin nombre que se muestran en el patrón de filtro del ejemplo anterior.

[..., request =*.html*, status_code = 4*, bytes]

También puede utilizar los operadores lógicos AND (&&) y OR (||) para crear expresiones compuestas. El siguiente patrón de filtro contiene una expresión compuesta que indica que el valor de status_code debe ser 404 o 410.

[ip, user, username, timestamp, request =*.html*, status_code = 404 || status_code = 410, bytes]

Puede utilizar la coincidencia de patrones para crear patrones de filtro delimitados por espacios que coincidan con términos en un orden específico. Especifique el orden de los términos con indicadores. Use w1 para representar su primer término y w2 para el segundo, y así sucesivamente para representar el orden de los términos posteriores. Coloque comas (“,”) entre sus términos. En los siguientes ejemplos, se incluyen fragmentos de código que muestran cómo se puede utilizar la coincidencia de patrones con filtro delimitados por espacios.

nota

Puede usar cualquier expresión regular condicional al crear los patrones de filtro que coincidan con los términos de todos los eventos de registro delimitados por espacios. Para ver una lista de las expresiones regulares compatibles, consulte Expresiones regulares compatibles.

Evento de registro delimitado por el espacio

INFO 09/25/2014 12:00:00 GET /service/resource/67 1200 INFO 09/25/2014 12:00:01 POST /service/resource/67/part/111 1310 WARNING 09/25/2014 12:00:02 Invalid user request ERROR 09/25/2014 12:00:02 Failed to process request
Example: Match terms in order

El siguiente patrón de filtro delimitado por espacios devuelve eventos de registro en los que la primera palabra de los eventos de registro es ERROR.

[w1=ERROR, w2]
nota

Al crear patrones de filtro delimitados por espacios que utilizan la coincidencia de patrones, debe incluir un indicador en blanco después de especificar el orden de los términos. Por ejemplo, si crea un patrón de filtro que devuelve eventos de registro en los que se encuentra la primera palabra ERROR, incluya un indicador w2 en blanco después del término w1.

Example: Match terms with AND (&&) and OR (||)

Puede utilizar los operadores lógicos AND (“&&”) y OR (“||”) para crear patrones de filtro delimitados por espacios que contengan condiciones. El siguiente patrón de filtro devuelve eventos de registro en los que la primera palabra de los eventos es ERROR o WARNING.

[w1=ERROR || w1=WARNING, w2]
Example: Exclude terms from matches

Puede crear patrones de filtro delimitados por espacios que devuelvan eventos de registro, a excepción de uno o más términos. Coloque un símbolo de no igual (“!=”) antes de los términos que desea excluir. El siguiente fragmento de código muestra un ejemplo de un patrón de filtro que devuelve eventos de registro donde las primeras palabras no son ERROR ni WARNING.

[w1!=ERROR && w1!=WARNING, w2]
Example: Match the top level item in a resource URI

En el siguiente fragmento de código, se muestra un ejemplo de un patrón de filtro que coincide con el elemento de nivel superior de un URI de recurso que utiliza la expresión regular.

[logLevel, date, time, method, url=%/service/resource/[0-9]+$%, response_time]
Example: Match the child level item in a resource URI

En el siguiente fragmento de código, se muestra un ejemplo de un patrón de filtro que coincide con el elemento de nivel secundario en un URI de recurso que utiliza la expresión regular.

[logLevel, date, time, method, url=%/service/resource/[0-9]+/part/[0-9]+$%, response_time]