

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

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