Wie kann ich die Menge der von meinem AWS Glue-Job generierten Protokolle reduzieren?

Lesedauer: 3 Minute
0

Mein AWS Glue-Job generiert zu viele Protokolle in Amazon CloudWatch. Ich möchte die Anzahl der generierten Protokolle reduzieren.

Behebung

Bei AWS Glue-Spark ETL-Jobs können Sie die Ausführlichkeit der Protokolle, die von den Instances generiert werden, auf denen die AWS Glue-Jobs ausgeführt werden, nicht kontrollieren. Die Protokolle sind ausführlich, so dass sie zur Überwachung von interner Fehler und zur Diagnose von Auftragsausfällen verwendet werden können. Sie können jedoch die Spark-Protokollierungsstufen definieren, indem Sie die hier beschriebenen Schritte ausführen.

Wählen Sie die Standardfiltereinstellung für die kontinuierliche Protokollierung

Wenn Sie die kontinuierliche Protokollierung für Ihren Job aktiviert haben, wählen Sie die **Option **** Standardfilter für die **Protokollfilterung. Dieser Filter kann Ihnen helfen, die nicht nützlichen Apache Spark-Treiber/Executor- und Apache Hadoop YARN-Heartbeat-Protokollmeldungen zu entfernen. Um die Einstellung des Protokollfilters für Ihren AWS Glue-Job zu ändern, gehen Sie wie folgt vor:

  1. Öffnen Sie die AWS-Glue-Konsole.
  2. Wählen Sie im Navigationsbereich Jobs.
  3. Wählen Sie den Job aus, den Sie aktualisieren möchten.
  4. Wählen Sie Aktionund dann Job bearbeiten.
  5. Erweitern Sie den **Abschnitt **Überwachungsoptionen.
  6. Wählen Sie Kontinuierliche Protokollierung.
  7. Wählen Sie unter Protokollfilterungdie Option Standardfilter.
  8. Wählen Sie Speichern.

Um diese Einstellung über die AWS Command Line Interface (AWS CLI) zu ändern, verwenden Sie den folgenden Befehl:

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

**Hinweis:**Wenn Sie bei der Ausführung von AWS CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.

Weitere Informationen finden Sie unter Aktivieren der kontinuierlichen Protokollierung für AWS Glue-Jobs .

**Wichtig:**Auch mit der Standardfiltereinstellung werden die Anwendungsmasterprotokolle für die Spark-Jobs immer noch in die Protokollgruppen /aws-glue/jobs/output und /aws-glue/jobs/errorübertragen.

Einstellen der Protokollierungsstufe mit der Spark-Kontextmethode setLogLevel

Sie können die Protokollstufe für Ihren Job mit der Methode setLogLevel von pyspark.context.SparkContext festlegen. Gültigen Protokollierungsstufen sind ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE und WARN. Weitere Informationen finden Sie in der Spark-Dokumentation zu setLogLevel.

Verwenden Sie den folgenden Code, um die Spark-Kontextmethode zu importieren und die Protokollierungsebene für Ihren Job festzulegen:

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

Hinweis: Achten Sie darauf, new-log-level durch das Logging-Levelzu ersetzen, das Sie für Ihren Job festlegen möchten.

Weitere Informationen finden Sie in der Spark-Dokumentation zur Konfiguration der Protokollierung.

Verwenden Sie eine benutzerdefinierte Datei log4j.properties, um die Protokollierungsebene zu definieren

Spark verwendet log4j-Konfigurationen für die Protokollierung. Sie können die Protokollierungseinstellungen in eine **** log4j.properties-Datei aufnehmen, die Datei auf Amazon Simple Storage Service (Amazon S3) hochladen und die Datei im AWS Glue-Job verwenden.

Gehen Sie wie folgt vor, um im Job auf die Amazon S3-Datei zu verweisen:

  1. Öffnen Sie die AWS-Glue-Konsole.
  2. Wählen Sie im Navigationsbereich Jobs.
  3. Wählen Sie den Job aus, für den Sie die Datei referenzieren möchten.
  4. Wählen Sie Aktionenund dann Job bearbeiten.
  5. Erweitern Sie den **Abschnitt **Sicherheitskonfiguration, Skriptbibliotheken und Jobparameter (optional).
  6. Fügen Sie unter Pfad für referenzierte Dateien den vollständigen S3-Pfad ein, in dem Sie die Datei ****log4j.properties gespeichert haben.

Weitere Informationen finden Sie unter Bereitstellen eigener benutzerdefinierter Skripts.


Verwandte Informationen

Überwachung mit Amazon CloudWatch

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren