

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

# Registro em log
<a name="envoy-logs"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Ao criar seus nós virtuais e gateways virtuais, você tem a opção de configurar os logs de acesso do Envoy. No console, isso está na seção **Registro em log** do nó virtual e do gateway virtual para criar ou editar fluxos de trabalho.

![\[Logging configuration interface showing HTTP access logs path field with example path.\]](http://docs.aws.amazon.com/pt_br/app-mesh/latest/userguide/images/logging.png)


A imagem anterior mostra um caminho de log do `/dev/stdout` para logs de acesso do Envoy.

Para `format`, especifique **um** dos dois formatos possíveis, `json` *ou* `text`, e o padrão. `json` pega pares de chaves e os transforma em estrutura JSON antes de passá-los para o Envoy.

O bloco de código a seguir mostra a representação JSON que você pode usar no AWS CLI.

```
      "logging": { 
         "accessLog": { 
            "file": { 
               "path": "/dev/stdout",
                "format" : { 
                    // Exactly one of json or text should be specified
                    "json": [ // json will be implemented with key pairs
                        {
                            "key": "string",
                            "value": "string"
                        }
                    ]
                    "text": "string" //e.g. "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n"
                }
            }
         }
      }
```

**Importante**  
Certifique-se de verificar se seu padrão de entrada é válido para o Envoy, ou o Envoy rejeitará a atualização e armazenará as alterações mais recentes no `error state`.

Quando você envia os logs de acesso do Envoy para `/dev/stdout`, eles são misturados aos logs do contêiner do Envoy. Você pode exportá-los para um serviço de armazenamento e processamento de registros, como o CloudWatch Logs, usando drivers de log padrão do Docker, como`awslogs`. Para obter mais informações, consulte a seção [Como usar o driver de log do awslogs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) no Guia do desenvolvedor do Amazon ECS. Para exportar somente os logs de acesso do Envoy (e ignorar os outros logs do contêiner do Envoy), você pode definir o `ENVOY_LOG_LEVEL` como `off`. Você pode registrar a solicitação sem a string de consulta incluindo a string de formato `%REQ_WITHOUT_QUERY(X?Y):Z%`. Para ver exemplos, consulte [Formatador `ReqWithoutQuery`](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/formatter/req_without_query/v3/req_without_query.proto). Para obter mais informações, consulte [Logs de acesso](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/access_log.html) na documentação do Envoy.

**Habilitar logs de acesso no Kubernetes**  
Ao usar o [Controlador do App Mesh para Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-k8s-integration.html), você pode configurar nós virtuais com log de acesso adicionando a configuração de log à especificação do nó virtual, conforme mostrado no exemplo a seguir.

```
---
apiVersion: appmesh.k8s.aws/v1beta2
kind: VirtualNode
metadata:
  name: virtual-node-name
  namespace: namespace
spec:
  listeners:
    - portMapping:
        port: 9080
        protocol: http
  serviceDiscovery:
    dns:
      hostName: hostname
  logging:
    accessLog:
      file:
        path: "/dev/stdout"
```

Seu cluster deve ter um encaminhador de logs para coletar esses logs, como o Fluentd. Para obter mais informações, consulte [Configurar o Fluentd como um DaemonSet para enviar registros para CloudWatch o Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs.html).

O Envoy também grava vários logs de depuração de seus filtros para o `stdout`. Esses registros são úteis para obter informações sobre a comunicação do Envoy com o App Mesh e service-to-service o tráfego. Seu nível de log específico pode ser configurado usando a variável de ambiente `ENVOY_LOG_LEVEL`. Por exemplo, o texto a seguir é de um exemplo de log de depuração que mostra o cluster ao qual o Envoy correspondeu a uma solicitação HTTP específica.

```
[debug][router] [source/common/router/router.cc:434] [C4][S17419808847192030829] cluster 'cds_ingress_howto-http2-mesh_color_client_http_8080' match for URL '/ping'
```

## Firelens e Cloudwatch
<a name="firelens-cloudwatch-logging"></a>

O [Firelens](https://aws.amazon.com/about-aws/whats-new/2019/11/aws-launches-firelens-log-router-for-amazon-ecs-and-aws-fargate/#:~:text=FireLens%20is%20a%20container%20log,for%20log%20analytics%20and%20storage.&text=This%20means%20you%20can%20use,your%20own%20Fluentd%20output%20plugin.) é um roteador de registros de contêineres que você pode usar para coletar registros do Amazon ECS e. AWS Fargate Você pode encontrar um exemplo de uso do Firelens em nosso [repositório de amostras da AWS](https://github.com/aws-samples/amazon-ecs-firelens-examples).

Você pode usar CloudWatch para coletar informações de registro, bem como métricas. Você pode encontrar mais informações CloudWatch na seção [Exportação de métricas](https://docs.aws.amazon.com/app-mesh/latest/userguide/metrics.html#cloudwatch) dos documentos do App Mesh.