Surveillance des tâches - Amazon EMR

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.

Surveillance des tâches

Surveillez les offres d'emploi avec Amazon CloudWatch Events

Amazon EMR on EKS émet des événements lorsque l'état d'une exécution de tâche change. Chaque événement fournit des informations, telles que la date et l'heure auxquelles l'événement s'est produit, ainsi que d'autres détails sur l'événement, tels que l'identifiant du cluster virtuel et l'identifiant de l'exécution de tâche qui a été affectée.

Vous pouvez utiliser les événements pour suivre l'activité et l'état des tâches que vous exécutez sur un cluster virtuel. Vous pouvez également utiliser Amazon CloudWatch Events pour définir une action à effectuer lorsqu'une tâche génère un événement correspondant à un modèle que vous spécifiez. Les événements sont utiles pour surveiller un événement spécifique au cours du cycle de vie d'une tâche. Par exemple, vous pouvez surveiller le moment où l'état d'une exécution de tâche passe de submitted à running. Pour plus d'informations sur CloudWatch les événements, consultez le guide de EventBridge l'utilisateur Amazon.

Le tableau suivant répertorie les événements Amazon EMR on EKS en indiquant l'état ou la modification d'état associée à chaque événement, sa gravité ainsi que les messages correspondants. Chaque événement est représenté sous la forme un objet JSON qui est automatiquement envoyé à un flux d'événements. L'objet JSON inclut des détails supplémentaires sur l'événement. L'objet JSON est particulièrement important lorsque vous configurez des règles pour le traitement des événements à l'aide d' CloudWatch Events, car les règles cherchent à correspondre aux modèles de l'objet JSON. Pour plus d'informations, consultez les modèles d' EventBridge événements Amazon et Amazon EMR on EKS Events dans le guide de EventBridge l'utilisateur Amazon.

Événements de changement d'état d'exécution de tâche
État Sévérité Message
SUBMITTED INFO Job Run JobRunId(JobRunName) a été correctement soumis au cluster virtuel VirtualClusterIdà l'heure UTC.
RUNNING INFO Job Run JobRunId(JobRunName) dans le cluster virtuel VirtualClusterIda commencé à s'exécuter à Time.
TERMINÉ INFO Job Run jobRunId(JobRunName) dans un cluster virtuel VirtualClusterIdterminé à Time. L'exécution de tâche a commencé à s'exécuter à Heure et a duré Nombre minutes avant de se terminer.
CANCELLED WARN La demande d'annulation de Job Run JobRunId(JobRunName) dans le cluster virtuel a été VirtualClusterIdacceptée à Time et le Job Run est maintenant annulé.
ÉCHEC ERROR Job Run JobRunId(JobRunName) dans le cluster virtuel VirtualClusterIda échoué à Time.

Automatisez Amazon EMR sur EKS avec des événements CloudWatch

Vous pouvez utiliser Amazon CloudWatch Events pour automatiser vos AWS services afin de répondre aux événements du système tels que les problèmes de disponibilité des applications ou les modifications des ressources. Les événements des AWS services sont fournis à CloudWatch Events en temps quasi réel. Vous pouvez écrire des règles simples pour préciser les événements qui vous intéressent et les actions automatisées à effectuer quand un événement correspond à une règle. Les actions pouvant être déclenchées automatiquement sont les suivantes :

  • Invoquer une fonction AWS Lambda

  • Appel de la fonctionnalité Exécuter la commande d'Amazon EC2

  • Relais de l'événement à Amazon Kinesis Data Streams

  • Activation d'une machine à AWS Step Functions états

  • Notification d'un sujet Amazon Simple Notification Service (SNS) ou d'une file d'attente Amazon Simple Queue Service (SQS)

Voici quelques exemples d'utilisation d' CloudWatch Events avec Amazon EMR sur EKS :

  • Activation d'une fonction Lambda lorsqu'une exécution de tâche réussit

  • Notification d'une rubrique Amazon SNS lorsqu'une exécution de tâche échoue

CloudWatch Les événements pour « detail-type: » EMR Job Run State Change » sont générés par Amazon EMR sur EKS pourSUBMITTED, RUNNINGCANCELLED, FAILED et les changements COMPLETED d'état.

Exemple : configuration d'une règle qui invoque Lambda

Suivez les étapes ci-dessous pour configurer une règle d' CloudWatch événements qui invoque Lambda lorsqu'un événement « EMR Job Run State Change » se produit.

aws events put-rule \ --name cwe-test \ --event-pattern '{"detail-type": ["EMR Job Run State Change"]}'

Ajoutez la fonction Lambda que vous possédez comme nouvelle cible et autorisez CloudWatch Events à invoquer la fonction Lambda comme suit. Remplacez 123456789012 par votre l'identifiant de votre compte.

aws events put-targets \ --rule cwe-test \ --targets Id=1,Arn=arn:aws:lambda:us-east-1:123456789012:function:MyFunction
aws lambda add-permission \ --function-name MyFunction \ --statement-id MyId \ --action 'lambda:InvokeFunction' \ --principal events.amazonaws.com
Note

Vous ne pouvez pas écrire un programme qui dépend de l'ordre ou de l'existence d'événements de notification, car ces événements peuvent arriver dans un ordre différent ou être absents. Les événements sont générés dans la mesure du possible.

Surveillez le module pilote de la tâche avec une politique de nouvelle tentative à l'aide d'Amazon Events CloudWatch

À l'aide d' CloudWatch événements, vous pouvez surveiller les modules de pilotes créés dans le cadre de tâches soumises à des politiques de nouvelle tentative. Pour plus d’informations, consultez Surveillance d'une tâche à l'aide d'une politique de relance dans ce guide.