View a markdown version of this page

Registrazione Amazon MSK - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione Amazon MSK

Amazon MSK supporta i log di broker e autorizzatori sui broker Standard ed Express. Puoi inviare questi log a uno o più dei seguenti tipi di destinazione: Amazon CloudWatch Logs, Amazon S3, Amazon Data Firehose. Puoi anche registrare le chiamate API Amazon MSK con. AWS CloudTrail

È necessario creare una risorsa di destinazione prima di configurare il cluster per inviarvi i log. Amazon MSK non crea queste risorse di destinazione se non esistono già. Per informazioni su questi tre tipi di risorse di destinazione e su come crearle, consultare la documentazione seguente:

Log di broker

I log di broker consentono di risolvere i problemi delle applicazioni Apache Kafka e di analizzare le comunicazioni con il cluster MSK. Puoi configurare il tuo cluster MSK nuovo o esistente per inviare i log dei INFO-level broker a uno o più dei seguenti tipi di risorse di destinazione: un gruppo di CloudWatch log, un bucket S3, un flusso di consegna Firehose. Tramite Firehose è quindi possibile inviare i dati di registro dal flusso di consegna al Servizio. OpenSearch

Configura i log dei broker utilizzando il AWS CLI

Quando utilizzi i comandi create-cluster o update-monitoring, puoi specificare facoltativamente il parametro logging-info e passarlo a una struttura JSON come nell'esempio seguente. In questo JSON, tutti e tre i tipi di destinazione sono facoltativi.

Nota

È necessario impostare il LogDeliveryEnabled tag true su sugli stream Firehose per impostare la consegna dei log. Il ruolo collegato al servizio che AWS crea i CloudWatch log utilizza questo tag per concedere l'autorizzazione per tutti i flussi di distribuzione Firehose. Se rimuovi questo tag, il ruolo collegato al servizio non sarà in grado di inviare i log allo stream Firehose. Per vedere un esempio di policy IAM che mostra le autorizzazioni incluse nel ruolo collegato al servizio, consulta i ruoli IAM usati per le autorizzazioni delle risorse nella Amazon User Guide. CloudWatch

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

Configura i log dei broker utilizzando l'API

Puoi specificare la loggingInfo struttura opzionale nel JSON da passare alle UpdateMonitoring operazioni CreateCluster or.

Nota

Per impostazione predefinita, quando la registrazione del broker è abilitata, Amazon MSK registra i log di livello INFO nelle destinazioni specificate. Tuttavia, per i broker Standard ed Express, gli utenti di Apache Kafka 2.4.X e versioni successive possono impostare dinamicamente il livello di log del broker su uno qualsiasi dei livelli di log log4j. https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html Per informazioni sull'impostazione dinamica del livello di registro del broker, consulta KIP-412: Estendere l'API di amministrazione per supportare i livelli di registro delle applicazioni dinamici. Se imposti dinamicamente il livello di log su DEBUG oTRACE, ti consigliamo di utilizzare Amazon S3 o Firehose come destinazione del log. Se utilizzi CloudWatch Logs come destinazione di log e abiliti DEBUG o TRACE livella la registrazione in modo dinamico, Amazon MSK può fornire continuamente un campione di log. Ciò può influire in modo significativo sulle prestazioni del broker e deve essere utilizzato solo quando il livello di log INFO non è sufficientemente dettagliato da consentire di determinare la causa principale di un problema.

Log dei sistemi di autorizzazione

I log di Authorizer raccolgono le decisioni di autorizzazione prese dal tuo cluster MSK. È possibile utilizzare questi registri per monitorare i modelli di accesso dei client e risolvere i problemi di autorizzazione. È possibile configurare il cluster MSK per inviare i log degli autorizzatori a uno o più dei seguenti tipi di risorse di destinazione: un gruppo di CloudWatch log, un bucket S3, un flusso di consegna Firehose.

Configurare i log degli autorizzatori utilizzando il AWS CLI

Quando utilizzi i comandi create-cluster o update-monitoring, puoi specificare facoltativamente il parametro logging-info e passarlo a una struttura JSON come nell'esempio seguente. In questo JSON, tutti e tre i tipi di destinazione sono facoltativi.

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

Configura i log degli autorizzatori utilizzando l'API

Puoi specificare la loggingInfo struttura opzionale nel JSON da passare alle operazioni CreateCluster or UpdateMonitoring.

Autorizzazioni richieste

Per configurare una destinazione per i log di Amazon MSK, l'identità IAM utilizzata per le azioni Amazon MSK deve disporre delle autorizzazioni descritte nella policy. AWS politica gestita: AmazonMSKFullAccess

Per eseguire lo streaming dei log su un bucket S3, è necessaria anche l'autorizzazione. s3:PutBucketPolicy Per informazioni sulle policy dei bucket S3, consulta la pagina How Do I Add an S3 Bucket Policy? nella Guida per l'utente di Amazon S3. Per informazioni sulle policy IAM in generale, consulta la pagina Access Management nella Guida per l'utente di IAM.

Politica chiave KMS richiesta per l'utilizzo con i bucket SSE-KMS

Se hai abilitato la crittografia lato server per il tuo bucket S3 utilizzando AWS KMS-managed keys (SSE-KMS) con una chiave gestita dal cliente, aggiungi quanto segue alla policy delle chiavi per la tua chiave KMS in modo che Amazon MSK possa scrivere i log nel 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": "*" }

Configura i log utilizzando Console di gestione AWS

Se stai creando un nuovo cluster, cerca l'intestazione Broker log delivery o Authorizer log delivery nella sezione Monitoraggio. Puoi specificare le destinazioni a cui desideri che Amazon MSK consegni i tuoi log.

Per un cluster esistente, scegli il cluster dall'elenco di cluster, quindi seleziona la scheda Proprietà. Scorri verso il basso fino alla sezione Consegna dei log e scegli il relativo pulsante Modifica. Puoi specificare le destinazioni a cui desideri che Amazon MSK consegni i tuoi log.