

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
<a name="msk-logging"></a>

Puoi inviare i log del broker Apache Kafka a uno o più dei seguenti tipi di destinazione: Amazon Logs, Amazon S3 CloudWatch , Amazon Data Firehose. Puoi anche registrare le chiamate API Amazon MSK con AWS CloudTrail.

**Nota**  
I log dei broker sono disponibili sia sui broker MSK Standard che Express.

## Log di broker
<a name="broker-logs"></a>

I log di broker consentono di risolvere i problemi delle applicazioni Apache Kafka e di analizzare le comunicazioni con il cluster MSK. È possibile configurare il cluster MSK nuovo o esistente per fornire i log dei broker a livello Info a uno o più dei seguenti tipi di risorse di destinazione: un gruppo di CloudWatch log, un bucket S3, un flusso di distribuzione Firehose. Tramite Firehose è quindi possibile inviare i dati di registro dal flusso di distribuzione a OpenSearch Service.

È necessario creare una risorsa di destinazione prima di configurare il cluster per consegnargli i log del broker. 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:
+ [ CloudWatch Registri 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)

### Autorizzazioni richieste
<a name="broker-logs-perms"></a>

Per configurare una destinazione per i log del broker Amazon MSK, l'identità IAM che utilizzi per le operazioni Amazon MSK deve disporre delle autorizzazioni descritte nella policy [AWS politica gestita: Amazon MSKFull Access](security-iam-awsmanpol-AmazonMSKFullAccess.md). 

Per eseguire lo streaming dei log di broker a un bucket S3, è richiesta anche l'autorizzazione `s3:PutBucketPolicy`. Per informazioni sulle policy dei bucket S3, consulta la pagina [How Do I Add an S3 Bucket Policy?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) nella Guida per l'utente di Amazon S3. Per informazioni sulle policy IAM in generale, consulta la pagina [Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) nella Guida per l'utente di IAM. 

### Policy della chiave KMS necessaria per l'utilizzo con i bucket SSE-KMS
<a name="sse-kms-buckets"></a>

Se hai abilitato la crittografia lato server per il tuo bucket S3 utilizzando chiavi AWS KMS gestite (SSE-KMS) con una chiave gestita dal cliente, aggiungi quanto segue alla policy chiave per la tua chiave KMS in modo che Amazon MSK possa scrivere i file del broker 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 del broker utilizzando il Console di gestione AWS
<a name="broker-logs-console"></a>

Se stai creando un nuovo cluster, cerca l'intestazione **Broker log delivery (Recapito del log del broker)** nella sezione **Monitoring (Monitoraggio)** . Puoi specificare le destinazioni a cui Amazon MSK deve consegnare i log del broker. 

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 Amazon MSK deve consegnare i log del broker.

### Configurare i log del broker utilizzando il AWS CLI
<a name="broker-logs-cli"></a>

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 Firehose Streams per configurare la consegna dei log. Il ruolo collegato al servizio che AWS crea per CloudWatch i 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html) 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 del broker utilizzando l'API
<a name="broker-logs-api"></a>

È possibile specificare la `loggingInfo` struttura opzionale nel file JSON che si passa alle operazioni [CreateCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster)or [UpdateMonitoring](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring).

**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, 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 log del broker, consulta la pagina [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). Se imposti dinamicamente il livello di registro su `DEBUG` o`TRACE`, 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` livelli dinamicamente la registrazione, 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.