Melhores práticas para monitorar a entrega de eventos na Amazon EventBridge - Amazon EventBridge

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Melhores práticas para monitorar a entrega de eventos na Amazon EventBridge

Para garantir que a lógica de negócios em seus aplicativos orientados a eventos seja executada de forma confiável, é essencial monitorar seu comportamento de entrega de eventos. EventBridge fornece métricas que permitem monitorar, detectar e mitigar problemas com antecedência para garantir a entrega confiável de eventos. Dentre estas métricas:

  • Métricas baseadas em contadores, comoInvocationAttempts, RetryInvocationAttempts e SuccessfulInvocationAttemptsFailedInvocations, para permitir que você observe a limitação de metas e calcule as taxas de erro.

  • Métricas baseadas em latênciaIngestionToInvocationSuccessLatency, como fornecer informações sobre a entrega e os atrasos do evento.

Essas métricas permitem que você monitore a integridade de suas arquiteturas orientadas por eventos e compreenda e mitigue os problemas de entrega de eventos causados por metas de baixo desempenho, subdimensionadas ou que não respondem. Por exemplo, uma meta permanentemente subdimensionada ou limitada pode levar a repetições excessivas, atrasos na entrega de eventos e falhas permanentes na entrega.

Recomendamos que você combine várias métricas para obter uma visão geral holística e monitorá-las de perto. A configuração de alarmes e painéis apropriados permite que você resolva problemas persistentes com antecedência.

Para obter informações sobre métricas específicas, consulteEventBridge métricas.

Detectando falhas na entrega de eventos

EventBridge inclui métricas que você pode configurar para relatar invocações de destino, ou seja, tentativas de entrega de eventos, por regra.

Recomendamos que você monitore as seguintes métricas no nível da regra:

  • InvocationAttemptspara observar o número total de EventBridge tentativas de invocar o alvo, incluindo novas tentativas de entrega de eventos.

  • SuccessfulInvocationAttemptspara o número de tentativas de invocação em que o evento foi entregue EventBridge com sucesso ao alvo.

  • RetryInvocationAttemptspara o número de tentativas que representam novas tentativas de entrega de eventos.

    Um aumento RetryInvocationAttempts pode ser uma indicação precoce de uma meta subdimensionada.

Além disso, como o aumento das tentativas de repetição pode ser o primeiro sinal de problemas de entrega, também recomendamos criar uma única métrica que rastreie a porcentagem de invocações de destino bem-sucedidas em todas as invocações de destino. Por exemplo, CloudWatch você pode usar a matemática métrica para criar essa métrica, chamadaSuccessfulInvocationRate, usando a seguinte fórmula:

SuccessfulInvocationRate = SuccessfulInvocationAttempts / InvocationAttempts

Então, dependendo dos seus requisitos, você pode configurar CloudWatch os alarmes para criar notificações quando um determinado limite for atingido.

Embora uma diminuição ocasional SuccessfulInvocationRate devido a picos temporários de tráfego ou erros de invocação possa ser considerada normal, uma incompatibilidade constante é uma indicação de um alvo mal configurado e precisa ser tratada como parte do modelo de responsabilidade compartilhada.

Para obter mais informações sobre matemática métrica, consulte Uso de expressões matemáticas com CloudWatch métricas no Guia CloudWatch do usuário da Amazon.

Por padrão, EventBridge tenta entregar um evento novamente por 24 horas e até 185 vezes. Depois de EventBridge esgotar essas tentativas de repetição, EventBridge cancela o evento ou o envia para uma fila de mensagens mortas, se uma tiver sido especificada. Para obter mais informações, consulte Tentando novamente a entrega do evento. Para evitar a perda de eventos se eles não forem entregues, recomendamos que você configure uma fila de mensagens mortas para cada alvo de regra. Para obter mais informações, consulte Usar filas de mensagens não entregues.

Os eventos que EventBridge não são entregues ao alvo especificado são relatados na FailedInvocations métrica e na InvocationsSentToDlq métrica se você tiver configurado uma fila de mensagens mortas para o destino. Se seu aplicativo estiver recebendo um grande número de InvocationsSentToDlq relatórios FailedInvocations ou relatórios, recomendamos que você investigue se o destino está dimensionado adequadamente e é capaz de receber o tráfego fornecido.

Detectando atrasos na entrega de eventos

EventBridge também fornece uma métrica que permite observar a end-to-end latência — o tempo que leva desde a ingestão do evento até a entrega bem-sucedida ao alvo. Isso pode ser feito com a IngestionToInvocationSuccessLatency métrica. Essa métrica mostra os efeitos de novas tentativas e atrasos na entrega, por exemplo, devido a tempos limite e respostas lentas dos alvos. IngestionToInvocationSuccessLatencyinclui o tempo que o alvo leva para responder com sucesso à entrega do evento. Isso permite que você monitore a end-to-end latência entre EventBridge e seu alvo e detecte variações de desempenho e degradações dos alvos, mesmo quando não há limitação ou erros no alvo.