

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Registro de Amazon MSK
<a name="msk-logging"></a>

Puede entregar los registros del broker de Apache Kafka a uno o más de los siguientes tipos de destinos: Amazon CloudWatch Logs, Amazon S3, Amazon Data Firehose. También puede registrar las llamadas a la API de Amazon MSK con AWS CloudTrail.

**nota**  
Los registros de los corredores están disponibles tanto en los corredores MSK Standard como en los Express.

## Registros de agente
<a name="broker-logs"></a>

Los registros de agente le permiten solucionar problemas de las aplicaciones de Apache Kafka y analizar las comunicaciones con su clúster de MSK. Puede configurar su clúster de MSK nuevo o existente para entregar registros de corredores de nivel de información a uno o más de los siguientes tipos de recursos de destino: un grupo de CloudWatch registros, un depósito de S3 o un flujo de entrega de Firehose. A través de Firehose, puede enviar los datos de registro de su flujo de entrega a OpenSearch Service.

Debe crear un recurso de destino antes de configurar el clúster para enviarle los registros de los agentes. Amazon MSK no crea estos recursos de destino si aún no existen. Para obtener información acerca de estos tres tipos de recursos de destino y cómo crearlos, consulte la siguiente documentación:
+ [Amazon CloudWatch Logs](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)

### Permisos necesarios
<a name="broker-logs-perms"></a>

Para configurar un destino para los registros de los agentes de Amazon MSK, la identidad de IAM que utilice para las acciones de Amazon MSK debe tener los permisos descritos en la política [AWS política gestionada: Amazon MSKFull Access](security-iam-awsmanpol-AmazonMSKFullAccess.md). 

Para transmitir registros de agente a un bucket de S3, también necesita el permiso `s3:PutBucketPolicy`. Para obtener información acerca de las políticas de bucket de S3, consulte [¿Cómo agrego una política de bucket de S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) en la Guía del usuario de Amazon S3. Para obtener información acerca de las políticas de IAM en general, consulte [Administración de accesos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) en la Guía del usuario de IAM. 

### Política de claves de KMS necesarias para usar con buckets de SSE-KMS
<a name="sse-kms-buckets"></a>

Si habilitó el cifrado del lado del servidor para su bucket de S3 mediante claves AWS KMS administradas (SSE-KMS) con una clave administrada por el cliente, añada lo siguiente a la política de claves de su clave de KMS para que Amazon MSK pueda escribir archivos de broker en el 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 los registros de los corredores mediante el Consola de administración de AWS
<a name="broker-logs-console"></a>

Si va a crear un nuevo clúster, busque el encabezado **Broker log delivery (Entrega de registros de agente)** en la sección **Monitoring (Monitoreo)**. Puede especificar los destinos donde desea que Amazon MSK entregue los registros de agente. 

Para un clúster existente, elija el clúster de la lista de clústeres y, a continuación, elija la pestaña **Propiedades**. Desplácese hacia abajo hasta la sección **Envío de registros** y, a continuación, elija el botón **Editar**. Puede especificar los destinos donde desea que Amazon MSK entregue los registros de agente.

### Configure los registros de los corredores mediante el AWS CLI
<a name="broker-logs-cli"></a>

Si utiliza los comandos `update-monitoring` o `create-cluster`, tiene la opción de especificar el parámetro `logging-info` y pasarlo a una estructura JSON como en el siguiente ejemplo. En este JSON, los tres tipos de destino son opcionales.

**nota**  
Debe establecer la etiqueta `LogDeliveryEnabled` en `true` en los flujos de Firehose para configurar la entrega de registros. El rol vinculado al servicio que AWS crea CloudWatch los registros usa esta etiqueta para conceder permisos a todas las transmisiones de entrega de Firehose. Si elimina esta etiqueta, el rol vinculado al servicio no podrá entregar registros al flujo de Firehose. *Para ver un ejemplo de una política de IAM que muestre los permisos que incluye la función vinculada al servicio, consulte [Funciones de IAM utilizadas para los permisos de recursos en](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html) la Guía del usuario de Amazon. CloudWatch *

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

### Configuración de los registros de agente con la API
<a name="broker-logs-api"></a>

Puedes especificar la `loggingInfo` estructura opcional en el JSON que vas a transferir a las operaciones o. [CreateCluster[UpdateMonitoring](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring)](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster)

**nota**  
De forma predeterminada, cuando el registro de agentes está habilitado, Amazon MSK almacena los registros de `INFO` en los destinos especificados. Sin embargo, en el caso de los corredores estándar, los usuarios de Apache Kafka 2.4.X y versiones posteriores pueden establecer dinámicamente el nivel de registro del corredor en cualquiera de los niveles de registro de [log4j](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html). Para obtener información sobre cómo configurar dinámicamente el nivel de registros de agente, consulte [KIP-412: Extend Admin API to support dynamic application log levels](https://cwiki.apache.org/confluence/display/KAFKA/KIP-412%3A+Extend+Admin+API+to+support+dynamic+application+log+levels). Si establece el nivel de registro de forma dinámica en `DEBUG` o `TRACE`, recomendamos que utilice Amazon S3 o Firehose como destino de los registros. Si utiliza CloudWatch Logs como destino de registros y habilita `DEBUG` o `TRACE` nivela el registro de forma dinámica, Amazon MSK puede entregar continuamente una muestra de registros. Esto puede afectar considerablemente al rendimiento del agente y solo debe utilizarse cuando el nivel de registro `INFO` no sea lo suficientemente detallado como para determinar la causa raíz del problema.

# Registre las llamadas a la API con AWS CloudTrail
<a name="logging-API-using-cloudtrail"></a>



**nota**  
AWS CloudTrail los registros están disponibles para Amazon MSK solo cuando los usas[Control de acceso de IAM](iam-access-control.md).

Amazon MSK está integrado con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un AWS servicio en Amazon MSK. CloudTrail captura las llamadas a la API como eventos. Las llamadas capturadas incluyen las llamadas desde la consola de Amazon MSK y las llamadas desde el código a las operaciones de la API de Amazon MSK. También captura las acciones de Apache Kafka, como la creación y modificación de temas y grupos.

Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos de Amazon MSK. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el **historial** de eventos. Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a Amazon MSK o la acción de Apache Kafka, la dirección IP desde la que se realizó la solicitud, quién la hizo, cuándo se realizó y detalles adicionales. 

Para obtener más información CloudTrail, incluido cómo configurarlo y habilitarlo, consulte la Guía del [AWS CloudTrail usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Información de Amazon MSK en CloudTrail
<a name="msk-info-in-cloudtrail"></a>

CloudTrail está activado en su cuenta de Amazon Web Services al crear la cuenta. Cuando una actividad de eventos admitida se produce en un clúster de MSK, esa actividad se registra en un CloudTrail evento junto con otros eventos de AWS servicio en el **historial** de eventos. Puede ver, buscar y descargar los últimos eventos de la cuenta de Amazon Web Services. Para obtener más información, consulte [Visualización de eventos con el historial de eventos de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para mantener un registro continuo de eventos en la cuenta de Amazon Web Services, incluidos los eventos de Amazon MSK, cree un registro de seguimiento. Un *rastro* permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. De manera predeterminada, cuando crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las regiones. El registro de seguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos de registro al bucket de Amazon S3 especificado. Además, puedes configurar otros servicios de Amazon para analizar más a fondo los datos de eventos recopilados en los CloudTrail registros y actuar en función de ellos. Para más información, consulte los siguientes temas: 
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Servicios e integraciones compatibles](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuración de las notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [recibir archivos de CloudTrail registro de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon MSK registra todas las [operaciones de Amazon MSK](https://docs.aws.amazon.com/MSK/2.0/APIReference/operations.html) como eventos en archivos de CloudTrail registro. Además, registra las siguientes acciones de Apache Kafka.
+ clúster kafka: DescribeClusterDynamicConfiguration 
+ cúmulo kafka: AlterClusterDynamicConfiguration 
+ cúmulo kafka: CreateTopic 
+ cúmulo kafka: DescribeTopicDynamicConfiguration 
+ cúmulo kafka: AlterTopic 
+ cúmulo kafka: AlterTopicDynamicConfiguration 
+ cúmulo kafka: DeleteTopic

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente: 
+ Si la solicitud se realizó con credenciales de usuario root o de usuario AWS Identity and Access Management (IAM).
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro AWS servicio.

Para obtener más información, consulte el [Elemento userIdentity de CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Ejemplo: entradas del archivo de registros de Amazon MSK
<a name="understanding-msk-entries"></a>

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una solicitud única de cualquier fuente e incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. CloudTrail Los archivos de registro no son un registro ordenado de las llamadas a las API públicas y las acciones de Apache Kafka, por lo que no aparecen en ningún orden específico.

El siguiente ejemplo muestra las entradas de CloudTrail registro que muestran las acciones `DescribeCluster` y las de `DeleteCluster` Amazon MSK.

```
{
  "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"
    }
  ]
}
```

El siguiente ejemplo muestra una entrada de CloudTrail registro que demuestra la `kafka-cluster:CreateTopic` acción.

```
{
  "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"
}
```