Mejores prácticas para supervisar la entrega de eventos en Amazon EventBridge - Amazon EventBridge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Mejores prácticas para supervisar la entrega de eventos en Amazon EventBridge

Para garantizar que la lógica empresarial de sus aplicaciones basadas en eventos se ejecute de forma fiable, es esencial supervisar su comportamiento de entrega de eventos. EventBridge proporciona métricas que le permiten monitorear, detectar y mitigar los problemas de manera temprana para garantizar una entrega confiable de los eventos. Estas métricas incluyen:

  • Métricas basadas en contadoresInvocationAttempts, comoSuccessfulInvocationAttempts, RetryInvocationAttempts yFailedInvocations, que le permiten observar la limitación objetivo y calcular las tasas de error.

  • Métricas basadas en la latencia, por ejemploIngestionToInvocationSuccessLatency, para proporcionar información sobre la entrega de eventos y los retrasos.

Estas métricas le permiten monitorear el estado de sus arquitecturas basadas en eventos y comprender y mitigar los problemas de entrega de eventos causados por objetivos de bajo rendimiento, tamaño insuficiente o falta de respuesta. Por ejemplo, un objetivo permanentemente reducido o limitado puede provocar reintentos excesivos, retrasos en la entrega de los eventos y fallos permanentes en la entrega.

Le recomendamos que combine varias métricas para obtener una visión general integral y que las supervise de cerca. La configuración de las alarmas y los paneles de control adecuados le permite abordar los problemas persistentes de forma temprana.

Para obtener información sobre métricas específicas, consulteEventBridge métricas.

Detectar errores en la entrega de eventos

EventBridge incluye métricas que puede configurar para informar sobre las invocaciones de destino (es decir, los intentos de entrega de eventos) según la regla.

Le recomendamos que supervise las siguientes métricas a nivel de regla:

  • InvocationAttemptspara observar el número total de veces que se EventBridge intenta invocar el objetivo, incluidos los reintentos de entrega de eventos.

  • SuccessfulInvocationAttemptspara el número de intentos de invocación en los que el evento se transmitió EventBridge correctamente al destino.

  • RetryInvocationAttemptspara el número de intentos que representan los reintentos de entrega del evento.

    Un aumento RetryInvocationAttempts puede ser un indicio temprano de un objetivo insuficiente.

Además, dado que el aumento de los reintentos puede ser una primera señal de problemas en la entrega, también recomendamos crear una métrica única que registre el porcentaje de invocaciones de destino satisfactorias con respecto a todas las invocaciones de destino. Por ejemplo, CloudWatch puede utilizar la matemática métrica para crear una métrica de este tipo, denominadaSuccessfulInvocationRate, mediante la siguiente fórmula:

SuccessfulInvocationRate = SuccessfulInvocationAttempts / InvocationAttempts

Luego, según sus requisitos, puede configurar CloudWatch las alarmas para que generen notificaciones cuando se alcance un determinado umbral.

Si bien una disminución ocasional SuccessfulInvocationRate debido a picos de tráfico temporales o a errores de invocación puede considerarse normal, una discordancia constante indica que el objetivo está mal configurado y debe abordarse como parte del modelo de responsabilidad compartida.

Para obtener más información sobre las matemáticas métricas, consulte Uso de expresiones matemáticas con CloudWatch métricas en la Guía del CloudWatch usuario de Amazon.

De forma predeterminada, EventBridge vuelve a intentar organizar un evento durante 24 horas y hasta 185 veces. Una vez EventBridge agotados estos reintentos, descarta el evento EventBridge o lo envía a una cola de letra muerta si se ha especificado alguna. Para obtener más información, consulte Reintentar la entrega de eventos. Para evitar perder los eventos si no se entregan, te recomendamos que configures una cola sin efecto para cada objetivo de la regla. Para obtener más información, consulte Uso de colas de mensajes fallidos.

Los eventos que EventBridge no se entregan al destino especificado se registran en la FailedInvocations métrica y en la InvocationsSentToDlq métrica si ha configurado una cola de mensajes sin salida para el destino. Si tu aplicación tiene un gran número de InvocationsSentToDlq informes FailedInvocations o un número elevado de informes, te recomendamos que investigues si el objetivo tiene la escala adecuada y es capaz de recibir el tráfico en cuestión.

Detectar retrasos en la entrega de los eventos

EventBridge también proporciona una métrica que permite observar la end-to-end latencia, es decir, el tiempo que transcurre desde la recepción del evento hasta su entrega correcta al destinatario. Esto se puede lograr con la métrica. IngestionToInvocationSuccessLatency Esta métrica muestra los efectos de los reintentos y los retrasos en la entrega, por ejemplo, debido a los tiempos de espera y a la lentitud de las respuestas de los objetivos. IngestionToInvocationSuccessLatencyincluye el tiempo que tarda el objetivo en responder correctamente a la entrega del evento. Esto te permite monitorizar la end-to-end latencia entre tu objetivo EventBridge y tu objetivo, así como detectar las variaciones y degradaciones del rendimiento de los objetivos, incluso cuando no haya errores o limitaciones en el objetivo.