Sintaxe do padrão e do filtro - Amazon CloudWatch Logs

Sintaxe do padrão e do filtro

nota

Se você estiver procurando informações sobre como consultar seus grupos de logs com a linguagem de consulta do Amazon CloudWatch Logs Insights, consulte Sintaxe de consulta.

Você pode criar filtros de métrica para corresponder a termos em seus eventos de log e converter dados de log em métricas. Quando um filtro de métrica corresponde a um termo, ele incrementa a contagem da métrica. Por exemplo, você pode criar um filtro de métrica que conte a ocorrência da palavra ERRO em seus eventos de log.

Você pode atribuir unidades e dimensões a uma métrica. Por exemplo, se você criar um filtro de métrica que conte as vezes que a palavra ERROR ocorre em seus eventos de log, poderá especificar uma dimensão chamada ErrorCode para mostrar o número total de eventos de log que contenham a palavra ERROR (ERRO) e filtrar os dados por códigos de erro relatados.

dica

Ao atribuir uma unidade a uma métrica, certifique-se de especificar corretamente. Se você alterar a unidade depois, sua alteração pode não entrar em vigor.

Uso de padrões de filtro para corresponder a termos em eventos de log

Os padrões de filtro compõem a sintaxe que os filtros de métrica usam para corresponder a termos em eventos de log. Os termos podem ser palavras, frases exatas ou valores numéricos. 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. Os exemplos a seguir contêm trechos de código que mostram como você pode usar padrões de filtro para corresponder a termos em seus eventos de log.

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 ("").

Exemplo: corresponder a um único termo

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

O padrão de filtro faz a correspondência das mensagens de eventos de log da seguinte forma:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Exemplo: corresponder a vários termos

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 como a seguinte:

  • [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 de filtro.

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Exemplo: corresponder a termos únicos e múltiplos

Você pode usar a correspondência de padrões para criar padrões de filtro que retornem eventos de log contendo termos únicos e múltiplos. 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 ERROR ou ARGUMENTS e as palavras ERROR e ARGUMENTS.

?ERROR ?ARGUMENTS

O padrão de filtro faz a correspondência das mensagens de eventos de log da seguinte forma:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Exemplo: corresponder a frases exatas

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 filtro retorna as mensagens de eventos de log da seguinte forma:

  • [ERROR 500] INTERNAL SERVER ERROR

Exemplo: Incluir e excluir termos

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 os eventos de log em que as mensagens incluem o termo ERRO e não incluem o termo ARGUMENTOS.

ERROR -ARGUMENTS

O padrão de filtro retorna as 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

Exemplo: Corresponder tudo

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

" "

Uso de filtros de métrica para corresponder termos e extrair valores de eventos de log JSON

Filtros de métrica são configurações que incluem padrões de filtro. Você pode criar filtros de métrica para corresponder a termos em seus eventos de log e converter dados de log em métricas. Quando o filtro de métrica corresponder a um termo, você pode incrementar a contagem da métrica. Os filtros de métrica correspondem apenas aos termos definidos no padrão de filtro. Você pode testar filtros de métrica no console do CloudWatch. Você também pode criar filtros de métrica para corresponder termos e extrair valores de eventos de log JSON. Os exemplos a seguir descrevem a sintaxe para filtros de métrica que correspondem termos JSON contendo strings e valores numéricos.

Exemplo: filtros de métrica que correspondem a strings

Você pode criar filtros de métrica para corresponder a strings em eventos de log JSON. O seguinte trecho de código mostra um exemplo da sintaxe para filtros de métrica baseados em string.

{ PropertySelector EqualityOperator String }

Coloque filtros de métrica entre chaves ("{}"). Os filtros de métrica 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. As matrizes contêm elementos que seguem um sistema de ordenação baseado em zero (0 = 1, 1 = 2 e assim por diante). Coloque elementos entre colchetes ("[]"). Se um seletor de propriedades apontar para uma matriz ou um objeto, o filtro de métrica não corresponderá ao formato do log. Se a propriedade JSON contiver um ponto/ponto ("."), a notação de colchetes poderá ser usada para selecionar essa propriedade.

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

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

{ $.eventType = "UpdateTrail" }

Exemplo: filtros de métrica que correspondem a valores numéricos

Você pode criar filtros de métrica para corresponder valores numéricos em eventos de log JSON. O seguinte trecho de código mostra um exemplo da sintaxe para filtros de métrica que correspondem valores numéricos.

{ PropertySelector NumericOperator Number }

Coloque filtros de métrica entre chaves ("{}"). Os filtros de métrica 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. As matrizes contêm elementos que seguem um sistema de ordenação baseado em zero (0 = 1, 1 = 2 e assim por diante). Coloque elementos entre colchetes ("[]"). Se um seletor de propriedades apontar para uma matriz ou um objeto, o filtro de métrica não corresponderá ao formato do log. Se a propriedade JSON contiver um ponto/ponto ("."), a notação de colchetes poderá ser usada para selecionar essa propriedade.

  • 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 um exemplo de filtro de métrica que mostra como formatar um filtro de métrica para corresponder termos JSON com valores numéricos.

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

Correspondência de termos em eventos de log JSON

Os exemplos a seguir contêm trechos de código que mostram como filtros de métrica podem corresponder termos em um evento de log JSON.

Exemplo: log de evento 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" }
nota

Se testar os filtros de métrica de exemplo com o exemplo de evento de log JSON, você deverá inserir o exemplo de log JSON em uma única linha.

Exemplo: filtro de métrica que corresponde a string

O filtro de métrica corresponde à string "UpdateTrail" na propriedade "eventType".

{ $.eventType = "UpdateTrail" }

Exemplo: filtro de métrica que corresponde a número

O filtro de métrica 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.* }

Exemplo: filtro de métrica que corresponde a um elemento na matriz

O filtro de métrica corresponde ao elemento "value" na matriz "arrayKey".

{ $.arrayKey[0] = "value" }

Exemplo: filtro de métrica que corresponde a um objeto na matriz

O filtro de métrica corresponde ao objeto "id":2 na matriz "objectList".

{ $.objectList[1].id = 2 }

Exemplo: filtro de métrica que faz a correspondência com logs JSON usando IS

Você pode criar filtros de métrica que fazem a correspondência de campos em logs JSON com a variável IS. A variável IS pode faz a correspondência aos campos que contêm os valores NULL, TRUE ou FALSE. O filtro de métrica a seguir retorna logs JSON para os quais o valor de SomeObject é NULL.

{ $.SomeObject IS NULL }

Exemplo: filtro de métrica que faz a correspondência com logs JSON usando NOT EXISTS

Você pode criar filtros de métrica com a variável NOT EXISTS para retornar logs JSON que não contenham campos específicos nos dados de log. O filtro de métrica 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.

Usando expressões compostas para corresponder a termos em objetos JSON

Você pode usar os operadores lógicos AND ("&&") e OR ("||") em filtros de métrica para criar expressões compostas que correspondam a eventos de log nos quais duas ou mais condições sejam 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 filtros de métrica com expressões compostas para corresponder a termos em um objeto JSON.

Exemplo: 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] ] }

Exemplo: expressão que faz a correspondência usando AND (&&)

O filtro de métrica contém uma expressão composta que corresponde a "id" em "user" com um valor numérico de 1 e "users" em "email" com a string "John.Doe@example.com".

{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }

Exemplo: expressão correspondente usando OR (||)

O filtro de métrica contém uma expressão composta que corresponde a "email" em "user" com a string "John.Stiles@example.com".

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

Exemplo: expressão que não faz a correspondência usando AND (&&)

O filtro de métrica contém uma expressão composta que não encontra uma correspondência porque a expressão não corresponde à primeira e nem à segunda coordenada em "coordinates" e nem à terceira ação em "actions".

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

Exemplo: expressão não correspondente usando OR (||)

O filtro de métrica 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" }

Usar filtros de métrica para extrair valores de eventos de log delimitados por espaço

Você pode usar filtros de métrica para extrair valores de campos em eventos de log delimitados por espaço. Os exemplos a seguir contêm trechos de código que mostram um evento de log delimitado por espaço; um filtro de métrica que mapeia os campos no evento de log delimitado por espaço; e os valores que o filtro de métrica extrai dos campos no evento de log delimitado por espaço.

Exemplo: evento de log delimitado por espaço

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.

Exemplo: filtro de métrica

Para criar um filtro de métrica que mapeie e extraia valores de campos em um evento de log delimitado por espaço, coloque o filtro de métrica entre colchetes ("[]") e especifique campos com nomes separados por vírgulas (","). O filtro de métrica a seguir analisa sete campos.

[ip, user, username, timestamp, request =*.html*, status_code = 4*, bytes]

Você pode usar operadores numéricos (>, <, =, !=, >>= ou < =) e o asterisco (*) como um curinga para fornecer as condições de filtro de métrica. No filtro de métrica de exemplo, request contém um curinga que afirma que ele deve extrair um valor com .html, e status_code contém um curinga que afirma que ele 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 filtro de métrica com reticências que representam os primeiros quatro campos sem nome mostrados no filtro de métrica 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 filtro de métrica 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]

Exemplo: campos e valores extraídos

O trecho de código a seguir mostra os valores que o filtro de métrica extrai dos campos no evento de log delimitado por espaço.

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$user": "Prod", "$ip": "127.0.0.1" }

Uso de correspondência de padrões para corresponder aos termos em eventos de log delimitados por espaços

Você pode usar a correspondência de padrões para criar filtros de métrica delimitados por espaço 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 você pode usar a correspondência de padrões com filtros de métrica delimitados por espaço.

Exemplo: corresponder a termos em ordem

O seguinte filtro de métrica delimitado por espaço retorna eventos de log em que a primeira palavra nos eventos de log é ERROR (ERRO).

[w1=ERROR, w2]
nota

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

Exemplo: corresponder a termos com AND (&&) e OR (||)

Você pode usar os operadores lógicos AND ("&&") e OR ("||") para criar filtros de métrica delimitados por espaço que contenham condições. O seguinte filtro de métrica retorna eventos de log em que a primeira palavra nos eventos é ERRO ou AVISO.

[w1=ERROR || W1=WARNING, w2]

Exemplo: excluir termos das correspondências

Você pode criar filtros de métrica delimitados por espaço 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 seguinte trecho de código mostra um exemplo de um filtro de métrica que retorna eventos de log em que as primeiras palavras não são ERROR (ERRO) e WARNING (ADVERTÊNCIA).

[w1!=ERROR && w1!=WARNING, w2]

Configurando valores métricos para um filtro de métrica

Ao criar um filtro de métrica, você define seu padrão de filtro e especifica o valor da métrica e o valor padrão. Você pode definir valores de métrica para números, identificadores nomeados ou identificadores numéricos. Se você não especificar um valor padrão, o CloudWatch não reportará os dados quando o filtro de métrica não encontrar uma correspondência. Recomendamos que você especifique um valor padrão, mesmo que o valor seja 0. Definir um valor padrão ajuda o CloudWatch a reportar dados com mais precisão e impede que o CloudWatch agregue métricas irregulares. O CloudWatch agrega e reporta valores de métrica a cada minuto.

Quando o filtro de métrica encontra uma correspondência em seus eventos de log, ele incrementa a contagem da métrica de acordo com o valor da métrica. Se o filtro de métrica não encontrar uma correspondência, o CloudWatch reportará o valor padrão da métrica. Por exemplo, seu grupo de logs publica dois registros a cada minuto, o valor de métrica é 1 e o valor padrão é 0. Se o filtro de métrica encontrar correspondências nos dois registros de log no primeiro minuto, o valor de métrica para aquele minuto será 2. Se o filtro de métrica não encontrar correspondências em nenhum dos dois registros durante o segundo minuto, o valor padrão para aquele minuto será 0. Se você atribuir dimensões a métricas geradas por filtros de métrica, não será possível especificar valores padrão para essas métricas.

Você também pode configurar um filtro de métrica para incrementar uma métrica com um valor extraído de um evento de log, em vez de um valor estático. Para obter mais informações, consulte Usando valores em eventos de log para incrementar o valor de uma métrica.

Publicar dimensões com métricas de valores em eventos de log JSON ou delimitados por espaços

Você pode usar o console do CloudWatch ou a CLI da AWS para criar filtros de métrica que publicam dimensões com métricas geradas por eventos de log JSON e delimitados por espaço. As dimensões são pares de valor nome/valor e só estão disponíveis para padrões de filtro JSON e delimitados por espaço. Você pode criar filtros de métrica JSON e delimitados por espaço com até três dimensões. Para obter mais informações sobre dimensões e informações sobre como atribuir dimensões a métricas, consulte as seguintes seções:

Importante

As dimensões contêm valores que coletam cobranças iguais às métricas personalizadas. Para evitar cobranças inesperadas, não especifique campos de alta cardinalidade, por exemplo, IPAddress ou requestID, como dimensões.

Se você extrair métricas de eventos de log, você será cobrado por métricas personalizadas. Para evitar cobranças elevadas acidentais, a Amazon pode desabilitar seu filtro de métrica se este gerar 1.000 pares de nome/valor diferentes para as dimensões especificadas em um período de tempo específico.

Você pode criar alarmes de faturamento que o notificam sobre suas cobranças estimadas. Para mais informações, consulte Criar um alarme de faturamento para monitorar suas cobranças estimadas da AWS.

Publicar dimensões com métricas de eventos de log JSON

Os exemplos a seguir contêm trechos de código que descrevem como especificar dimensões em um filtro de métrica JSON.

Exemplo: log de evento JSON

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
nota

Se você testar o filtro de métrica de exemplo com o exemplo de evento de log JSON, deverá inserir o exemplo de log JSON em uma única linha.

Exemplo: filtro de métrica

O filtro de métrica incrementa a métrica sempre que um evento de log JSON contiver as propriedades eventType e "sourceIPAddress".

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

Ao criar um filtro de métrica JSON, é possível especificar qualquer uma das propriedades no filtro de métrica como dimensão. Por exemplo, para definir eventType como uma dimensão, use o seguinte:

"eventType" : $.eventType

A métrica de exemplo contém uma dimensão nomeada "eventType", e o valor da dimensão no evento de log de exemplo é "UpdateTrail".

Publicar dimensões com métricas de eventos de log delimitados por espaços

Os exemplos a seguir contêm trechos de código que descrevem como especificar dimensões em um filtro de métrica delimitado por espaço.

Exemplo: evento de log delimitado por espaço

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

Exemplo: filtro de métrica

[ip, server, username, timestamp, request, status_code, bytes > 1000]

O filtro de métrica incrementa a métrica quando um evento de log delimitado por espaço inclui qualquer um dos campos especificados no filtro. Por exemplo, o filtro de métrica encontra os seguintes campos e valores no exemplo de evento de log delimitado por espaço.

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

Ao criar um filtro de métrica delimitado por espaço, é possível especificar qualquer um dos campos no filtro de métrica como uma dimensão. Por exemplo, para definir server como uma dimensão, use o seguinte:

"server" : $server

O filtro de métrica de exemplo contém uma dimensão nomeada server, e o valor da dimensão no evento de log de exemplo é "Prod".

Usando valores em eventos de log para incrementar o valor de uma métrica

Você pode criar filtros de métrica que publicam valores numéricos encontrados em eventos de log. O procedimento nesta seção usa o seguinte exemplo de filtro de métrica para mostrar como você pode publicar um valor numérico em um evento de log JSON em uma métrica.

{ $.latency = * } metricValue: $.latency
Criar um filtro de métrica que publique um valor em um evento de log
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, escolha Logs e, em seguida, escolha Grupos de log.

  3. Selecione ou crie um grupo de logs.

    Para obter mais informações sobre como criar um grupo de logs, consulte Criar um grupo de logs no CloudWatch Logs no Guia do usuário do Amazon CloudWatch Logs.

  4. Escolha Actions (Ações) e escolha Create metric filter (Criar filtro de métrica).

  5. Em Padrão de filtro, digite { $.latency = * } e escolha Próximo.

  6. Em Nome da métrica, insira myMetric.

  7. Em Valor da métrica, insira $.latency.

  8. (Opcional) Em Valor padrão, insira 0 e escolha Próximo.

    Recomendamos que você especifique um valor padrão, mesmo que o valor seja 0. Definir um valor padrão ajuda o CloudWatch a reportar dados com mais precisão e impede que o CloudWatch agregue métricas irregulares. O CloudWatch agrega e reporta valores de métrica a cada minuto.

  9. Escolha Criar filtro de métrica.

O filtro de métrica de exemplo corresponde ao termo "latency" no exemplo de evento de log JSON e publica um valor numérico de 50 na métrica MyMetric.

{ "latency": 50, "requestType": "GET" }