Comment réduire la quantité de journaux générés par ma tâche AWS Glue ?

Lecture de 4 minute(s)
0

Ma tâche AWS Glue génère trop de journaux dans Amazon CloudWatch. Je souhaite réduire le nombre de journaux générés.

Solution

Avec les tâches ETL AWS Glue-Spark, vous ne pouvez pas contrôler le niveau de détail des journaux générés par les instances sur lesquelles les tâches AWS Glue s'exécutent. Les journaux sont détaillés afin de pouvoir être utilisés pour surveiller les défaillances internes et aider à diagnostiquer les échecs des tâches. Cependant, vous pouvez définir les niveaux de journalisation Spark en suivant les étapes présentées ici.

Choisir le paramètre de filtre standard pour la journalisation continue

Si vous avez activé la journalisation continue pour votre tâche, choisissez le filtre Standard pour l'option Log filtering (Filtrage des journaux). Ce filtre peut vous aider à supprimer les messages inutiles du pilote ou de l'exécuteur Apache Spark et des messages de journaux heartbeat Apache Hadoop YARN. Pour modifier le paramètre de filtre de journaux de votre tâche AWS Glue, procédez comme suit :

  1. Ouvrez la console AWS Glue.
  2. Dans le panneau de navigation, choisissez Jobs (Tâches).
  3. Sélectionnez la tâche à mettre à jour.
  4. Choisissez Action, puis Edit job (Modifier la tâche).
  5. Développez la section Monitoring options (Options de surveillance).
  6. Sélectionnez Continuous logging (Journalisation continue).
  7. Sous Log filtering (Filtrage des journaux), sélectionnez Standard filter (Filtre standard).
  8. Choisissez Save (Enregistrer).

Pour modifier ce paramètre depuis AWS Command Line Interface (AWS CLI), utilisez la commande suivante :

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

Remarque : si vous recevez des erreurs lors de l'exécution de commandes AWS CLI, vérifiez que vous utilisez la version la plus récente d'AWS CLI.

Pour plus d'informations, consultez la section Activation de la journalisation continue pour les tâches AWS Glue.

Important : même avec le paramètre de filtre standard, les journaux principaux d'application pour les tâches Spark sont toujours transférés vers les groupes /aws-glue/jobs/output et /aws-glue/jobs/error log.

Définir le niveau de journalisation en utilisant la méthode contextuelle Spark setLogLevel

Vous pouvez définir le niveau de journalisation de votre tâche à l'aide de la méthode setLogLevel de pyspark.context.SparkContext. Les niveaux de journalisation valides incluent ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE et WARN. Pour plus d'informations, consultez la section setLogLevel de la documentation de Spark.

Utilisez le code suivant pour importer la méthode de contexte Spark et définir le niveau de journalisation de votre tâche :

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

Remarque : assurez-vous de remplacer new-log-level par le niveau de journalisation que vous souhaitez définir pour votre tâche.

Pour plus d'informations, consultez la section Configuration de la journalisation de la documentation de Spark.

Utiliser un fichier log4j.properties personnalisé pour définir le niveau de journalisation

Spark utilise les configurations log4j pour la journalisation. Vous pouvez inclure les préférences de journalisation dans un fichier log4j.properties, télécharger le fichier sur Amazon Simple Storage Service (Amazon S3) et utiliser le fichier dans la tâche AWS Glue.

Pour référencer le fichier Amazon S3 dans la tâche, procédez comme suit :

  1. Ouvrez la console AWS Glue.
  2. Dans le panneau de navigation, choisissez Jobs (Tâches).
  3. Sélectionnez la tâche dans laquelle vous souhaitez référencer le fichier.
  4. Choisissez Actions, puis Edit job (Modifier la tâche).
  5. Développez la section Configuration de la sécurité, bibliothèques de scripts et paramètres de tâche (facultatif).
  6. Pour Referenced files path (Chemin d'accès aux fichiers référencés), collez le chemin S3 complet où vous avez stocké le fichier log4j.properties.

Pour plus d'informations, consultez la section Fournir vos propres scripts personnalisés.


Informations connexes

Surveillance avec Amazon CloudWatch

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans