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, como
InvocationAttempts
,RetryInvocationAttempts
eSuccessfulInvocationAttempts
FailedInvocations
, para permitir que você observe a limitação de metas e calcule as taxas de erro.Métricas baseadas em latência
IngestionToInvocationSuccessLatency
, 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:
InvocationAttempts
para observar o número total de EventBridge tentativas de invocar o alvo, incluindo novas tentativas de entrega de eventos.SuccessfulInvocationAttempts
para o número de tentativas de invocação em que o evento foi entregue EventBridge com sucesso ao alvo.RetryInvocationAttempts
para 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. IngestionToInvocationSuccessLatency
inclui 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.