

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Amazon MSK prend en charge les journaux des courtiers et des autorisateurs sur les courtiers Standard et Express. Vous pouvez envoyer ces journaux vers un ou plusieurs des types de destination suivants : Amazon CloudWatch Logs, Amazon S3, Amazon Data Firehose. Vous pouvez également enregistrer les appels d'API Amazon MSK avec AWS CloudTrail.

Vous devez créer une ressource de destination avant de configurer votre cluster pour lui fournir des journaux. Amazon MSK ne crée pas ces ressources de destination pour vous si elles n'existent pas déjà. Pour plus d'informations sur ces trois types de ressources de destination et sur la façon de les créer, consultez la documentation suivante :
+ [ CloudWatch Journaux 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)

## Journaux d'agent
<a name="broker-logs"></a>

Les journaux d'agent vous permettent de dépanner vos applications Apache Kafka et d'analyser leurs communications avec votre cluster MSK. Vous pouvez configurer votre cluster MSK nouveau ou existant pour fournir des journaux de INFO-level courtage à un ou plusieurs des types de ressources de destination suivants : un groupe de CloudWatch journaux, un compartiment S3, un flux de diffusion Firehose. Grâce à Firehose, vous pouvez ensuite transmettre les données du journal de votre flux de diffusion au OpenSearch Service.

### Configurez les journaux des courtiers à l'aide du AWS CLI
<a name="broker-logs-cli"></a>

Lorsque vous utilisez les commande `update-monitoring` ou `create-cluster`, vous pouvez éventuellement spécifier le paramètre `logging-info` et lui transmettre une structure JSON comme dans l'exemple suivant. Dans ce JSON, les trois types de destination sont facultatifs.

**Note**  
Vous devez définir la `LogDeliveryEnabled` balise `true` sur on Firehose streams pour configurer la livraison des journaux. Le rôle lié à un service qui est AWS créé pour les CloudWatch journaux utilise cette balise pour accorder l'autorisation à tous les flux de diffusion Firehose. Si vous supprimez cette balise, le rôle lié au service ne sera pas en mesure de fournir des journaux au flux Firehose. Pour voir un exemple de politique IAM qui montre les autorisations incluses dans le rôle lié à un service, consultez la section Rôles [ IAM utilisés pour les autorisations relatives aux ressources ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html) dans le guide de l'*utilisateur Amazon. CloudWatch *

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

### Configurer les journaux des courtiers à l'aide de l'API
<a name="broker-logs-api"></a>

Vous pouvez spécifier la `loggingInfo` structure facultative dans le JSON que vous transmettez aux [ UpdateMonitoring ](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring) opérations [ CreateCluster ](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster) or.

**Note**  
Par défaut, lorsque la journalisation des agents est activée, Amazon MSK journalise les journaux de niveau `INFO` vers les destinations spécifiées. Toutefois, pour les courtiers Standard et Express, les utilisateurs d'Apache Kafka 2.4.X et versions ultérieures peuvent définir dynamiquement le niveau de journalisation du broker sur n'importe quel niveau de journalisation [ log4j. ](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html) Pour plus d'informations sur la définition dynamique du niveau de journalisation du broker, voir [ KIP-412 : Étendre l'API d'administration pour prendre en charge les niveaux de journalisation dynamiques des applications](https://cwiki.apache.org/confluence/display/KAFKA/KIP-412%3A+Extend+Admin+API+to+support+dynamic+application+log+levels). Si vous définissez dynamiquement le niveau de journalisation sur `DEBUG` ou`TRACE`, nous vous recommandons d'utiliser Amazon S3 ou Firehose comme destination du journal. Si vous utilisez CloudWatch les journaux comme destination des journaux et que vous activez `DEBUG` ou `TRACE` nivelez la journalisation de manière dynamique, Amazon MSK peut fournir en continu un échantillon de journaux. Cela peut avoir un impact significatif sur les performances de l'agent et ne doit être utilisé que lorsque le niveau de journalisation `INFO` n'est pas suffisamment détaillé pour déterminer la cause première d'un problème.

## Journaux de mécanisme d’autorisation
<a name="authorizer-logs"></a>

Les journaux d'autorisation capturent les décisions d'autorisation prises par votre cluster MSK. Vous pouvez utiliser ces journaux pour surveiller les modèles d'accès des clients et résoudre les problèmes d'autorisation. Vous pouvez configurer votre cluster MSK pour fournir des journaux d'autorisation à un ou plusieurs des types de ressources de destination suivants : un groupe de CloudWatch journaux, un compartiment S3, un flux de diffusion Firehose.

### Configurez les journaux de l'autorisateur à l'aide du AWS CLI
<a name="authorizer-logs-cli"></a>

Lorsque vous utilisez les commande `update-monitoring` ou `create-cluster`, vous pouvez éventuellement spécifier le paramètre `logging-info` et lui transmettre une structure JSON comme dans l'exemple suivant. Dans ce JSON, les trois types de destination sont facultatifs.

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

### Configuration des journaux d'autorisation à l'aide de l'API
<a name="authorizer-logs-api"></a>

Vous pouvez spécifier la `loggingInfo` structure facultative dans le JSON que vous transmettez aux [ UpdateMonitoring ](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring) opérations [ CreateCluster ](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster) or.

### Autorisations requises
<a name="broker-logs-perms"></a>

Pour configurer une destination pour les journaux Amazon MSK, l'identité IAM que vous utilisez pour les actions Amazon MSK doit disposer des autorisations décrites dans la politique. [AWS stratégie gérée : AmazonMSKFullAccess](security-iam-awsmanpol-AmazonMSKFullAccess.md) 

Pour diffuser des journaux vers un compartiment S3, vous devez également disposer de cette `s3:PutBucketPolicy` autorisation. Pour plus d'informations sur les politiques de compartiment S3, consultez [Comment ajouter une politique de compartiment S3 ?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) dans le Guide de l'utilisateur Amazon S3. Pour plus d'informations sur les politiques IAM en général, consultez [Gestion des accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dans le Guide de l'utilisateur IAM. 

### Politique de clé KMS requise pour une utilisation avec des SSE-KMS buckets
<a name="sse-kms-buckets"></a>

Si vous avez activé le chiffrement côté serveur pour votre compartiment S3 à l'aide de AWS KMS-managed keys (SSE-KMS) avec une clé gérée par le client, ajoutez ce qui suit à la politique de clé pour votre clé KMS afin qu'Amazon MSK puisse écrire des journaux dans le compartiment.

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

### Configurez les journaux à l'aide du Console de gestion AWS
<a name="broker-logs-console"></a>

Si vous créez un nouveau cluster, recherchez le ** titre ** Broker log delivery ** ou ** Authorizer log delivery dans la ** section ** Surveillance. Vous pouvez spécifier les destinations vers lesquelles vous souhaitez qu'Amazon MSK livre vos journaux. 

Pour un cluster existant, choisissez ce dernier dans votre liste de clusters, puis sélectionnez l'onglet **Propriétés**. Faites défiler jusqu'à la section **Diffusion de journaux**, puis choisissez son bouton **Modifier**. Vous pouvez spécifier les destinations vers lesquelles vous souhaitez qu'Amazon MSK livre vos journaux.