Come posso ridurre la quantità di log generati dal processo AWS Glue?

3 minuti di lettura
0

Il processo AWS Glue genera troppi log in Amazon CloudWatch. Desidero ridurre il numero di log generati.

Risoluzione

I processi Spark ETL AWS Glue non consentono di controllare il livello di dettaglio dei log generati dalle istanze su cui vengono eseguiti i processi AWS Glue. I log sono dettagliati in modo tale da poterli utilizzare per monitorare gli errori interni e aiutare nella diagnosi degli errori del processo. Tuttavia, è possibile definire i livelli di registrazione di Spark seguendo questa procedura.

Scelta dell'impostazione del filtro standard per la registrazione continua

Se hai attivato la registrazione continua del processo, scegli il filtro Standard per Filtraggio log. Questo filtro aiuta a eliminare i messaggi inutili del driver/executor di Apache Spark e del log heartbeat di Apache Hadoop YARN. Per modificare l'impostazione del filtro di log del processo AWS Glue, procedi come segue:

  1. Apri la console AWS Glue.
  2. Nel riquadro di navigazione, scegliProcessi.
  3. Seleziona il processo che desideri aggiornare.
  4. Scegli Operazioni, quindi scegli Modifica processo.
  5. Espandi la sezione Opzioni di monitoraggio.
  6. Seleziona Registrazione continua.
  7. In Filtraggio log, seleziona Filtro standard.
  8. Scegli Salva.

Per modificare questa impostazione dall'interfaccia della linea di comando AWS (AWS CLI), usa il seguente comando:

'--enable-continuous-cloudwatch-log': 'true'
'--enable-continuous-log-filter': 'true'

Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS, assicurati di utilizzare la versione più recente di AWS CLI.

Per ulteriori informazioni, consulta Enabling continuous logging for AWS Glue jobs.

Importante: anche con l'impostazione del filtro standard, i log master dei processi Spark vengono comunque inviati ai gruppi di log /aws-glue/jobs/output e /aws-glue/jobs/error.

Impostazione del livello di registrazione utilizzando il metodo setLogLevel del contesto Spark

È possibile impostare il livello di registrazione del processo utilizzando il metodo setLogLevel di pyspark.context.SparkContext. I livelli di registrazione validi sono ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE e WARN. Per ulteriori informazioni, consulta la documentazione di Spark per setLogLevel.

Usa il codice seguente per importare il metodo del contesto Spark e impostare il livello di registrazione del processo:

from pyspark.context import SparkContext
sc = SparkContext()
sc.setLogLevel("new-log-level")

Nota: assicurati di sostituire new-log-level con il livello di registrazione che desideri impostare per il processo.

Per ulteriori informazioni, consulta Configuring logging nella documentazione di Spark.

Uso di un file log4j.properties personalizzato per definire il livello di registrazione

Spark utilizza le configurazioni log4j per la registrazione. È possibile includere le preferenze di registrazione in un file log4j.properties, caricare il file in Amazon Simple Storage Service (Amazon S3) e utilizzare il file nel processo AWS Glue.

Per fare riferimento al file Amazon S3 nel processo, procedi come segue:

  1. Apri la console AWS Glue.
  2. Nel riquadro di navigazione, scegliProcessi.
  3. Seleziona il processo a cui desideri fare riferimento.
  4. Scegli Operazioni, quindi scegli Modifica processo.
  5. Espandi la sezione Configurazione di sicurezza, librerie di script e parametri di processo (opzionale).
  6. Per il Percorso dei file di riferimento, incolla il percorso S3 completo in cui hai archiviato il file log4j.properties.

Per ulteriori informazioni, consulta Providing your own custom scripts.


Informazioni correlate

Monitoring with Amazon CloudWatch

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa