Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Protokollieren für AWS Glue-Aufträge
In AWS Glue 5.0 verfügen alle Aufträge über Funktionen zur Echtzeitprotokollierung. Darüber hinaus können Sie benutzerdefinierte Konfigurationsoptionen angeben, um das Protokollierungsverhalten anzupassen. Zu diesen Optionen gehören das Festlegen des Amazon CloudWatch-Protokollgruppennamens, des Amazon CloudWatch-Protokollstream-Präfix (das vor der AWS Glue-Auftragsausführungs-ID und der Treiber/Executor-ID steht) und das Protokollkonvertierungsmuster für Protokollmeldungen Mit diesen Konfigurationen können Sie Protokolle in benutzerdefinierten Amazon CloudWatch-Protokollgruppen mit unterschiedlichen Ablaufrichtlinien zusammenfassen. Darüber hinaus können Sie die Protokolle effektiver analysieren, indem Sie benutzerdefinierte Protokollstream-Präfixe und Konvertierungsmuster verwenden. Dieser Grad der Anpassung ermöglicht es Ihnen, die Protokollverwaltung und -analyse gemäß Ihren spezifischen Anforderungen zu optimieren.
Protokollierungsverhalten in AWS Glue 5.0
Standardmäßig werden Systemprotokolle, Spark-Daemon-Protokolle und AWS Glue-Benutzer-Logger-Protokolle in Amazon CloudWatch in die /aws-glue/jobs/error-Protokollgruppe geschrieben. Andererseits werden die Benutzerprotokolle stdout (Standardausgabe) und stderr (Standardfehler) standardmäßig in die /aws-glue/jobs/output-Protokollgruppe geschrieben.
Benutzerdefiniertes Protokollieren
Sie können die Standardpräfixe für Protokollgruppen und Protokollstreams mithilfe der folgenden Auftragsargumente anpassen:
-
--custom-logGroup-prefix: Ermöglicht es Ihnen, ein benutzerdefiniertes Präfix für die Protokollgruppen/aws-glue/jobs/errorund/aws-glue/jobs/outputanzugeben. Wenn Sie ein benutzerdefiniertes Präfix angeben, weisen die Namen der Protokollgruppen das folgende Format auf:-
/aws-glue/jobs/errorwirdsein.<customer prefix>/error -
/aws-glue/jobs/outputwirdsein.<customer prefix>/output
-
-
--custom-logStream-prefix: Ermöglicht es Ihnen, ein benutzerdefiniertes Präfix für die Namen der Protokollstreams innerhalb der Protokollgruppen anzugeben. Wenn Sie ein benutzerdefiniertes Präfix angeben, weisen die Namen der Protokollstreams das folgende Format auf:-
jobrunid-driverwirdsein.<customer log stream>-driver -
jobrunid-executorNumwirdsein.<customer log stream>-executorNum
-
Validierungsregeln und Einschränkungen für benutzerdefinierte Präfixe:
-
Der Name des Protokollstreams muss insgesamt zwischen 1 und 512 Zeichen lang sein.
-
Das benutzerdefinierte Präfix selbst ist auf 400 Zeichen beschränkt.
-
Das benutzerdefinierte Präfix muss dem regulären Ausdrucksmuster „[^:*]*“ entsprechen (zulässige Sonderzeichen sind „_“, „-“ und „/“).
Protokollieren von anwendungsspezifischen Meldungen mit dem benutzerdefinierten Skript-Logger
Sie können den AWS Glue-Logger verwenden, um alle anwendungsspezifischen Meldungen im Skript zu protokollieren, die in Echtzeit an den Protokoll-Stream des Treibers gesendet werden.
Das folgende Beispiel zeigt ein Python-Skript.
from awsglue.context import GlueContext from pyspark.context import SparkContext sc = SparkContext() glueContext = GlueContext(sc) logger = glueContext.get_logger() logger.info("info message") logger.warn("warn message") logger.error("error message")
Das folgende Beispiel zeigt ein Scala-Skript.
import com.amazonaws.services.glue.log.GlueLogger object GlueApp { def main(sysArgs: Array[String]) { val logger = new GlueLogger logger.info("info message") logger.warn("warn message") logger.error("error message") } }
Aktivieren des Fortschrittsbalkens zum Anzeigen des Auftragsfortschritts
AWS Glue stellt unter dem JOB_RUN_ID-progress-bar-Protokoll-Stream einen Echtzeit-Fortschrittsbalken bereit, mit dem der AWS Glue-Auftragsausführungsstatus überwacht werden kann. Derzeit unterstützt er nur Aufträge, die glueContext initialisieren. Wenn Sie einen reinen Spark-Auftrag ausführen, ohne glueContext zu initialisieren, wird der AWS Glue-Fortschrittsbalken nicht angezeigt.
Der Fortschrittsbalken wird alle 5 Sekunden aktualisiert.
Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]
Sicherheitskonfiguration mit Amazon CloudWatch-Protokollierung
Wenn eine Sicherheitskonfiguration für Amazon CloudWatch Logs aktiviert ist, erstellt AWS Glue Protokollgruppen mit bestimmten Benennungsmustern, die den Namen der Sicherheitskonfiguration enthalten.
Benennung von Protokollgruppen mit Sicherheitskonfiguration
Die Standard- und benutzerdefinierten Protokollgruppen lauten wie folgt:
-
Standard-Fehlerprotokollgruppe:
/aws-glue/jobs/Security-Configuration-Name-role/glue-job-role/error -
Standard-Ausgabeprotokollgruppe:
/aws-glue/jobs/Security-Configuration-Name-role/glue-job-role/output -
Benutzerdefinierte Fehlerprotokollgruppe (AWS Glue 5.0):
custom-log-group-prefix/Security-Configuration-Name-role/glue-job-role/error -
Benutzerdefinierte Ausgabeprotokollgruppe (AWS Glue 5.0):
custom-log-group-prefix/Security-Configuration-Name-role/glue-job-role/output
Erforderliche IAM-Berechtigungen
Sie müssen Ihren IAM-Rollenberechtigungen logs:AssociateKmsKey-Berichtigungen hinzufügen, wenn Sie eine Sicherheitskonfiguration mit Amazon CloudWatch Logs aktivieren. Wenn diese Berechtigung nicht enthalten ist, wird die fortlaufende Protokollierung deaktiviert.
Um die Verschlüsselung für Amazon CloudWatch Logs zu konfigurieren, befolgen Sie die Anweisungen unter Protokolldaten in Amazon CloudWatch Logs mithilfe von AWS Key Management Service verschlüsseln im Benutzerhandbuch für Amazon CloudWatch Logs.
Zusätzliche Informationen
Weitere Informationen zum Erstellen einer Sicherheitskonfiguration finden Sie hier: Verwalten der Sicherheitskonfiguration auf der AWS Glue-Konsole