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

Surveillance des tâches avec Amazon CloudWatch Events

Amazon EMR sur 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 des détails supplémentaires sur l'événement, comme l'ID de cluster virtuel et l'ID de l'exécution de la tâche concernée.

Vous pouvez utiliser des événements pour suivre l'activité et l'état d'un travail que vous exécutez sur un cluster virtuel. Vous pouvez également utiliser Amazon CloudWatch Events pour définir une action à effectuer lorsqu'un exécution de la tâche génère un événement qui correspond à un modèle que vous spécifiez. Les événements sont utiles pour surveiller une occurrence spécifique pendant le cycle de vie d'une exécution de tâche. Par exemple, vous pouvez surveiller quand une exécution de la tâche change d'état desubmittedsurrunning. Pour de plus amples informations sur CloudWatch Events, veuillez consulterGuide de l'utilisateur Amazon CloudWatch Events.

Le tableau suivant répertorie des événements Amazon EMR on EKS avec l'état ou le changement d'état indiqué par l'événement, la gravité de l'événement et les messages d'événement. 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 avecCloudWatch Events car les règles visent à établir une correspondance avec des modèles dans l'objet JSON. Pour de plus amples informations, veuillez consulterÉvénements et modèles d'événementset Amazon EMR on EKS EventsGuide de l'utilisateur Amazon CloudWatch Events.

Événements de modification de l'état d'exécution
État Gravité Message
SUBMITTED INFO Exécution JobJobRunId(JobRunName) a été soumis avec succès au cluster virtuelVirtualClusterIDàHeureUTC.
EN COURS D'EXÉCUTION INFO Exécution JobJobRunId(JobRunName) dans le cluster virtuelVirtualClusterIDa commencé à s'exécuter àHeure.
TERMINÉ INFO Exécution JobJobRuniD(JobRunName) dans le cluster virtuelVirtualClusterIDterminé àHeure. Le Job Run a commencé à s'exécuter àHeureet a prisNum Numminutes à compléter.
CANCELLED WARN La demande d'annulation a réussi pour Job RunJobRunId(JobRunName) dans le cluster virtuelVirtualClusterIDàHeureet l'exécution de la Job est désormais annulée.
ÉCHEC ERROR Exécution JobJobRunId(JobRunName) dans le cluster virtuelVirtualClusterIDa échoué àHeure.

Automatisez Amazon EMR sur EKS avec CloudWatch Events

Vous pouvez utiliser Amazon CloudWatch Events pour automatiser votreAWSpour répondre à des événements système tels que des problèmes de disponibilité d'application ou des modifications de ressource. Événements provenant deAWSsont 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 :

  • Appel d'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 d'état AWS Step Functions

  • Notification d'unAmazon Simple Notification Service(SNS) ou unAmazon Simple Queue Servicefile d'attente (SQS)

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

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

  • Notification d'une rubrique Amazon SNS en cas d'échec d'une exécution de la tâche

CloudWatch Eventsdetail-type:«  »EMR Job Run State Change« sont générés par Amazon EMR sur EKS pourSUBMITTED,RUNNING,CANCELLED,FAILEDandCOMPLETEDLes changements d'état.

Exemple : Configurer une règle qui appelle Lambda

Suivez les étapes suivantes pour configurer une règle CloudWatch Events qui appelle Lambda lorsqu'il existe un événement « EMR Job Run State Change ».

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

Ajoutez la fonction Lambda que vous possédez en tant que nouvelle cible et donnez à CloudWatch Events l'autorisation d'appeler la fonction Lambda comme suit. Remplacez123456789012avec votre ID de 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 en fonction de la présence d'événements de notification ou de leur ordre, car il peut ne pas y en avoir ou ils peuvent ne pas être dans l'ordre défini. Les événements sont générés sur la base du meilleur effort.