

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.

# Registre chamadas de API com AWS CloudTrail
<a name="logging-API-using-cloudtrail"></a>



**nota**  
AWS CloudTrail os registros estão disponíveis para o Amazon MSK somente quando você usa[Controle de acesso do IAM](iam-access-control.md).

O Amazon MSK é integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou AWS serviço no Amazon MSK. CloudTrail captura chamadas de API como eventos. As chamadas capturadas incluem as chamadas do console do Amazon MSK e as chamadas de código para as operações da API do Amazon MSK. Ele também captura ações do Apache Kafka, como criar e alterar tópicos e grupos.

Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para o Amazon MSK. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no **Histórico de eventos**. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita para a Amazon MSK ou a ação do Apache Kafka, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais. 

Para saber mais CloudTrail, inclusive como configurá-lo e ativá-lo, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informações do Amazon MSK em CloudTrail
<a name="msk-info-in-cloudtrail"></a>

CloudTrail é ativado na sua conta da Amazon Web Services quando você cria a conta. Quando a atividade de evento suportada ocorre em um cluster MSK, essa atividade é registrada em um CloudTrail evento junto com outros eventos de AWS serviço no **histórico** de eventos. Você pode visualizar, pesquisar e baixar os eventos recentes em sua conta da Amazon Web Services. Para obter mais informações, consulte [Visualizar eventos com o histórico de eventos do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para obter um registro contínuo dos eventos na sua conta da Amazon Web Services, incluindo os eventos do Amazon MSK, crie uma trilha. Uma *trilha* permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando uma trilha é criada no console, a mesma é aplicada a todas as regiões da . A trilha registra logs de eventos de todas as Regiões na AWS divisória e entrega os arquivos do log para o bucket Amazon S3 especificado. Além disso, você pode configurar outros serviços da Amazon para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para saber mais, consulte: 
+ [Visão Geral para Criar uma Trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Serviços e integrações compatíveis](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configurando notificações do Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recebendo arquivos de CloudTrail log de várias regiões](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [recebendo arquivos de CloudTrail log de várias contas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

O Amazon MSK registra todas as [operações do Amazon MSK](https://docs.aws.amazon.com/MSK/2.0/APIReference/operations.html) como eventos em arquivos de CloudTrail log. Além disso, ele registra as seguintes ações do Apache Kafka.
+ cluster de kafka: DescribeClusterDynamicConfiguration 
+ cluster de kafka: AlterClusterDynamicConfiguration 
+ cluster de kafka: CreateTopic 
+ cluster de kafka: DescribeTopicDynamicConfiguration 
+ cluster de kafka: AlterTopic 
+ cluster de kafka: AlterTopicDynamicConfiguration 
+ cluster de kafka: DeleteTopic

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte: 
+ Se a solicitação foi feita com credenciais de usuário root ou AWS Identity and Access Management (IAM).
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte [Elemento userIdentity do CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Exemplo: entradas de arquivo de log do Amazon MSK
<a name="understanding-msk-entries"></a>

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. Um evento representa uma única solicitação de qualquer fonte e inclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros da solicitação e assim por diante. CloudTrail os arquivos de log não são um rastreamento de pilha ordenado das chamadas públicas da API e das ações do Apache Kafka, portanto, eles não aparecem em nenhuma ordem específica.

O exemplo a seguir mostra entradas de CloudTrail registro que demonstram as ações do `DeleteCluster` Amazon MSK `DescribeCluster` e do Amazon.

```
{
  "Records": [
    {
      "eventVersion": "1.05",
      "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDEF0123456789ABCDE",
        "arn": "arn:aws:iam::012345678901:user/Joe",
        "accountId": "012345678901",
        "accessKeyId": "AIDACKCEVSQ6C2EXAMPLE",
        "userName": "Joe"
      },
      "eventTime": "2018-12-12T02:29:24Z",
      "eventSource": "kafka.amazonaws.com",
      "eventName": "DescribeCluster",
      "awsRegion": "us-east-1",
      "sourceIPAddress": "192.0.2.0",
      "userAgent": "aws-cli/1.14.67 Python/3.6.0 Windows/10 botocore/1.9.20",
      "requestParameters": {
        "clusterArn": "arn%3Aaws%3Akafka%3Aus-east-1%3A012345678901%3Acluster%2Fexamplecluster%2F01234567-abcd-0123-abcd-abcd0123efa-2"
      },
      "responseElements": null,
      "requestID": "bd83f636-fdb5-abcd-0123-157e2fbf2bde",
      "eventID": "60052aba-0123-4511-bcde-3e18dbd42aa4",
      "readOnly": true,
      "eventType": "AwsApiCall",
      "recipientAccountId": "012345678901"
    },
    {
      "eventVersion": "1.05",
      "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDEF0123456789ABCDE",
        "arn": "arn:aws:iam::012345678901:user/Joe",
        "accountId": "012345678901",
        "accessKeyId": "AIDACKCEVSQ6C2EXAMPLE",
        "userName": "Joe"
      },
      "eventTime": "2018-12-12T02:29:40Z",
      "eventSource": "kafka.amazonaws.com",
      "eventName": "DeleteCluster",
      "awsRegion": "us-east-1",
      "sourceIPAddress": "192.0.2.0",
      "userAgent": "aws-cli/1.14.67 Python/3.6.0 Windows/10 botocore/1.9.20",
      "requestParameters": {
        "clusterArn": "arn%3Aaws%3Akafka%3Aus-east-1%3A012345678901%3Acluster%2Fexamplecluster%2F01234567-abcd-0123-abcd-abcd0123efa-2"
      },
      "responseElements": {
        "clusterArn": "arn:aws:kafka:us-east-1:012345678901:cluster/examplecluster/01234567-abcd-0123-abcd-abcd0123efa-2",
        "state": "DELETING"
      },
      "requestID": "c6bfb3f7-abcd-0123-afa5-293519897703",
      "eventID": "8a7f1fcf-0123-abcd-9bdb-1ebf0663a75c",
      "readOnly": false,
      "eventType": "AwsApiCall",
      "recipientAccountId": "012345678901"
    }
  ]
}
```

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra a `kafka-cluster:CreateTopic` ação.

```
{
  "eventVersion": "1.08",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "ABCDEFGH1IJKLMN2P34Q5",
    "arn": "arn:aws:iam::111122223333:user/Admin",
    "accountId": "111122223333",
    "accessKeyId": "CDEFAB1C2UUUUU3AB4TT",
    "userName": "Admin"
  },
  "eventTime": "2021-03-01T12:51:19Z",
  "eventSource": "kafka-cluster.amazonaws.com",
  "eventName": "CreateTopic",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "198.51.100.0/24",
  "userAgent": "aws-msk-iam-auth/unknown-version/aws-internal/3 aws-sdk-java/1.11.970 Linux/4.14.214-160.339.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/25.272-b10 java/1.8.0_272 scala/2.12.8 vendor/Red_Hat,_Inc.",
  "requestParameters": {
    "kafkaAPI": "CreateTopics",
    "resourceARN": "arn:aws:kafka:us-east-1:111122223333:topic/IamAuthCluster/3ebafd8e-dae9-440d-85db-4ef52679674d-1/Topic9"
  },
  "responseElements": null,
  "requestID": "e7c5e49f-6aac-4c9a-a1d1-c2c46599f5e4",
  "eventID": "be1f93fd-4f14-4634-ab02-b5a79cb833d2",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "managementEvent": true,
  "eventCategory": "Management",
  "recipientAccountId": "111122223333"
}
```