Journalisation pour les AWS Glue emplois - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Journalisation pour les AWS Glue emplois

Dans la AWS Glue version 5.0, toutes les tâches disposent de fonctionnalités de journalisation en temps réel. En outre, vous pouvez définir des options de configuration personnalisées pour adapter le comportement de journalisation. Ces options incluent la définition du nom du groupe de Amazon CloudWatch journaux, du préfixe du flux de Amazon CloudWatch journal (qui précédera l'ID et l'ID AWS Glue d'exécution de la tâche) et driver/executor du modèle de conversion des journaux pour les messages de journal. Ces configurations vous permettent d'agréger les journaux dans des groupes de Amazon CloudWatch journaux personnalisés avec différentes politiques d'expiration. En outre, vous pouvez analyser les journaux plus efficacement en utilisant des préfixes de flux de journaux et des modèles de conversion personnalisés. Ce niveau de personnalisation vous permet d'optimiser la gestion et l'analyse des journaux en fonction de vos besoins spécifiques.

Comportement de journalisation en AWS Glue version 5.0

Par défaut, les journaux du système, les journaux du démon Spark et les journaux de l'utilisateur AWS Glue sont écrits dans le groupe de /aws-glue/jobs/error journaux. Amazon CloudWatch D'autre part, les journaux utilisateur stdout (sortie standard) et stderr (erreur standard) sont écrits dans le /aws-glue/jobs/output groupe de journaux par défaut.

Journalisation personnalisée

Vous pouvez personnaliser le groupe de journaux par défaut et les préfixes de flux de journaux à l'aide des arguments de tâche suivants :

  • --custom-logGroup-prefix: vous permet de spécifier un préfixe personnalisé pour les groupes de /aws-glue/jobs/output journaux /aws-glue/jobs/error et. Si vous fournissez un préfixe personnalisé, les noms des groupes de journaux seront au format suivant :

    • /aws-glue/jobs/error sera <customer prefix>/error

    • /aws-glue/jobs/output sera <customer prefix>/output

  • --custom-logStream-prefix: vous permet de spécifier un préfixe personnalisé pour les noms des flux de journaux au sein des groupes de journaux. Si vous fournissez un préfixe personnalisé, les noms des flux de journaux seront au format suivant :

    • jobrunid-driver sera <customer log stream>-driver

    • jobrunid-executorNum sera <customer log stream>-executorNum

Règles de validation et limites pour les préfixes personnalisés :

  • Le nom complet du flux de log doit comporter entre 1 et 512 caractères.

  • Le préfixe personnalisé lui-même est limité à 400 caractères.

  • Le préfixe personnalisé doit correspondre au modèle d'expression régulière `[^ : *] *` (les caractères spéciaux autorisés sont « _ », « - » et «/»).

Journalisation des messages spécifiques aux applications à l'aide de l'enregistreur de script personnalisé

Vous pouvez utiliser l' AWS Glue enregistreur pour enregistrer tous les messages spécifiques à l'application dans le script qui sont envoyés en temps réel au flux de journal du pilote.

L'exemple suivant illustre un script Python.

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")

L'exemple suivant illustre un script Scala.

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") } }

Activation de la barre de progression pour afficher la progression d'une tâche

AWS Glue fournit une barre de progression en temps réel sous le flux du JOB_RUN_ID-progress-bar journal pour vérifier l'état AWS Glue d'exécution des tâches. Actuellement, il prend en charge uniquement les tâches qui initialisent glueContext. Si vous exécutez une tâche Spark pure sans l'initialiserglueContext, la barre de AWS Glue progression n'apparaît pas.

La barre de progression indique une mise à jour de la progression suivante toutes les 5 secondes.

Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]

Configuration de sécurité avec Amazon CloudWatch journalisation

Lorsqu'une configuration de sécurité est activée pour les Amazon CloudWatch journaux, AWS Glue crée des groupes de journaux avec des modèles de dénomination spécifiques qui incorporent le nom de la configuration de sécurité.

Dénomination des groupes de journaux avec configuration de sécurité

Les groupes de journaux par défaut et personnalisés seront les suivants :

  • Groupe de journaux d'erreurs par défaut : /aws-glue/jobs/Security-Configuration-Name-role/glue-job-role/error

  • Groupe de journaux de sortie par défaut : /aws-glue/jobs/Security-Configuration-Name-role/glue-job-role/output

  • Groupe de journaux d'erreurs personnalisé (AWS Glue 5.0) : custom-log-group-prefix/Security-Configuration-Name-role/glue-job-role/error

  • Groupe de journaux de sortie personnalisé (AWS Glue 5.0) : custom-log-group-prefix/Security-Configuration-Name-role/glue-job-role/output

Autorisations IAM nécessaires

Vous devez ajouter cette logs:AssociateKmsKey autorisation aux autorisations de votre rôle IAM, si vous activez une configuration de sécurité avec Amazon CloudWatch Logs. Si cette autorisation n'est pas incluse, la journalisation continue sera désactivée.

De plus, pour configurer le chiffrement des Amazon CloudWatch journaux, suivez les instructions de la section Chiffrer les données des Amazon CloudWatch journaux dans les journaux à l'aide AWS Key Management Service du guide de l'utilisateur Amazon Amazon CloudWatch Logs.

Informations supplémentaires

Pour plus d'informations sur la création de configurations de sécurité, consultez la section Gestion des configurations de sécurité sur la AWS Glue console.