Monitorar trabalhos
Você pode usar o Amazon CloudWatch Events para rastrear trabalhos executados em um cluster virtual do Amazon EMR no EKS. É possível usar os eventos para rastrear a atividade e a integridade de trabalhos executados em um cluster virtual. Os tópicos a seguir mostram maneiras de configurar o monitoramento de forma eficaz para manter a integridade de recursos.
Tópicos
Monitoramento de trabalhos com o Amazon CloudWatch Events
O Amazon EMR no EKS emite eventos quando o estado de uma execução de trabalho é alterado. Cada evento fornece informações, como a data e o horário em que o evento ocorreu, em conjunto com mais detalhes sobre o evento, como o ID do cluster virtual e o ID de uma execução de trabalho que foi afetada.
É possível usar os eventos para rastrear a atividade e a integridade de trabalhos executados em um cluster virtual. Você também pode usar o Amazon CloudWatch Events para definir uma ação a ser tomada quando uma execução de trabalho gerar um evento que corresponda a um padrão especificado por você. Os eventos são úteis para monitorar uma ocorrência específica durante o ciclo de vida de uma execução de trabalho. Por exemplo, é possível monitorar quando uma execução de trabalho sofre alteração de estado de submitted para running. Para obter mais informações sobre eventos do CloudWatch, consulte o Guia do usuário do Amazon EventBridge.
A tabela apresentada a seguir lista os eventos do Amazon EMR no EKS em conjunto com o estado ou a alteração de estado que o evento indica, a severidade do evento e as mensagens do evento. Cada evento é representado como um objeto JSON que é enviado automaticamente a um stream de evento. O objeto JSON inclui mais detalhes sobre o evento. O objeto JSON é particularmente importante quando você configura as regras para o processamento de eventos usando o CloudWatch Events, pois as regras buscam corresponder aos padrões no objeto JSON. Para obter mais informações, consulte Amazon EventBridge event patterns e Amazon EMR on EKS Events no Guia do usuário do Amazon EventBridge.
| Estado | Gravidade | Mensagem |
|---|---|---|
| SUBMITTED | INFORMAÇÕES | A execução de trabalho JobRunId (JobRunName) foi enviada com êxito ao cluster virtual VirtualClusterId às Horário UTC. |
| RUNNING (Em execução) | INFORMAÇÕES | A execução de trabalho JobRunId (JobRunName) no cluster virtual VirtualClusterId começou a ser executada às Horário. |
| CONCLUÍDO | INFORMAÇÕES | A execução de trabalho JobRunId (JobRunName) no cluster virtual VirtualClusterId foi concluída às Horário. A execução de trabalho começou a ser executada às Horário e demorou Número minutos para ser concluída. |
| CANCELADO | WARN | A solicitação de cancelamento teve êxito para a execução de trabalho JobRunId (JobRunName) no cluster virtual VirtualClusterId às Horário e a execução de trabalho está cancelada, no momento. |
| COM FALHA | ERRO | A execução de trabalho JobRunId (JobRunName) no cluster virtual VirtualClusterId falhou às Horário. |
Automatização do Amazon EMR no EKS com o CloudWatch Events
Você pode usar o Amazon CloudWatch Events para automatizar os serviços da AWS para responder a eventos do sistema, como problemas de disponibilidade de aplicações ou alterações de recursos. Os eventos dos produtos da AWS são entregues ao CloudWatch Events quase em tempo real. É possível criar regras simples para indicar quais eventos são de seu interesse, e quais ações automatizadas devem ser tomadas quando um evento corresponder a uma regra. As ações que podem ser automaticamente acionadas incluem as seguintes:
-
Invocar uma função do AWS Lambda
-
Invocar o comando de execução do Amazon EC2
-
Transmitir o evento Amazon Kinesis Data Streams
-
Ativar a máquina de estado do AWS Step Functions
-
Notificação de um tópico do Amazon Simple Notification Service (SNS) ou de uma fila do Amazon Simple Queue Service (SQS)
Alguns exemplos de uso do CloudWatch Events com o Amazon EMR no EKS incluem o seguinte:
-
Ativação de uma função do Lambda quando uma execução de trabalho tiver êxito.
-
Notificação de um tópico do Amazon SNS quando uma execução de trabalho falhar.
Os eventos do CloudWatch Events para “detail-type:” “EMR Job Run State Change” são gerados pelo Amazon EMR no EKS para as alterações de estado SUBMITTED, RUNNING, CANCELLED, FAILED e COMPLETED.
Exemplo: configuração de uma regra que invoque o Lambda
Use as etapas apresentadas a seguir para configurar uma regra do CloudWatch Events que invoca o Lambda quando há um evento de “alteração de estado em execuções de trabalhos do EMR”.
aws events put-rule \ --name cwe-test \ --event-pattern '{"detail-type": ["EMR Job Run State Change"]}'
Adicione a função do Lambda de sua propriedade como um novo destino e conceda permissão ao CloudWatch Events para invocar a função do Lambda, como apresentado a seguir. Substitua 123456789012 pelo ID da sua conta.
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
nota
Não é possível escrever um programa que dependa da ordem ou da existência de eventos de notificação, pois eles podem estar fora de sequência ou ausentes. Os eventos são emitidos com base no melhor esforço.
Monitoramento do pod de drivers do trabalho com uma política de repetição usando o Amazon CloudWatch Events
Ao usar eventos do CloudWatch, você pode monitorar pods de drivers que foram criados em trabalhos que têm políticas de repetição. Para obter mais informações, consulte Monitoramento de um trabalho com uma política de repetição neste guia.