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.
Protokollierung für AWS Glue Jobs
In AWS Glue 5.0 verfügen alle Jobs ü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äfixes (das der ID und driver/executor ID der AWS Glue Auftragsausführung vorangestellt wird) und des Protokollkonvertierungsmusters für Protokollnachrichten. 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 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 Logging
Sie können die Standardpräfixe für Protokollgruppen und Protokolldatenströme mithilfe der folgenden Job-Argumente anpassen:
-
--custom-logGroup-prefix
: Ermöglicht es Ihnen, ein benutzerdefiniertes Präfix für die Gruppen/aws-glue/jobs/error
und/aws-glue/jobs/output
Logs anzugeben. Wenn Sie ein benutzerdefiniertes Präfix angeben, haben die Namen der Protokollgruppen das folgende Format:-
/aws-glue/jobs/error
wird
sein.<customer prefix>
/error -
/aws-glue/jobs/output
wird
sein.<customer prefix>
/output
-
-
--custom-logStream-prefix
: Ermöglicht es Ihnen, ein benutzerdefiniertes Präfix für die Log-Stream-Namen innerhalb der Log-Gruppen anzugeben. Wenn Sie ein benutzerdefiniertes Präfix angeben, haben die Log-Stream-Namen das folgende Format:-
jobrunid-driver
wird
sein.<customer log stream>
-driver -
jobrunid-executorNum
wird
sein.<customer log stream>
-executorNum
-
Validierungsregeln und Einschränkungen für benutzerdefinierte Präfixe:
-
Der gesamte Protokollstreamname muss 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 Treiberprotokollstream 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
Protokollstream eine Fortschrittsleiste in Echtzeit bereit, mit der der Status der AWS Glue Auftragsausführung überprüft werden kann. Derzeit unterstützt er nur Aufträge, die glueContext
initialisieren. Wenn Sie einen reinen Spark-Job ohne Initialisierung ausführenglueContext
, wird der AWS Glue Fortschrittsbalken nicht angezeigt.
Der Fortschrittsbalken wird alle 5 Sekunden aktualisiert.
Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]
Sicherheitskonfiguration mit Protokollierung Amazon CloudWatch
Wenn eine Sicherheitskonfiguration für Amazon CloudWatch Protokolle aktiviert ist, werden Protokollgruppen mit bestimmten Benennungsmustern AWS Glue erstellt, 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 -
Standardgruppe für das Ausgabelogbuch:
/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 Ausgabeloggruppe (AWS Glue 5.0):
custom-log-group-prefix
/Security-Configuration-Name
-role/glue-job-role
/output
Erforderliche IAM-Berechtigungen
Sie müssen die logs:AssociateKmsKey
Berechtigung zu Ihren IAM-Rollenberechtigungen 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 die Amazon CloudWatch Logs zu konfigurieren, folgen Sie außerdem den Anweisungen unter Log Data in Amazon CloudWatch Logs Using verschlüsseln AWS Key Management Service im Amazon Amazon CloudWatch Logs-Benutzerhandbuch.
Zusätzliche Informationen
Weitere Informationen zum Erstellen von Sicherheitskonfigurationen finden Sie unter Sicherheitskonfigurationen auf der AWS Glue Konsole verwalten.