

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Sie können Apache Kafka-Broker-Protokolle an einen oder mehrere der folgenden Zieltypen senden: Amazon CloudWatch Logs, Amazon S3, Amazon Data Firehose. Sie können Amazon MSK API-Aufrufe auch mit AWS CloudTrail protokollieren.

**Anmerkung**  
Broker-Protokolle sind sowohl für MSK Standard- als auch für Express-Broker verfügbar.

## Broker-Protokolle
<a name="broker-logs"></a>

Broker-Protokolle ermöglichen es Ihnen, Probleme mit Ihren Apache-Kafka-Anwendungen zu beheben und die Kommunikation der Anwendungen mit Ihrem MSK-Cluster zu analysieren. Sie können Ihren neuen oder vorhandenen MSK-Cluster so konfigurieren, dass Brokerprotokolle auf INFO-Ebene an eine oder mehrere der folgenden Arten von Zielressourcen gesendet werden: eine CloudWatch Protokollgruppe, ein S3-Bucket, ein Firehose-Lieferstream. Über Firehose können Sie dann die Protokolldaten aus Ihrem Lieferstream an den OpenSearch Service übermitteln.

Sie müssen eine Zielressource erstellen, bevor Sie Ihren Cluster so konfigurieren, dass er Broker-Protokolle dahin übermittelt. Amazon MSK erstellt diese Zielressourcen nicht für Sie, wenn sie nicht bereits vorhanden sind. Informationen zu diesen drei Arten von Zielressourcen und deren Erstellung finden Sie in der folgenden Dokumentation:
+ [ CloudWatch Amazon-Protokolle](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)

### Erforderliche Berechtigungen
<a name="broker-logs-perms"></a>

Um ein Ziel für Amazon-MSK-Broker-Protokolle zu konfigurieren, muss die IAM-Identität, die Sie für Amazon-MSK-Aktionen verwenden, über die in der Richtlinie [AWS verwaltete Richtlinie: Amazon MSKFull Access](security-iam-awsmanpol-AmazonMSKFullAccess.md) beschriebenen Berechtigungen verfügen. 

Um Broker-Protokolle an einen S3-Bucket zu streamen, benötigen Sie auch die Berechtigung `s3:PutBucketPolicy`. Informationen zu S3-Bucket-Richtlinien finden Sie unter [Wie füge ich eine S3-Bucket-Richtlinie hinzu?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) im Amazon-S3-Benutzerhandbuch. Informationen zu IAM-Richtlinien im Allgemeinen finden Sie unter [Zugriffsverwaltung](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) im IAM-Benutzerhandbuch. 

### Erforderliche KMS-Schlüsselrichtlinie zur Verwendung mit SSE-KMS-Buckets
<a name="sse-kms-buckets"></a>

Wenn Sie die serverseitige Verschlüsselung für Ihren S3-Bucket mithilfe von AWS KMS verwalteten Schlüsseln (SSE-KMS) mit einem vom Kunden verwalteten Schlüssel aktiviert haben, fügen Sie der Schlüsselrichtlinie für Ihren KMS-Schlüssel Folgendes hinzu, damit Amazon MSK Brokerdateien in den Bucket schreiben kann.

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

### Konfigurieren Sie Broker-Logs mit dem AWS-Managementkonsole
<a name="broker-logs-console"></a>

Wenn Sie einen neuen Cluster erstellen, suchen Sie im Abschnitt **Überwachung** nach der Überschrift **Bereitstellung von Broker-Protokollen**. Sie können die Ziele angeben, an die Amazon MSK die Broker-Protokolle bereitstellen soll. 

Wählen Sie für einen vorhandenen Cluster den Cluster aus der Cluster-Liste aus und wählen Sie dann die Registerkarte **Eigenschaften**. Scrollen Sie nach unten zum Abschnitt **Protokoll-Bereitstellung** und wählen Sie dann die Schaltfläche **Bearbeiten**. Sie können die Ziele angeben, an die Amazon MSK die Broker-Protokolle bereitstellen soll.

### Konfigurieren Sie Broker-Logs mit dem AWS CLI
<a name="broker-logs-cli"></a>

Wenn Sie die Befehle `create-cluster` oder `update-monitoring` verwenden, können Sie optional den Parameter `logging-info` angeben und eine JSON-Struktur wie im folgenden Beispiel an ihn übergeben. In diesem JSON sind alle drei Zieltypen optional.

**Anmerkung**  
Sie müssen das `LogDeliveryEnabled` Tag in Firehose-Streams `true` auf setzen, um die Protokollzustellung einzurichten. Die serviceverknüpfte Rolle, die CloudWatch Protokolle AWS erstellt, verwendet dieses Tag, um Berechtigungen für alle Firehose-Lieferstreams zu erteilen. Wenn Sie dieses Tag entfernen, kann die mit dem Dienst verknüpfte Rolle keine Protokolle an den Firehose-Stream senden. Ein Beispiel für eine IAM-Richtlinie, in der die Berechtigungen aufgeführt sind, die die serviceverknüpfte Rolle umfasst, finden Sie im * CloudWatch Amazon-Benutzerhandbuch* unter [IAM-Rollen, die für Ressourcenberechtigungen verwendet werden](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html).

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

### Konfigurieren Sie Broker-Logs mithilfe der API
<a name="broker-logs-api"></a>

Sie können die optionale `loggingInfo` Struktur in der JSON-Datei angeben, die Sie an die [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)OR-Operationen übergeben.

**Anmerkung**  
Wenn die Broker-Protokollierung aktiviert ist, protokolliert Amazon MSK standardmäßig Protokolle auf `INFO`-Ebene an die angegebenen Ziele. Bei Standard-Brokern können Benutzer von Apache Kafka 2.4.X und höher die Broker-Protokollebene jedoch dynamisch auf eine der [log4j-Protokollebenen](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html) festlegen. Informationen zur dynamischen Festlegung der Broker-Protokollierungsebene finden Sie unter [KIP-412: Erweitern der Admin-API zur Unterstützung dynamischer Anwendungs-Protokollierungsebenen](https://cwiki.apache.org/confluence/display/KAFKA/KIP-412%3A+Extend+Admin+API+to+support+dynamic+application+log+levels). Wenn Sie die Protokollebene dynamisch auf `DEBUG` oder setzen`TRACE`, empfehlen wir, Amazon S3 oder Firehose als Protokollziel zu verwenden. Wenn Sie CloudWatch Logs als Protokollziel verwenden und die `TRACE` Protokollierung dynamisch aktivieren `DEBUG` oder abgleichen, kann Amazon MSK kontinuierlich eine Stichprobe von Protokollen bereitstellen. Dies kann die Leistung des Brokers erheblich beeinträchtigen und sollte nur verwendet werden, wenn die `INFO`-Protokollierungsebene nicht ausführlich genug ist, um die Grundursache eines Problems zu ermitteln.

# API-Aufrufe protokollieren mit AWS CloudTrail
<a name="logging-API-using-cloudtrail"></a>



**Anmerkung**  
AWS CloudTrail Protokolle sind für Amazon MSK nur verfügbar, wenn Sie sie verwenden[IAM-Zugriffssteuerung](iam-access-control.md).

Amazon MSK ist in einen Service integriert AWS CloudTrail, der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder einem AWS Service in Amazon MSK ausgeführt wurden. CloudTrail erfasst API-Aufrufe als Ereignisse. Zu den erfassten Aufrufen gehören Aufrufe von der Amazon-MSK-Konsole und Code-Aufrufe an die Amazon-MSK-API-Vorgänge. Es werden auch Apache-Kafka-Aktionen wie das Erstellen und Ändern von Themen und Gruppen erfasst.

Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Übermittlung von CloudTrail Ereignissen an einen Amazon S3 S3-Bucket aktivieren, einschließlich Ereignissen für Amazon MSK. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail Konsole im **Ereignisverlauf** anzeigen. Anhand der von gesammelten Informationen können Sie die Anfrage CloudTrail, die an Amazon MSK oder die Apache Kafka-Aktion gestellt wurde, die IP-Adresse, von der aus die Anfrage gestellt wurde, wer die Anfrage gestellt hat, wann sie gestellt wurde, und weitere Details ermitteln. 

Weitere Informationen darüber CloudTrail, einschließlich der Konfiguration und Aktivierung, finden Sie im [AWS CloudTrail Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Amazon MSK-Informationen in CloudTrail
<a name="msk-info-in-cloudtrail"></a>

CloudTrail ist in Ihrem Amazon Web Services Services-Konto aktiviert, wenn Sie das Konto erstellen. Wenn unterstützte Ereignisaktivitäten in einem MSK-Cluster auftreten, wird diese Aktivität zusammen mit anderen AWS Serviceereignissen im CloudTrail **Ereignisverlauf in einem Ereignis** aufgezeichnet. Sie können die neusten Ereignisse in Ihrem Amazon Web Services-Konto anzeigen, suchen und herunterladen. Weitere Informationen finden Sie unter [Anzeigen von Ereignissen mit dem CloudTrail -API-Ereignisverlauf](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Zur kontinuierlichen Aufzeichnung von Ereignissen in Ihrem Amazon-Web-Services-Konto, einschließlich Ereignissen für Amazon MSK, erstellen Sie einen Trail. Ein *Trail* ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3 S3-Bucket. Wenn Sie einen Trail in der Konsole anlegen, gilt dieser für alle -Regionen. Der Trail protokolliert Ereignisse aus allen Regionen in der AWS -Partition und stellt die Protokolldateien in dem von Ihnen angegebenen Amazon-S3-Bucket bereit. Darüber hinaus können Sie andere Amazon-Dienste so konfigurieren, dass sie die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter analysieren und darauf reagieren. Weitere Informationen finden Sie hier: 
+ [Übersicht zum Erstellen eines Trails](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Unterstützte Dienste und Integrationen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Konfiguration von Amazon SNS SNS-Benachrichtigungen für CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Empfangen von CloudTrail Protokolldateien aus mehreren Regionen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) und [Empfangen von CloudTrail Protokolldateien von mehreren Konten](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon MSK protokolliert alle [Amazon MSK-Operationen](https://docs.aws.amazon.com/MSK/2.0/APIReference/operations.html) als Ereignisse in CloudTrail Protokolldateien. Darüber hinaus protokolliert es die folgenden Apache-Kafka-Aktionen.
+ Kafka-Cluster: DescribeClusterDynamicConfiguration 
+ Kafka-Cluster: AlterClusterDynamicConfiguration 
+ Kafka-Cluster: CreateTopic 
+ Kafka-Cluster: DescribeTopicDynamicConfiguration 
+ Kafka-Cluster: AlterTopic 
+ Kafka-Cluster: AlterTopicDynamicConfiguration 
+ Kafka-Cluster: DeleteTopic

Jeder Ereignis- oder Protokolleintrag enthält Informationen zu dem Benutzer, der die Anforderung generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte: 
+ Ob die Anfrage mit Root-Benutzer- oder AWS Identity and Access Management (IAM-) Benutzeranmeldedaten gestellt wurde.
+ Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.
+ Ob die Anfrage von einem anderen AWS Dienst gestellt wurde.

Weitere Informationen finden Sie unter [CloudTrail userIdentity-Element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Beispiel: Einträge in der Amazon-MSK-Protokolldatei
<a name="understanding-msk-entries"></a>

Ein Trail ist eine Konfiguration, die die Übertragung von Ereignissen als Protokolldateien an einen von Ihnen angegebenen Amazon S3 S3-Bucket ermöglicht. CloudTrail Protokolldateien enthalten einen oder mehrere Protokolleinträge. Ein Ereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält Informationen über die angeforderte Aktion, Datum und Uhrzeit der Aktion, Anforderungsparameter usw. CloudTrail Protokolldateien sind kein geordneter Stack-Trace der öffentlichen API-Aufrufe und Apache Kafka-Aktionen, sodass sie nicht in einer bestimmten Reihenfolge angezeigt werden.

Das folgende Beispiel zeigt CloudTrail Protokolleinträge, die die Aktionen `DescribeCluster` und `DeleteCluster` Amazon MSK demonstrieren.

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

Das folgende Beispiel zeigt einen CloudTrail Protokolleintrag, der die `kafka-cluster:CreateTopic` Aktion demonstriert.

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