MSKAmazon-Protokollierung - Amazon Managed Streaming für Apache Kafka

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.

MSKAmazon-Protokollierung

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 MSK API Amazon-Anrufe auch mit protokollieren AWS CloudTrail.

Anmerkung

Broker-Protokolle sind bei Express-Brokern nicht verfügbar.

Broker-Protokolle

Mit Broker-Protokollen können Sie Fehler in Ihren Apache Kafka-Anwendungen beheben und deren Kommunikation mit Ihrem MSK Cluster analysieren. Sie können Ihren neuen oder vorhandenen MSK Cluster so konfigurieren, dass er Broker-Logs INFO auf -Ebene an eine oder mehrere der folgenden Arten von Zielressourcen übermittelt: eine CloudWatch Protokollgruppe, einen S3-Bucket, einen 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 erstellt diese Zielressourcen MSK nicht für Sie, wenn sie nicht bereits existieren. Informationen zu diesen drei Arten von Zielressourcen und deren Erstellung finden Sie in der folgenden Dokumentation:

Erforderliche Berechtigungen

Um ein Ziel für MSK Amazon-Broker-Logs zu konfigurieren, muss die IAM Identität, die Sie für MSK Amazon-Aktionen verwenden, über die in der AWS verwaltete Richtlinie: Ein mazonMSKFull Zugriff Richtlinie 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? im Amazon-S3-Benutzerhandbuch. Informationen zu IAM-Richtlinien im Allgemeinen finden Sie unter Zugriffsverwaltung im IAM-Benutzerhandbuch.

Erforderliche KMS Schlüsselrichtlinie für die Verwendung mit SSE — KMS Buckets

Wenn Sie die serverseitige Verschlüsselung für Ihren S3-Bucket mithilfe von AWS KMS-managed Keys (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 Broker-Dateien in den Bucket schreiben MSK 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 Management Console

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 Ihre Broker-Logs liefern MSK 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 Ihre Broker-Logs liefern MSK soll.

Konfigurieren Sie Broker-Protokolle mit dem AWS CLI

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

{ "BrokerLogs": { "S3": { "Bucket": "ExampleBucketName", "Prefix": "ExamplePrefix", "Enabled": true }, "Firehose": { "DeliveryStream": "ExampleDeliveryStreamName", "Enabled": true }, "CloudWatchLogs": { "Enabled": true, "LogGroup": "ExampleLogGroupName" } } }

Konfigurieren Sie Broker-Logs mit dem API

Sie können die optionale loggingInfo Struktur in den Operationen angebenJSON, die Sie an die CreateClusterUpdateMonitoringOR-Operationen übergeben.

Anmerkung

Wenn die Broker-Protokollierung aktiviert ist, MSK protokolliert Amazon standardmäßig INFO Level-Logs an die angegebenen Ziele. Benutzer von Apache Kafka 2.4.X und höher können jedoch die Broker-Protokollierungsebene jedoch dynamisch auf eine der log4j-Protokollierungsebenen festlegen. Informationen zur dynamischen Einstellung der Broker-Protokollebene finden Sie unter KIP-412: Extend Admin API to support dynamic application log levels. Wenn Sie die Protokollebene dynamisch auf DEBUG oder setzenTRACE, empfehlen wir, Amazon S3 oder Firehose als Protokollziel zu verwenden. Wenn Sie CloudWatch Logs als Protokollziel verwenden und die Protokollierung dynamisch aktivieren DEBUG oder TRACE nivellieren, MSK kann Amazon 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.