Sintaxe de padrões de filtros para filtros de métricas, filtros de assinatura, filtros de eventos de log e Live Tail. - CloudWatch Registros da Amazon

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á.

Sintaxe de padrões de filtros para filtros de métricas, filtros de assinatura, filtros de eventos de log e Live Tail.

nota

Para obter informações sobre como consultar seus grupos de log com a linguagem de consulta do Amazon CloudWatch Logs Insights, consulte CloudWatch Sintaxe de consulta do Logs Insights.

Com o CloudWatch Logs, você pode usar filtros de métricas para transformar dados de log em métricas acionáveis, filtros de assinatura para rotear eventos de logs para outros serviços da AWS, filtros de eventos de log para procurar eventos de logs e o Live Tail para visualizar seus logs de forma interativa em tempo real, à medida que são ingeridos.

Os padrões de filtros compõem a sintaxe que os filtros de métrica, filtros de assinatura, filtros de eventos de log e Live Tail usam para fazer a correspondência de termos em eventos de log. Os termos podem ser palavras, frases exatas ou valores numéricos. Expressões regulares (regex) podem ser usadas para criar padrões de filtros autônomos ou podem ser incorporadas a padrões de filtro JSON e delimitados por espaços.

Crie padrões de filtro com os termos que você deseja corresponder. Os padrões de filtro retornam apenas os eventos de log que contêm os termos que você definiu. Você pode testar padrões de filtro no console do CloudWatch.

Sintaxe de expressões regulares (regex) compatíveis

Ao usar regex para pesquisar e filtrar dados de log, é necessário envolver suas expressões com %.

Os padrões de filtros com regex só podem incluir o seguinte:

  • Caracteres alfanuméricos: um caractere alfanumérico é um caractere que é uma letra (A a Z ou a a z) ou um dígito (0 a 9).

  • Caracteres de símbolo compatíveis: "_", "#", "=", "@", "/", ";", "," e "-", entre outros. Por exemplo, %something!% seria rejeitado porque "!" não é aceito.

  • Operadores compatíveis: "^", "$", "?", "[", "]", "{", "}", "|", "\", "*", "+", e ".", entre outros.

Os operadores ( e ) e não são aceitos. Não é possível usar parênteses para definir um subpadrão.

Caracteres multibytes não são aceitos.

nota

Cotas

Há um máximo de 5 padrões de filtros contendo regex para cada grupo de logs na criação de filtros de métricas ou filtros de assinatura.

Há um limite de dois regex para cada padrão de filtro na criação de um padrão de filtro delimitado ou JSON para filtros de métricas e filtros de assinatura, ou ao filtrar eventos de log ou Live Tail.

Uso de operadores compatíveis

  • ^: fixa a correspondência no início de uma string. Por exemplo, %^[hc]at% corresponde a "hat" e "cat", mas somente no início de uma string.

  • $: fixa a correspondência no final de uma string. Por exemplo, %[hc]at$% corresponde a "hat" e "cat", mas somente no final de uma string.

  • ?: corresponde a zero ou mais instâncias do termo sendo processado. Por exemplo, %colou?r% pode corresponder a "color" e "colour".

  • []: define uma classe de caracteres. Corresponde à lista de caracteres ou ao intervalo de caracteres contido nos colchetes. Por exemplo, %[abc]% corresponde a "a", "b", ou "c"; %[a-z]% corresponde a qualquer letra minúscula de "a" a "z"; e %[abcx-z]% corresponde a "a", "b", "c", "x", "y", ou "z".

  • {m, n}: corresponde ao termo anterior no mínimo m e não mais que n vezes. Por exemplo, %a{3,5}% corresponde somente a "aaa", "aaaa", e "aaaaa".

    nota

    Tanto m quanto n podem ser omitidos se você optar por não definir um mínimo ou máximo.

  • |: booleano "Or", que corresponde ao termo em ambos os lados da barra vertical. Por exemplo, %gra|ey% pode corresponder a "gray" ou "grey".

    nota

    Um termo é como um único caractere ou uma classe de caracteres repetidos que usa um dos seguintes operadores: ?, *, +, ou {n,m}.

  • \: caractere de escape que permite usar o significado literal de um operador em vez de seu significado especial. Por exemplo, %\[.\]% corresponde a qualquer caractere único cercado por "[" e "]", pois escape antecede os colchetes, como "[a]", "[b]", "[7]", "[@]", "[]]", e "[ ]".

    nota

    %10\.10\.0\.1% é a maneira correta de criar uma regex que corresponda ao endereço IP 10.10.0.1.

  • *: corresponde a zero ou mais instâncias do termo sendo processado. Por exemplo, %ab*c% pode corresponder a "ac", "abc" e "abbbc"; %ab[0-9]*% pode corresponder a "ab", "ab0" e "ab129".

  • +: corresponde a uma ou mais instâncias do termo sendo processado. Por exemplo, %ab+c% pode corresponder a "abc", "abbc" e "abbbc", mas não a "ac".

  • .: corresponde a qualquer caractere sozinho. Por exemplo, %.at% corresponde a qualquer string de três caracteres que termina com "at", incluindo "hat", "cat", "bat", "4at", "#at" e " at" (começando com um espaço).

    nota

    Ao criar uma regex para fazer a correspondência de endereços IP, é importante colocar escape antes do operador .. Por exemplo, %10.10.0.1% pode corresponder a "10010,051", o que pode não ser o verdadeiro objetivo da expressão.

  • \d, \D: corresponde a um caractere de dígito/não dígito. Por exemplo, %\d% é equivalente a %[0-9]% e %\D% é equivalente a %[^0-9]%.

    nota

    O operador maiúsculo indica o inverso de sua contraparte minúscula.

  • \s, \S: corresponde a um caractere de espaço em branco/caractere sem espaço em branco.

    nota

    O operador maiúsculo indica o inverso de sua contraparte minúscula. Os caracteres de espaço em branco incluem os caracteres tab (\t), espaço ( ) e nova linha (\n).

  • \w, \W: corresponde a um caractere alfanumérico/caractere não alfanumérico. Por exemplo, %\w% é equivalente a %[a-zA-Z_0-9]% e %\W% é equivalente a %[^a-zA-Z_0-9]%.

    nota

    O operador maiúsculo indica o inverso de sua contraparte minúscula.

  • \xhh: corresponde ao mapeamento ASCII para um caractere hexadecimal de dois dígitos. \x é a sequência de escape que indica que os caracteres a seguir representam o valor hexadecimal para ASCII. hh especifica os dois dígitos hexadecimais (0-9 e A-F) que apontam para um caractere na tabela ASCII.

    nota

    É possível usar \xhh para combinar caracteres de símbolo que não são compatíveis com o padrão de filtros. Por exemplo, %\x3A% corresponde a :; e %\x28% corresponde a (.

Como usar padrões de filtros para fazer a correspondência de termos usando uma expressão regular (regex)

É possível fazer a correspondência de termos em seus eventos de log usando um padrão regex cercado por % (sinais de percentual antes e depois do padrão regex). O trecho de código a seguir mostra um exemplo de um padrão de filtro que retorna todos os eventos de log que consistem na palavra-chave AUTORIZADO.

Para obter uma lista de expressões regulares compatíveis, consulte Expressões regulares aceitas.

%AUTHORIZED%

O padrão de filtro retorna mensagens de eventos de log da seguinte forma:

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [SUCCESS 200] AUTHORIZED REQUEST

Como usar padrões de filtros para fazer a correspondência de termos em eventos de log não estruturados

Os exemplos a seguir contêm trechos de código que mostram como é possível usar padrões de filtros para fazer a correspondência de termos em seus eventos de log não estruturados.

nota

Os padrões de filtro diferenciam letras maiúsculas de minúsculas. Coloque frases exatas e termos que incluam caracteres não alfanuméricos entre aspas duplas ("").

Example: Match a single term

O trecho de código a seguir mostra um exemplo de um padrão de filtro de termo único que retorna todos os eventos de log em que as mensagens contêm a palavra ERROR (ERRO).

ERROR

Este padrão de filtro procura mensagens de eventos de log da seguinte forma:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match multiple terms

O trecho de código a seguir mostra um exemplo de um padrão de filtro de termos múltiplos que retorna todos os eventos de log em que as mensagens contêm as palavras ERRO e ARGUMENTOS.

ERROR ARGUMENTS

O filtro retorna mensagens de eventos de log da seguinte forma:

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

O padrão de filtro não retorna as seguintes mensagens de eventos de log porque elas não contêm os dois termos especificados no padrão do filtro.

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Example: Match optional terms

É possível usar a correspondência de padrões para criar padrões de filtros que retornem eventos de log contendo termos opcionais. Coloque um ponto de interrogação ("?") antes dos termos que você deseja corresponder. O trecho de código a seguir mostra um exemplo de um padrão de filtro que retorna todos os eventos de log em que as mensagens contêm a palavra ERRO ou ARGUMENTOS.

?ERROR ?ARGUMENTS

Este padrão de filtro procura mensagens de eventos de log da seguinte forma:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

nota

Não é possível combinar o ponto de interrogação (“?”) com outros padrões de filtro, como termos de inclusão e exclusão. Se você combinar “?” com outros padrões de filtro, o ponto de interrogação (“?”) será ignorado.

Por exemplo, o padrão de filtro a seguir corresponde a todos os eventos que contêm a palavra REQUEST, mas o filtro de ponto de interrogação (“?”) é ignorado e não tem efeito.

?ERROR ?ARGUMENTS REQUEST

Correspondências de eventos de log

  • [INFO] REQUEST FAILED

  • [WARN] UNAUTHORIZED REQUEST

  • [ERROR] 400 BAD REQUEST

Example: Match exact phrases

O trecho de código a seguir mostra um exemplo de um padrão de filtro que retorna os eventos de log nos quais as mensagens contêm a frase ERRO INTERNO DO SERVIDOR.

"INTERNAL SERVER ERROR"

O padrão de filtro retorna a seguinte mensagem de eventos de log:

  • [ERROR 500] INTERNAL SERVER ERROR

Example: Include and exclude terms

Você pode criar padrões de filtro que retornem eventos de log nos quais as mensagens incluam alguns termos e excluam outros. Coloque um símbolo de menos ("-") antes dos termos que você deseja excluir da busca. O trecho de código a seguir mostra um exemplo de um padrão de filtro que retorna eventos de log onde as mensagens incluem o termo ERROR e não incluem o termo ARGUMENTS.

ERROR -ARGUMENTS

O padrão de filtro retorna mensagens de eventos de log da seguinte forma:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

O padrão de filtro não retorna as mensagens de eventos de log a seguir porque elas contêm a palavra ARGUMENTS.

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match everything

É possível corresponder a tudo nos eventos de log usando aspas duplas. O trecho de código a seguir mostra um exemplo de um padrão de filtro que retorna todos os eventos de log.

" "

Como usar padrões de filtros para fazer a correspondência de termos em eventos de log JSON

Os exemplos a seguir descrevem a sintaxe para padrões de filtros que correspondem a termos JSON contendo strings e valores numéricos.

Writing filter patterns that match strings

É possível criar padrões de filtros para corresponder a strings em eventos de log JSON. O trecho de código a seguir mostra um exemplo de sintaxe de padrão de filtro baseado em string.

{ PropertySelector EqualityOperator String }

Coloque padrões de filtros entre chaves ("{}"). Padrões de filtros baseados em string devem conter as seguintes partes:

  • Seletor de propriedades

    Defina seletores de propriedades com um cifrão seguido de um ponto ("$."). Os seletores de propriedade são strings alfanuméricas compatíveis com os caracteres de hífen ("-") e underline ("_"). Strings não são compatíveis com notação científica. Seletores de propriedades apontam para nós de valor em eventos de log JSON. Os nós de valor podem ser strings ou números. Coloque matrizes após seletores de propriedades. Os elementos nas matrizes seguem um sistema de numeração baseado em zero, o que significa que o primeiro elemento na matriz é o elemento 0, o segundo elemento é o elemento 1 e assim por diante. Coloque elementos entre colchetes ("[]"). Se um seletor de propriedades apontar para uma matriz ou um objeto, o padrão de filtro não corresponderá ao formato do log. Se a propriedade JSON contiver um ponto ("."), a notação de colchetes poderá ser usada para selecionar essa propriedade.

    nota

    Seletor de curingas

    É possível usar o curinga JSON para selecionar qualquer elemento da matriz ou qualquer campo de objeto JSON.

    Cotas

    É possível usar no máximo um seletor de curinga em um seletor de propriedades.

  • Operador de igualdade

    Defina operadores de igualdade com um dos seguintes símbolos: igual ("=") ou diferente ("!="). Os operadores de igualdade retornam um valor booliano (true ou false).

  • String

    Você pode colocar strings entre aspas duplas (""). Strings que contenham tipos que não sejam caracteres alfanuméricos ou underline devem ser colocadas entre aspas duplas. Use o asterisco ("*") como curinga para corresponder ao texto.

    nota

    É possível usar qualquer expressão regular condicional ao criar padrões de filtros para fazer a correspondência com termos em eventos de log JSON. Para obter uma lista de expressões regulares compatíveis, consulte Expressões regulares aceitas.

O trecho de código a seguir contém um exemplo de um padrão de filtro que mostra como formatar um padrão de filtro para corresponder um termo JSON a uma string.

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

É possível criar padrões de filtros para fazer a correspondência de valores numéricos em eventos de log JSON. O seguinte trecho de código mostra um exemplo de sintaxe para padrões de filtros que correspondem a valores numéricos.

{ PropertySelector NumericOperator Number }

Coloque padrões de filtros entre chaves ("{}"). Os padrões de filtros que correspondem a valores numéricos devem ter as seguintes partes:

  • Seletor de propriedades

    Defina seletores de propriedades com um cifrão seguido de um ponto ("$."). Os seletores de propriedade são strings alfanuméricas compatíveis com os caracteres de hífen ("-") e underline ("_"). Strings não são compatíveis com notação científica. Seletores de propriedades apontam para nós de valor em eventos de log JSON. Os nós de valor podem ser strings ou números. Coloque matrizes após seletores de propriedades. Os elementos nas matrizes seguem um sistema de numeração baseado em zero, o que significa que o primeiro elemento na matriz é o elemento 0, o segundo elemento é o elemento 1 e assim por diante. Coloque elementos entre colchetes ("[]"). Se um seletor de propriedades apontar para uma matriz ou um objeto, o padrão de filtro não corresponderá ao formato do log. Se a propriedade JSON contiver um ponto ("."), a notação de colchetes poderá ser usada para selecionar essa propriedade.

    nota

    Seletor de curingas

    É possível usar o curinga JSON para selecionar qualquer elemento da matriz ou qualquer campo de objeto JSON.

    Cotas

    É possível usar no máximo um seletor de curinga em um seletor de propriedades.

  • Operador numérico

    Defina operadores numéricos com um dos seguintes símbolos: maior que (">"), menor que ("<"), igual a ("="), diferente de ("! ="), maior ou igual a (">="), ou menor ou igual a ("<=").

  • telefone

    Você pode usar números inteiros que contenham os símbolos de mais ("+") ou menos ("-") e seguir a notação científica. Use o asterisco ("*") como curinga para corresponder números.

O trecho de código a seguir contém exemplos que mostram como formatar padrões de filtros para fazer a correspondência de termos JSON com 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 }

Os exemplos a seguir contêm trechos de código que mostram como padrões de filtros podem fazer a correspondência de termos em um evento de log JSON.

nota

Se você testar um padrão de filtro de exemplo com o evento de log JSON de exemplo, deverá inserir o log JSON de exemplo em uma única linha.

Evento de log 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

Esse padrão de filtro corresponde à string "UpdateTrail" na propriedade "eventType".

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

O padrão de filtro contém um curinga e corresponde à propriedade "sourceIPAddress" porque ele não contém um número com o prefixo "123.123.".

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

Esse padrão de filtro corresponde ao elemento "value" na matriz "arrayKey".

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

Esse padrão de filtro corresponde à string "Trail" na propriedade "eventType".

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

O padrão de filtro contém uma regex que corresponde ao elemento "value" na 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)

O padrão de filtro contém uma regex que corresponde ao elemento "111.111.111.111" na propriedade "sourceIPAddress".

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

Cotas

É possível usar no máximo um seletor de curinga em um seletor de propriedades.

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

É possível criar padrões de filtros que correspondam a campos em logs JSON com a variável IS. A variável IS pode corresponder campos que contenham os valores NULL, TRUE ou FALSE. O padrão de filtro a seguir retorna logs JSON para os quais o valor de SomeObject é NULL.

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

É possível criar padrões de filtros com a variável NOT EXISTS para retornar logs JSON que não contenham campos específicos nos dados de log. O padrão de filtro a seguir usa NOT EXISTS para retornar logs JSON que não contenham o campo SomeOtherObject.

{ $.SomeOtherObject NOT EXISTS }
nota

No momento, não há compatibilidade com as variáveis IS NOT e EXISTS.

É possível usar os operadores lógicos AND ("&&") e OR ("||") em padrões de filtros para criar expressões compostas que correspondam a eventos de log nos quais duas ou mais condições são verdadeiras. Expressões compostas são compatíveis com o uso de parênteses ("()") e com a seguinte ordem padrão de operações: () > && > ||. Os exemplos a seguir contêm trechos de código que mostram como usar padrões de filtros com expressões compostas para corresponder a termos em um 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 padrão de filtro contém uma expressão composta que faz a correspondência de "id" em "user" com um valor numérico de 1 e de "email" no primeiro elemento da matriz "users" com a string "John.Doe@example.com".

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

Esse padrão de filtro contém uma expressão composta que faz a correspondência de "email" em "user" com a string "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 (&&)

Esse padrão de filtro contém uma expressão composta que não encontra uma correspondência porque a expressão não corresponde à terceira ação em "actions".

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

Cotas

É possível usar no máximo um seletor de curinga em um seletor de propriedades e até três seletores de curinga em um padrão de filtro com expressões compostas.

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

O padrão de filtro contém uma expressão composta que não encontra uma correspondência porque a expressão não corresponde à primeira propriedade em "users" ou à terceira ação em "actions".

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

Como usar padrões de filtros para fazer correspondência de termos em eventos de log delimitados por espaços

É possível criar padrões de filtros para fazer a correspondência de termos em eventos de log delimitados por espaços Veja a seguir um exemplo de evento de log delimitado por espaços e uma descrição de como escrever a sintaxe para padrões de filtros que correspondam aos termos do evento de log delimitado por espaços.

nota

É possível usar qualquer expressão regular condicional ao criar padrões de filtros para fazer a correspondência de termos em eventos de log delimitados por espaços. Para obter uma lista de expressões regulares compatíveis, consulte Expressões regulares aceitas.

Example: Space-delimited log event

O trecho de código a seguir mostra um evento de log delimitado por espaço que contém sete campos: ip, user, username, timestamp, request, status_code e bytes.

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

Caracteres entre colchetes ("[]") e entre aspas duplas ("") são considerados campos únicos.

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

Para criar um padrão de filtro que corresponda a termos em um evento de log delimitado por espaços, coloque o padrão de filtro entre colchetes ("[]") e especifique campos com nomes separados por vírgulas (","). O padrão de filtro a seguir analisa sete campos.

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

É possível usar operadores numéricos ( >, <, =, !=, >= ou <=) e o asterisco (*) como um curinga ou uma regex para fornecer condições de padrão de filtro. No exemplo de padrão de filtro, ip usa uma regex que corresponde ao intervalo de endereços IP 127.0.0.1 a 127.0.0.9, request contém um curinga que indica que ele deve extrair um valor com .html e status_code contém um curinga que afirma que deve extrair um valor começando com 4.

Se não souber o número de campos que está analisando em um evento de log delimitado por espaço, você poderá usar reticências (…) para fazer referência a qualquer campo sem nome. As reticências podem fazer referência a quantos campos forem necessários. O exemplo a seguir mostra um padrão de filtro com reticências que representam os primeiros quatro campos sem nome mostrados no padrão de filtro de exemplo anterior.

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

Você também pode usar os operadores lógicos AND (&&) e OR (||) para criar expressões compostas. O padrão de filtro a seguir contém uma expressão composta que indica que o valor de status_code deve ser 404 ou 410.

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

É possível usar a correspondência de padrões para criar padrões de filtros delimitados por espaços que correspondam a termos em uma ordem específica. Especifique a ordem de seus termos com indicadores. Use w1 para representar seu primeiro termo e w2 e assim por diante para representar a ordem dos termos subsequentes. Coloque vírgulas (",") entre os termos. Os exemplos a seguir contêm trechos de código que mostram como é possível usar a correspondência de padrões com padrões de filtros delimitados por espaços.

nota

É possível usar qualquer expressão regular condicional ao criar padrões de filtros para fazer a correspondência de termos em eventos de log delimitados por espaços. Para obter uma lista de expressões regulares compatíveis, consulte Expressões regulares aceitas.

Evento de log delimitado por espaços

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

O padrão de filtro delimitado por espaços retorna eventos de log em que a primeira palavra nos eventos de log é ERROR.

[w1=ERROR, w2]
nota

Ao criar filtros de métrica delimitados por espaços que usam correspondência de padrões, é necessário incluir um indicador em branco depois de especificar a ordem dos termos. Por exemplo, se você criar um padrão de filtro que retorne eventos de log onde a primeira palavra seja ERROR, inclua um indicador w2 em branco após o termo w1.

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

É possível usar os operadores lógicos AND ("&&") e OR ("||") para criar padrões de filtros delimitados por espaços que contenham condições. O padrão de filtro a seguir retorna eventos de log onde a primeira palavra nos eventos é ERROR ou WARNING.

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

É possível criar padrões de filtros delimitados por espaços que retornam eventos de log excluindo um ou mais termos. Coloque um símbolo de diferente ("-") antes do termo ou dos termos que você deseja excluir. O trecho de código a seguir mostra um exemplo de um padrão de filtro que retorna eventos de log em que as primeiras palavras não são ERROR e WARNING.

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

O trecho de código a seguir mostra um exemplo de um padrão de filtro que corresponde ao item de nível superior em um URI de recurso usando regex.

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

O trecho de código a seguir mostra um exemplo de um padrão de filtro que corresponde ao item de nível filho em um URI de recurso usando regex.

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