

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 do Amazon MSK
<a name="msk-logging"></a>

Você pode entregar registros do agente Apache Kafka para um ou mais dos seguintes tipos de destino: Amazon CloudWatch Logs, Amazon S3, Amazon Data Firehose. Você também pode registrar chamadas de API do Amazon MSK com AWS CloudTrail.

**nota**  
Os registros do corretor estão disponíveis nas corretoras MSK Standard e Express.

## Logs do agente
<a name="broker-logs"></a>

Os logs de agente permitem solucionar problemas de aplicações do Apache Kafka e analisar as comunicações delas com o seu cluster do MSK. Você pode configurar seu cluster MSK novo ou existente para fornecer registros de agente em nível de informação a um ou mais dos seguintes tipos de recursos de destino: um grupo de CloudWatch registros, um bucket do S3, um stream de entrega do Firehose. Por meio do Firehose, você pode então entregar os dados de registro do seu stream de entrega para OpenSearch o Service.

Você deve criar um recurso de destino antes de configurar seu cluster para entregar registros do agente a esse recurso. O Amazon MSK não cria esses recursos de destino para você se eles ainda não existirem. Para obter informações sobre esses três tipos de recursos de destino e como criá-los, consulte a seguinte documentação:
+ [ CloudWatch Registros da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)
+ [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)

### Permissões obrigatórias
<a name="broker-logs-perms"></a>

Para configurar um destino para os logs de agente do Amazon MSK, a identidade do IAM que você usa para as ações do Amazon MSK deve ter as permissões descritas na política [AWS política gerenciada: Amazon MSKFull Access](security-iam-awsmanpol-AmazonMSKFullAccess.md). 

Para transmitir logs de agente para um bucket do S3, também é necessário ter a permissão `s3:PutBucketPolicy`. Para obter informações sobre as políticas de bucket do S3, consulte [Como adiciono uma política de bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) no Guia do usuário do Amazon S3. Para obter informações sobre as políticas do IAM em geral, consulte [Gerenciamento de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no Guia do usuário do IAM. 

### Política de chave obrigatória do KMS para uso com buckets de SSE-KMS
<a name="sse-kms-buckets"></a>

Se você habilitou a criptografia do lado do servidor para seu bucket do S3 usando chaves AWS KMS gerenciadas (SSE-KMS) com uma chave gerenciada pelo cliente, adicione o seguinte à política de chaves da sua chave KMS para que o Amazon MSK possa gravar arquivos de agente no bucket.

```
{
  "Sid": "Allow Amazon MSK to use the key.",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "delivery.logs.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

### Configure os registros do broker usando o Console de gerenciamento da AWS
<a name="broker-logs-console"></a>

Se estiver criando um cluster, procure o cabeçalho **Broker log delivery (Entrega de log de agente)** na seção **Monitoring (Monitoramento)**. É possível especificar os destinos aos quais deseja que o Amazon MSK entregue os logs de agente. 

Para um cluster existente, escolha o cluster na lista de clusters e selecione a guia **Propriedades**. Role para baixo até a seção **Entrega de logs** e escolha o botão **Editar**. É possível especificar os destinos aos quais deseja que o Amazon MSK entregue os logs de agente.

### Configure os registros do broker usando o AWS CLI
<a name="broker-logs-cli"></a>

Quando você usar o comando `create-cluster` ou `update-monitoring`, poderá especificar o parâmetro `logging-info` opcionalmente e passar uma estrutura JSON para ele como o exemplo a seguir. Nesse JSON, todos os três tipos de destino são opcionais.

**nota**  
Você deve definir a tag `LogDeliveryEnabled` como `true` nos fluxos do Firehose para configurar a entrega de logs. A função vinculada ao serviço AWS criada para CloudWatch registros usa essa tag para conceder permissão para todos os streams de entrega do Firehose. Se você remover essa tag, a função vinculada ao serviço não poderá entregar logs ao stream do Firehose. Para ver um exemplo de uma política do IAM que mostra as permissões que a função vinculada ao serviço inclui, consulte [Funções do IAM usadas para permissões de recursos no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html) *do usuário da Amazon*.

```
{
  "BrokerLogs": {
    "S3": {
      "Bucket": "amzn-s3-demo-bucket",
      "Prefix": "ExamplePrefix",
      "Enabled": true
    },
    "Firehose": {
      "DeliveryStream": "ExampleDeliveryStreamName",
      "Enabled": true
    },
    "CloudWatchLogs": {
      "Enabled": true,
      "LogGroup": "ExampleLogGroupName"
    }
  }
}
```

### Configurar logs de agentes usando a API
<a name="broker-logs-api"></a>

Você pode especificar a `loggingInfo` estrutura opcional no JSON que você passa para as [UpdateMonitoring](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring)operações [CreateCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster)ou.

**nota**  
Por padrão, quando o registro em log do agente estiver habilitado, o Amazon MSK registrará os logs no nível de `INFO` nos destinos especificados. [No entanto, para corretores Standard, os usuários do Apache Kafka 2.4.X e versões posteriores podem definir dinamicamente o nível de log do broker para qualquer um dos níveis de log log4j.](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html) Para obter informações sobre como definir dinamicamente o nível de log do agente, consulte [KIP-412: estender a API Admin para oferecer suporte aos níveis dinâmicos de log do aplicativo](https://cwiki.apache.org/confluence/display/KAFKA/KIP-412%3A+Extend+Admin+API+to+support+dynamic+application+log+levels). Se você definir dinamicamente o nível de log como `DEBUG` ou `TRACE`, recomendamos usar o Amazon S3 ou o Firehose como o destino de logs. Se você usar CloudWatch Logs como um destino de log e ativar `DEBUG` ou `TRACE` nivelar dinamicamente o registro, o Amazon MSK poderá fornecer continuamente uma amostra de registros. Isso pode afetar significativamente o desempenho do agente e só deve ser usado quando o nível de log `INFO` não for suficientemente detalhado para determinar a causa raiz de um problema.