

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

# Criar filtros de métrica
<a name="MonitoringPolicyExamples"></a>

Os procedimentos e exemplos a seguir mostram como criar filtros de métrica.

**Topics**
+ [Criar um filtro de métrica para um grupo de logs](CreateMetricFilterProcedure.md)
+ [Exemplo: contar eventos de log](CountingLogEventsExample.md)
+ [Exemplo: contar as ocorrências de um termo](CountOccurrencesExample.md)
+ [Exemplo: contar códigos HTTP 404](Counting404Responses.md)
+ [Exemplo: contar códigos HTTP 4xx](FindCountMetric.md)
+ [Exemplo: Extrair campos de um log Apache e atribuir dimensões](ExtractBytesExample.md)

# Criar um filtro de métrica para um grupo de logs
<a name="CreateMetricFilterProcedure"></a>

Para criar um filtro de métrica para um grupo de logs, siga estas etapas. A métrica não será visível até que haja alguns pontos de dados para ela.

**Para criar um filtro métrico usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1.  No painel de navegação, escolha **Logs** e, em seguida, escolha **Grupos de logs**. 

1.  Escolha o nome do grupo de logs. 

1.  Escolha `Actions` e **Create metric filter** (Criar filtro de métrica). 

1.  Em **Padrão de filtro**, insira o padrão de filtro. Para obter mais informações, consulte [Sintaxe de padrões de filtros para filtros de métricas, filtros de assinatura, filtros de eventos de log e Live Tail.](FilterAndPatternSyntax.md). 

1.  (Opcional) Se estiver usando grupos de logs centralizados, em **Critérios de seleção de filtros**, você poderá especificar filtros com base na conta de origem (`@aws.account`), na região de origem (`@aws.region`) ou em ambas as condições.

1.  (Opcional) Para testar seu padrão de filtro, em **Test Pattern** (Testar padrão), insira um ou mais eventos de logs para testar o padrão. Cada evento de logs deve ser formatado em uma linha. Quebras de linha são usadas para separar eventos de logs na caixa **Log event messages** (Mensagens de log de eventos). 

1.  Escolha **Next** (Próximo) e digite um nome para o filtro de métrica. 

1.  Em **Detalhes da métrica**, em **Namespace métrica**, insira um nome para o CloudWatch namespace em que a métrica será publicada. Se esse namespace ainda não existir, certifique-se de que a opção **Create new** (Criar novo) esteja selecionada. 

1.  Em **Metric name** (Nome da métrica), insira um nome para a nova métrica. 

1.  Em **Metric value** (Valor da métrica), se o filtro de métrica estiver contando ocorrências das palavras-chave no filtro, digite 1. Isso incrementa a métrica em 1 para cada evento de log que contém uma das palavras-chave. 

    Se preferir, insira um token, como **\$1size**. Isso incrementa a métrica pelo valor do número no campo `size` para cada evento de log que contém um campo `size`. 

1.  (Opcional) Em **Unit** (Unidade), selecione uma unidade para atribuir à métrica. Se você não especificar uma unidade, a unidade será definida como `None`. 

1.  (Opcional) Insira os nomes e tokens de até três dimensões para a métrica. Se você atribuir dimensões a métricas criadas por filtros de métrica, não poderá atribuir valores padrões para essas métricas. 
**nota**  
 As dimensões são compatíveis apenas com filtros de métrica JSON ou delimitados por espaço. 

1.  Escolha **Criar filtro de métrica**. Você pode encontrar o filtro de métrica que criou no painel de navegação. Escolha **Logs** e depois escolha **Log groups** (Grupo de logs). Escolha o nome do grupo de logs para o qual você criou o filtro de métrica e, em seguida, selecione a guia **Metric filters** (Filtros de métrica). 

# Exemplo: contar eventos de log
<a name="CountingLogEventsExample"></a>

O tipo mais simples de monitoramento de eventos de log é contar o número de eventos de log ocorridos. É possível fazer isso para manter uma contagem de todos os eventos, para criar um monitor no estilo de "pulsação" ou apenas para praticar a criação de filtros de métrica.

No exemplo de CLI a seguir, um filtro de métrica chamado MyAppAccessCount é aplicado ao grupo de registros MyApp /access.log para criar a métrica EventCount no CloudWatch namespace. MyNamespace O filtro é configurado para fazer a correspondência de qualquer conteúdo de eventos de log e incrementar a métrica por "1".

**Para criar um filtro métrico usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Grupos de logs**.

1. Escolha o nome de um grupo de logs.

1. Escolha a `Actions` **Criar filtro de métrica**.

1. Deixe **Padrão de filtro** e **Selecionar dados de log para testar** em branco.

1. Escolha **Próximo** e, em **Nome do filtro**, digite **EventCount**.

1. Em **Detalhes da métrica**, em **Namespace da métrica**, digite **MyNameSpace**.

1. Para **Metric Name (Nome da métrica)**, digite **MyAppEventCount**.

1. Confirme se o **Valor da métrica** é 1. Isso especifica que a contagem é aumentada em 1 para cada evento de log.

1. Para **Valor padrão**, insira 0 e escolha **Próximo**. Especificar um valor padrão garante que os dados são relatados mesmo durante períodos em que não ocorrem eventos de log. Isso evita métricas irregulares nas quais os dados, às vezes, não existem.

1. Escolha **Criar filtro de métrica**.

**Para criar um filtro métrico usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando:

```
aws logs put-metric-filter \
  --log-group-name MyApp/access.log \
  --filter-name EventCount \
  --filter-pattern " " \
  --metric-transformations \
  metricName=MyAppEventCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

Você pode testar essa nova política postando quaisquer dados de eventos. Você deve ver os pontos de dados publicados na métrica MyAppAccessEventCount.

**Para publicar dados do evento usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando:

```
aws logs put-log-events \
  --log-group-name MyApp/access.log --log-stream-name TestStream1 \
  --log-events \
    timestamp=1394793518000,message="Test event 1" \
    timestamp=1394793518000,message="Test event 2" \
    timestamp=1394793528000,message="This message also contains an Error"
```

# Exemplo: contar as ocorrências de um termo
<a name="CountOccurrencesExample"></a>

Os eventos de log frequentemente incluem mensagens importantes que você deseja contar, talvez sobre o êxito ou a falha de operações. Por exemplo, poderá ocorrer um erro e ele ser registrado em um arquivo de log se ocorrer uma falha em uma determinada operação. É possível monitorar essas entradas para entender a tendência dos erros.

No exemplo abaixo, um filtro de métrica é criado para monitorar o termo Erro. A política foi criada e adicionada ao grupo de registros **MyApp/message.log**. CloudWatch O Logs publica um ponto de dados ErrorCount na métrica CloudWatch personalizada no namespace **MyApp/message.log** com o valor “1" para cada evento que contém Error. Se não houver um evento com a palavra Erro, será publicado um valor de 0. Ao representar graficamente esses dados no CloudWatch console, certifique-se de usar a estatística da soma.

Depois de criar um filtro de métrica, você pode ver a métrica no CloudWatch console. Ao selecionar a métrica a ser exibida, selecione o namespace da métrica que corresponde ao nome do grupo de logs. Para obter mais informações, consulte [Visualizar métricas disponíveis](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html).

**Para criar um filtro métrico usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Grupos de logs**.

1. Escolha o nome do grupo de logs.

1. Escolha **Ações**, **Criar filtro de métrica**.

1. Em **Padrão de filtro**, insira **Error**.
**nota**  
Todas as entradas em **Filtrar padrão** fazem distinção de maiúsculas e minúsculas.

1. (Opcional) Para testar seu padrão de filtro, em **Test Pattern** (Testar padrão), insira um ou mais eventos de log a serem usados para testar o padrão. Cada evento de log deve estar dentro de uma linha, porque as quebras de linha são usadas para separar eventos de log na caixa **Log event messages** (Mensagens do evento de log).

1. Escolha **Próximo** e, na página **Atribuir métrica**, em **Nome do filtro**, digite **MyAppErrorCount**.

1. Em **Detalhes da métrica**, em **Namespace da métrica**, digite **MyNameSpace**.

1. Para **Metric Name (Nome da métrica)**, digite **ErrorCount**.

1. Confirme se o **Valor da métrica** é 1. Isso especifica que a contagem é aumentada em 1 para cada evento de log que contém "Erro".

1. Para **Valor padrão**, digite 0 e escolha **Próximo**. 

1. Escolha **Criar filtro de métrica**.

**Para criar um filtro métrico usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando:

```
aws logs put-metric-filter \
  --log-group-name MyApp/message.log \
  --filter-name MyAppErrorCount \
  --filter-pattern 'Error' \
  --metric-transformations \
      metricName=ErrorCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

Você pode testar essa nova política postando eventos que contenham a palavra "Erro" na mensagem.

**Para publicar eventos usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando da . Os padrões fazem distinções de maiúsculas e minúsculas.

```
aws logs put-log-events \
  --log-group-name MyApp/access.log --log-stream-name TestStream1 \
  --log-events \
    timestamp=1394793518000,message="This message contains an Error" \
    timestamp=1394793528000,message="This message also contains an Error"
```

# Exemplo: contar códigos HTTP 404
<a name="Counting404Responses"></a>

Usando o CloudWatch Logs, você pode monitorar quantas vezes seus servidores Apache retornam uma resposta HTTP 404, que é o código de resposta para a página não encontrada. Você pode monitorar isso para entender a frequência com que os visitantes de seu site não encontram o recurso que procuram. Suponha que seus registros de log estejam estruturados para incluir as seguintes informações para cada evento de log (visita ao site):
+ Endereço IP do solicitante
+ Identidade RFC 1413
+ Nome de usuário
+ Timestamp
+ Método de solicitação com o recurso solicitado e o protocolo
+ Código de resposta HTTP para a solicitação
+ Bytes transferidos na solicitação

Um exemplo disso pode ter a seguinte aparência:

```
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 404 2326
```

Você pode especificar uma regra que tente fazer a correspondência de eventos dessa estrutura para erros HTTP 404, como mostrado no exemplo a seguir:

**Para criar um filtro métrico usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Grupos de logs**.

1. Escolha a `Actions` **Criar filtro de métrica**.

1. Em **Padrão de filtro**, digite **[IP, UserInfo, User, Timestamp, RequestInfo, StatusCode=404, Bytes]**.

1. (Opcional) Para testar seu padrão de filtro, em **Test Pattern** (Testar padrão), insira um ou mais eventos de log a serem usados para testar o padrão. Cada evento de log deve estar dentro de uma linha, porque as quebras de linha são usadas para separar eventos de log na caixa **Log event messages** (Mensagens do evento de log).

1. Escolha **Avançar** e, em **Nome do filtro**, digite **HTTP404Erros**.

1. Em **Detalhes da métrica**, para **Namespace da métrica**, insira **MyNameSpace**.

1. Em **Nome da métrica**, insira **ApacheNotFoundErrorCount**.

1. Confirme se o **Valor da métrica** é 1. Isso especifica que a contagem é aumentada em 1 para cada evento 404 Error.

1. Para **Valor padrão**, insira 0 e escolha **Próximo**.

1. Escolha **Criar filtro de métrica**.

**Para criar um filtro métrico usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando:

```
aws logs put-metric-filter \
  --log-group-name MyApp/access.log \
  --filter-name HTTP404Errors \
  --filter-pattern '[ip, id, user, timestamp, request, status_code=404, size]' \
  --metric-transformations \
      metricName=ApacheNotFoundErrorCount,metricNamespace=MyNamespace,metricValue=1
```

Neste exemplo, os caracteres literais, como os colchetes à direita e à esquerda, aspas duplas e string de caracteres 404 foram usados. O padrão precisa fazer a correspondência com toda a mensagem de evento de log para o evento de log a ser considerado para monitoramento.

Você pode verificar a criação do filtro de métrica usando o comando **describe-metric-filters**. Você deve ver uma saída semelhante a:

```
aws logs describe-metric-filters --log-group-name MyApp/access.log

{
    "metricFilters": [
        {
            "filterName": "HTTP404Errors", 
            "metricTransformations": [
                {
                    "metricValue": "1", 
                    "metricNamespace": "MyNamespace", 
                    "metricName": "ApacheNotFoundErrorCount"
                }
            ], 
            "creationTime": 1399277571078, 
            "filterPattern": "[ip, id, user, timestamp, request, status_code=404, size]"
        }
    ]
}
```

Agora você pode publicar alguns eventos manualmente:

```
aws logs put-log-events \
--log-group-name MyApp/access.log --log-stream-name hostname \
--log-events \
timestamp=1394793518000,message="127.0.0.1 - bob [10/Oct/2000:13:55:36 -0700] \"GET /apache_pb.gif HTTP/1.0\" 404 2326" \
timestamp=1394793528000,message="127.0.0.1 - bob [10/Oct/2000:13:55:36 -0700] \"GET /apache_pb2.gif HTTP/1.0\" 200 2326"
```

Logo após colocar esses exemplos de eventos de log, você pode recuperar a métrica nomeada no CloudWatch console como ApacheNotFoundErrorCount.

# Exemplo: contar códigos HTTP 4xx
<a name="FindCountMetric"></a>

Como no exemplo anterior, você pode monitorar seus logs de acesso do serviço da Web e monitorar os níveis de código de resposta HTTP. Por exemplo, você pode monitorar todos os erros no nível de HTTP 400 erros. No entanto, é possível especificar um novo filtro de métrica para cada código de retorno.

O exemplo a seguir demonstra como criar uma métrica que inclua todas as 400 respostas de código HTTP a partir de um log de acesso usando o formato de log de acesso do Apache do exemplo [Exemplo: contar códigos HTTP 404](Counting404Responses.md).

**Para criar um filtro métrico usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Grupos de logs**.

1. Escolha o nome do grupo de logs para o servidor Apache.

1. Escolha a `Actions` **Criar filtro de métrica**.

1. Em **Padrão de filtro**, insira **[ip, id, user, timestamp, request, status\$1code=4\$1, size]**.

1. (Opcional) Para testar seu padrão de filtro, em **Test Pattern** (Testar padrão), insira um ou mais eventos de log a serem usados para testar o padrão. Cada evento de log deve estar dentro de uma linha, porque as quebras de linha são usadas para separar eventos de log na caixa **Log event messages** (Mensagens do evento de log).

1. Escolha **Próximo** e, em **Nome do filtro**, digite **HTTP4xxErrors**.

1. Em **Detalhes da métrica**, em **Namespace da métrica**, insira **MyNameSpace**.

1. Em **Nome da métrica**, insira **HTTP4xxErros**.

1. Em **Metric value** (Valor da métrica), digite 1. Isso especifica que a contagem é aumentada em 1 para cada log que contém um erro 4xx.

1. Em **Valor padrão**, insira 0 e escolha **Próximo**. 

1. Escolha **Criar filtro de métrica**.

**Para criar um filtro métrico usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando:

```
aws logs put-metric-filter \
  --log-group-name MyApp/access.log \
  --filter-name HTTP4xxErrors \
  --filter-pattern '[ip, id, user, timestamp, request, status_code=4*, size]' \
  --metric-transformations \
  metricName=HTTP4xxErrors,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

Você pode usar os seguintes dados em chamadas put-event para testar essa regra. Se você não removeu a regra de monitoramento no exemplo anterior, gerará duas métricas diferentes.

```
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /~test/ HTTP/1.1" 200 3
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:51:34 -0700] "GET /~test/index.html HTTP/1.1" 200 3
```

# Exemplo: Extrair campos de um log Apache e atribuir dimensões
<a name="ExtractBytesExample"></a>

Às vezes, em vez de contar, é útil usar os valores em eventos de log individuais para valores de métrica. Este exemplo mostra como criar uma regra de extração para criar uma métrica que meça os bytes transferidos por um servidor web Apache.

O exemplo também mostra como atribuir dimensões à métrica que você está criando.

**Para criar um filtro métrico usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Grupos de logs**.

1. Escolha o nome do grupo de logs para o servidor Apache.

1. Escolha a `Actions` **Criar filtro de métrica**.

1. Em **Padrão de filtro**, insira **[ip, id, user, timestamp, request, status\$1code, size]**.

1. (Opcional) Para testar seu padrão de filtro, em **Test Pattern** (Testar padrão), insira um ou mais eventos de log a serem usados para testar o padrão. Cada evento de log deve estar dentro de uma linha, porque as quebras de linha são usadas para separar eventos de log na caixa **Log event messages** (Mensagens do evento de log).

1. Escolha **Próximo** e, em **Nome do filtro**, digite **size**.

1. Em **Metric details** (Detalhes da métrica), em **Metric namespace** (Namespace da métrica), insira **MyNameSpace**. Como se trata de um novo namespace, verifique se a opção **Create new** (Criar novo) está selecionada.

1. Em **Metric name** (Nome da métrica), insira **BytesTransferred**

1. Em **Valor de métrica**, insira **\$1size**.

1. Em **Unit** (Unidade), selecione **Bytes**.

1. Para **Dimension Name**, digite **IP**.

1. Em **Dimension Value** (Valor da dimensão), digite **\$1ip** e escolha **Next** (Próximo).

1. Escolha **Criar filtro de métrica**.

**Para criar esse filtro métrico usando o AWS CLI**  
Em um prompt de comando, execute o seguinte comando

```
aws logs put-metric-filter \
--log-group-name MyApp/access.log \
 --filter-name BytesTransferred \
 --filter-pattern '[ip, id, user, timestamp, request, status_code, size]' \
 --metric-transformations  \
 metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue='$size'
```

```
aws logs put-metric-filter \
--log-group-name MyApp/access.log \
--filter-name BytesTransferred \
--filter-pattern '[ip, id, user, timestamp, request, status_code, size]' \
--metric-transformations  \
metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue='$size',unit=Bytes,dimensions='{{IP=$ip}}'
```

**nota**  
Nesse comando, use esse formato para especificar várias dimensões.  

```
aws logs put-metric-filter \
--log-group-name my-log-group-name \
--filter-name my-filter-name \
--filter-pattern 'my-filter-pattern' \
--metric-transformations  \
metricName=my-metric-name,metricNamespace=my-metric-namespace,metricValue=my-token,unit=unit,dimensions='{dimension1=$dim,dimension2=$dim2,dim3=$dim3}'
```

Você pode usar os dados a seguir em put-log-event chamadas para testar essa regra. Isso gerará duas métricas diferentes se você não removeu a regra de monitoramento no exemplo anterior.

```
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /~test/ HTTP/1.1" 200 3
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:51:34 -0700] "GET /~test/index.html HTTP/1.1" 200 3
```