

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 e monitoraggio per le sessioni di Apache Spark
<a name="notebooks-spark-logging-monitoring"></a>

A partire dalla versione 3.5 di Apache Spark, puoi specificare la registrazione gestita, Amazon S3 o la registrazione come opzioni di CloudWatch registrazione.

Per quanto riguarda la registrazione gestita e la registrazione S3, la tabella seguente elenca le posizioni dei log e la disponibilità dell'interfaccia utente che puoi aspettarti se scegli queste opzioni.


****  

| Opzione | Registri degli eventi | Registri di container | Interfaccia utente dell'applicazione | 
| --- | --- | --- | --- | 
| Registrazione gestita (impostazione predefinita) | Memorizzato in un bucket S3 gestito | Memorizzato in un bucket S3 gestito | Supportata | 
| Registrazione gestita e bucket S3 | Archiviati in entrambi i posti | Memorizzato in un bucket S3 | Supportata | 
| Bucket Amazon S3 | Memorizzato nel bucket S3 | Memorizzato nel bucket S3 | Non supportato 1 | 

1 Ti consigliamo di mantenere selezionata l'opzione Registrazione gestita. In caso contrario, non è possibile utilizzare l'applicazione UIs integrata.

## Registrazione gestita
<a name="notebooks-spark-logging-monitoring-managed"></a>

Per impostazione predefinita, i gruppi di lavoro Athena Spark archiviano i log delle applicazioni in modo sicuro in bucket S3 gestiti dal servizio per un massimo di 30 giorni.

Facoltativamente, puoi fornire una chiave KMS (key id, arn, alias o alias arn) che il servizio utilizzerà per crittografare i log gestiti.

```
aws athena start-session \
  --work-group "WORKGROUP" \
  --monitoring-configuration '{
    "ManagedLoggingConfiguration": {
        "Enabled": true,
        "KmsKey": "KMS_KEY"
    },
  }'
  --engine-configuration ''
```

**Nota**  
Se disattivi la registrazione gestita, Athena non può risolvere i problemi delle sessioni per tuo conto. Esempio: non potrai accedere alla Spark-UI dai notebook Amazon SageMaker AI Studio o utilizzare l'API. `GetResourceDashboard`

Per disattivare questa opzione da AWS CLI, usa la `ManagedLoggingConfiguration` configurazione quando avvii una sessione interattiva.

```
aws athena start-session \
  --work-group "WORKGROUP" \
  --monitoring-configuration '{
    "ManagedLoggingConfiguration": {
      "Enabled": false
    },
  }'
  --engine-configuration ''
```

### Autorizzazioni richieste per la registrazione gestita
<a name="notebooks-spark-logging-monitoring-managed-permissions"></a>

Se hai fornito una chiave KMS, avrai bisogno delle seguenti autorizzazioni nella politica delle autorizzazioni per il ruolo di esecuzione.

```
{
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*",
    "Effect": "Allow"
}
```

## Registrazione di Amazon S3
<a name="notebooks-spark-logging-monitoring-s3"></a>

Puoi configurare la consegna dei log ai bucket Amazon S3.

Per abilitare la consegna dei log S3 da AWS CLI, usa la `S3LoggingConfiguration` configurazione quando avvii una sessione interattiva.

```
aws athena start-session \
  --work-group "WORKGROUP" \
  --monitoring-configuration '{
    "S3LoggingConfiguration": {
      "Enabled":true,
      "LogLocation": "s3://bucket/",
    },
  }'
  --engine-configuration ''
```

Facoltativamente, puoi fornire una chiave KMS (key id, arn, alias o alias arn) che il servizio utilizzerà per crittografare i log S3.

```
aws athena start-session \
  --work-group "WORKGROUP" \
  --monitoring-configuration '{
    "S3LoggingConfiguration": {
      "Enabled":true,
      "LogLocation": "s3://bucket/",
      "KmsKey": "KMS_KEY"
    },
  }'
  --engine-configuration ''
```

### Autorizzazioni richieste per la consegna dei log ad Amazon S3
<a name="notebooks-spark-logging-monitoring-s3-permissions"></a>

Prima che le sessioni possano inviare i log ai bucket Amazon S3, includi le seguenti autorizzazioni nella politica delle autorizzazioni per il ruolo di esecuzione.

```
{
    "Action": "s3:*",
    "Resource": "*",
    "Effect": "Allow"
}
```

Se hai fornito una chiave KMS, avrai bisogno anche delle seguenti autorizzazioni nella politica delle autorizzazioni per il ruolo di esecuzione.

```
{
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*",
    "Effect": "Allow"
}
```

Se la chiave kms e il bucket non provengono dallo stesso account, KMS deve consentire il service principal di S3.

```
{
  "Effect": "Allow",
  "Principal": { "Service": "s3.amazonaws.com" },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:GenerateDataKey*"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:SourceAccount": "ACCOUNT_HAVING_KMS_KEY"
    }
  }
}
```

## CloudWatch registrazione
<a name="notebooks-spark-logging-monitoring-cloudwatch"></a>

È possibile configurare la consegna dei log in gruppi di CloudWatch log.

Per abilitare la consegna dei log S3 da AWS CLI, usa la `CloudWatchLoggingConfiguration` configurazione quando avvii una sessione interattiva.

```
aws athena start-session \
  --work-group "WORKGROUP" \
  --monitoring-configuration '{
    "CloudWatchLoggingConfiguration": {
      "Enabled": true,
      "LogGroup": "/aws/athena/sessions/${workgroup}",
      "LogStreamNamePrefix": "session-"
    }
  }'
  --engine-configuration ''
```

Tutti i log verranno consegnati per impostazione predefinita, ma puoi facoltativamente specificare quali tipi di log includere.

```
aws athena start-session \
  --work-group "WORKGROUP" \
  --monitoring-configuration '{
    "CloudWatchLoggingConfiguration": {
      "Enabled": true,
      "LogGroup": "/aws/athena/sessions/${workgroup}",
      "LogStreamNamePrefix": "session-",
      "LogTypes": {
          "SPARK_DRIVER": [
              "STDOUT",
              "STDERR"
          ],
          "SPARK_EXECUTOR": [
              "STDOUT",
              "STDERR"
          ]
       }
    }
  }'
  --engine-configuration ''
```

### Autorizzazioni richieste per la consegna dei log a CloudWatch
<a name="notebooks-spark-logging-monitoring-cloudwatch-permissions"></a>

Prima che le sessioni possano inviare i log ai gruppi di CloudWatch log, includi le seguenti autorizzazioni nella politica delle autorizzazioni per il ruolo di esecuzione.

```
{
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
    ],
    "Resource": "*",
    "Effect": "Allow"
}
```

E previa autorizzazione alla politica delle risorse chiave di KMS.

```
{
  "Effect": "Allow",
  "Principal": {
    "Service": "logs.<region>.amazonaws.com"
  },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

## Configurazione delle impostazioni predefinite di registrazione nel gruppo di lavoro
<a name="notebooks-spark-logging-monitoring-workgroup-defaults"></a>

È inoltre possibile specificare le opzioni di registrazione predefinite a livello di gruppo di lavoro.

Per specificare le opzioni di registrazione predefinite da AWS CLI per un gruppo di lavoro, usa la `monitoring-configuration` configurazione quando crei un nuovo gruppo di lavoro:

```
aws athena create-work-group \
  --region "REGION" \
  --name "WORKGROUP_NAME" \
  --monitoring-configuration '{
      "CloudWatchLoggingConfiguration": {
          "Enabled": true,
          "LogGroup": "/aws/athena/sessions/${workgroup}",
          "LogStreamNamePrefix": "session-",
          "LogTypes": {
              "SPARK_DRIVER": [
                  "STDOUT",
                  "STDERR"
              ],
              "SPARK_EXECUTOR": [
                  "STDOUT",
                  "STDERR"
              ]
          }
        },
        "ManagedLoggingConfiguration": {
            "Enabled": true,
            "KmsKey": "KMS_KEY"
        },
        "S3LoggingConfiguration": {
            "Enabled": true,
            "KmsKey": "KMS_KEY"
            "LogLocation": "s3://bucket/",
            "LogTypes": {
                "SPARK_DRIVER": [
                    "STDOUT",
                    "STDERR"
                ],
                "SPARK_EXECUTOR": [
                    "STDOUT",
                    "STDERR"
                ]
            }
        }
    }'
```

Per modificare le opzioni di registrazione predefinite AWS CLI per un gruppo di lavoro, utilizzate la configurazione durante l'aggiornamento di un gruppo di lavoro. `monitoring-configuration` Le modifiche si applicano alle nuove sessioni interattive in futuro.

```
aws athena update-work-group \
  --region "REGION" \
  --work-group "WORKGROUP_NAME" 
  --monitoring-configuration '{
      "CloudWatchLoggingConfiguration": {
          "Enabled": true,
          "LogGroup": "/aws/athena/sessions/${workgroup}",
          "LogStreamNamePrefix": "session-",
          "LogTypes": {
              "SPARK_DRIVER": [
                  "STDOUT",
                  "STDERR"
              ],
              "SPARK_EXECUTOR": [
                  "STDOUT",
                  "STDERR"
              ]
          }
        },
        "ManagedLoggingConfiguration": {
            "Enabled": true,
            "KmsKey": "KMS_KEY"
        },
        "S3LoggingConfiguration": {
            "Enabled": true,
            "KmsKey": "KMS_KEY"
            "LogLocation": "s3://bucket/",
            "LogTypes": {
                "SPARK_DRIVER": [
                    "STDOUT",
                    "STDERR"
                ],
                "SPARK_EXECUTOR": [
                    "STDOUT",
                    "STDERR"
                ]
            }
        }
    }'
```