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 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
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
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
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
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
È 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
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
È 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" ] } } }'