Como posso solucionar problemas com as regras do EventBridge?

Data da última atualização: 15/4/2022

Ocorreu um evento que correspondeu à minha regra do Amazon EventBridge. No entanto, minha regra não está funcionando corretamente. Como posso solucionar isso?

Descrição breve

Determine se o problema é a regra que não está sendo acionada ou se o destino não foi invocado. Depois de determinar a origem do problema, você poderá validar o evento de entrada ou o destino.

Resolução

Verifique se a regra não está sendo acionada ou se o destino não está sendo invocado

Para fazer isso, use as métricas do EventBridge correspondentes para analisar a performance da regra.

A métrica TriggeredRules ilustra o número de vezes que uma regra correspondeu a um evento ou foi executada. Essa métrica é útil para confirmar se uma regra programada foi executada ou se uma regra correspondeu a um evento específico. Depois que a regra é acionada com sucesso, o EventBridge encaminha o evento para o destino.

Um ponto de dados de Invocations é gerado quando uma regra invoca um destino. O EventBridge fará várias tentativas caso encontre dificuldades para entregar o evento ao destino. Um ponto de dados FailedInvocations é emitido quando o EventBridge falha permanentemente ao invocar o destino. FailedInvocations indica problemas com a configuração do destino.

Analise as métricas do Amazon CloudWatch para a regra do EventBridge fazendo o seguinte:

  1. Abra o console do CloudWatch.
  2. Selecione All Metrics (Todas as métricas).
  3. Selecione o namespace AWS/Events.
  4. Selecione as métricas TriggerRules, Invocations e FailedInvocations (se disponíveis) para a regra em questão. Essas métricas podem ser visualizadas com a estatística SUM (SOMA).

Valide o evento recebido

  • Para regras baseadas em eventos, o padrão de evento deve ser configurado para corresponder ao evento desejado. Você pode validar o padrão de evento usando o console do EventBridge durante a criação da regra. O EventBridge também fornece a API TestEventPattern para validação de padrões de eventos.
  • Se o evento em questão for capturado pelo AWS CloudTrail, você poderá recuperar o evento do CloudTrail. Em seguida, confirme se o padrão de evento fornecido está correto.
  • Observe que alguns serviços da AWS estão disponíveis apenas na região us-east-1. Por exemplo, as chamadas de API do IAM só são publicadas em us-east-1. Isso significa que a regra do EventBridge correspondente deve ser criada na mesma região.

Valide o destino

  • Quando as regras são criadas usando o console do EventBridge, o console adiciona automaticamente as permissões necessárias para os seguintes:
    A função do IAM associada à regra do EventBridge.
    A política de recursos associada ao destino.
    Se a regra for implantada usando o AWS SDK, a AWS CLI ou o AWS CloudFormation, você deverá configurar explicitamente as permissões.
  • O EventBridge deve receber o acesso apropriado para invocar o destino. Dependendo do destino, confirme se a função do IAM ou a política de recursos apropriada tem as permissões corretas. Os pontos de dados FailedInvocations são gerados devido a permissões de destino inadequadas.
  • Se não houver pontos de dados FailedInvocations, o EventBridge entregou o evento ao destino com êxito. No entanto, o destino pode ter encontrado seus próprios problemas. Por exemplo, um destino do AWS Lambda pode ter encontrado erros ou limitações, independente do EventBridge. Para o carimbo de data/hora em que o destino foi chamado pela regra do EventBridge, analise as métricas do CloudWatch do destino e todos os logs relevantes.
  • Uma fila de cartas mortas (DLQ) do Amazon Simple Queue Service (Amazon SQS) pode ser associada ao destino. Todos os eventos que não foram entregues ao destino são enviados para a fila de cartas mortas. Isso é útil para ver mais detalhes sobre eventos com falha. Por exemplo, estruturar incorretamente o evento com o Input Transformer (Transformador de entrada) pode resultar em erros de validação de entrada no destino.