Bonnes pratiques pour le suivi de la diffusion des événements sur Amazon EventBridge - Amazon EventBridge

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Bonnes pratiques pour le suivi de la diffusion des événements sur Amazon EventBridge

Pour garantir que la logique métier de vos applications axées sur les événements s'exécute de manière fiable, il est essentiel de surveiller le comportement de diffusion de vos événements. EventBridge fournit des indicateurs qui vous permettent de surveiller, de détecter et d'atténuer les problèmes à un stade précoce afin de garantir la fiabilité des événements. Ces métriques incluent :

  • Des mesures basées sur des compteurs, telles que InvocationAttemptsSuccessfulInvocationAttempts, RetryInvocationAttempts etFailedInvocations, pour vous permettre d'observer le ralentissement de la cible et de calculer les taux d'erreur.

  • Des indicateurs basés sur la latence, tels que IngestionToInvocationSuccessLatency ceux destinés à fournir des informations sur la livraison et les retards des événements.

Ces indicateurs vous permettent de surveiller l'état de santé de vos architectures axées sur les événements, ainsi que de comprendre et d'atténuer les problèmes de diffusion d'événements causés par des cibles sous-performantes, sous-dimensionnées ou ne répondant pas. Par exemple, un objectif constamment sous-dimensionné ou limité peut entraîner des tentatives excessives, des retards dans la livraison des événements et des échecs de livraison permanents.

Nous vous recommandons de combiner plusieurs indicateurs pour obtenir une vue d'ensemble globale et de les surveiller de près. La configuration d'alarmes et de tableaux de bord appropriés vous permet de résoudre rapidement les problèmes persistants.

Pour plus d'informations sur des mesures spécifiques, consultezEventBridge métriques.

Détection des défaillances de livraison d'événements

EventBridge inclut des métriques que vous pouvez configurer pour signaler les appels cibles, c'est-à-dire les tentatives de diffusion d'événements, par règle.

Nous vous recommandons de surveiller les indicateurs suivants au niveau des règles :

  • InvocationAttemptspour observer le nombre total de EventBridge tentatives d'appel de la cible, y compris les nouvelles tentatives de livraison d'événements.

  • SuccessfulInvocationAttemptspour le nombre de tentatives d'invocation où l'événement a été transmis EventBridge avec succès à la cible.

  • RetryInvocationAttemptspour le nombre de tentatives qui représentent les nouvelles tentatives de livraison d'un événement.

    Une augmentation RetryInvocationAttempts peut être le signe précoce d'une cible sous-dimensionnée.

En outre, étant donné que l'augmentation du nombre de tentatives de tentative peut être le premier signe de problèmes de livraison, nous vous recommandons également de créer un indicateur unique permettant de suivre le pourcentage d'appels cibles réussis par rapport à tous les appels cibles. Par exemple, CloudWatch vous pouvez utiliser les mathématiques métriques pour créer une telle métrique, appeléeSuccessfulInvocationRate, en utilisant la formule suivante :

SuccessfulInvocationRate = SuccessfulInvocationAttempts / InvocationAttempts

Ensuite, en fonction de vos besoins, vous pouvez configurer les CloudWatch alarmes pour créer des notifications lorsqu'un certain seuil est atteint.

Bien qu'une diminution occasionnelle SuccessfulInvocationRate due à des pics de trafic temporaires ou à des erreurs d'invocation puisse être considérée comme normale, une inadéquation constante indique une cible mal configurée et doit être traitée dans le cadre du modèle de responsabilité partagée.

Pour plus d'informations sur les mathématiques métriques, consultez la section Utilisation d'expressions mathématiques avec CloudWatch des métriques dans le guide de CloudWatch l'utilisateur Amazon.

Par défaut, EventBridge essaie à nouveau de diffuser un événement pendant 24 heures et jusqu'à 185 fois. Une fois ces EventBridge tentatives épuisées, EventBridge soit abandonne l'événement, soit l'envoie dans une file d'attente de lettres mortes si une telle file a été spécifiée. Pour de plus amples informations, veuillez consulter Réessayer de livrer un événement. Pour éviter de perdre des événements s'ils ne sont pas transmis, nous vous recommandons de configurer une file d'attente de lettres mortes pour chaque cible de règle. Pour plus d'informations, pour plus d'informations, voirUtilisation des files d’attente de lettres mortes.

Les événements qui EventBridge ne parviennent pas à la cible spécifiée sont signalés dans la FailedInvocations métrique et dans la InvocationsSentToDlq métrique si vous avez configuré une file d'attente de lettres mortes pour la cible. Si votre application reçoit un grand nombre de FailedInvocations InvocationsSentToDlq rapports, nous vous recommandons de vérifier si la cible est correctement dimensionnée et capable de recevoir le trafic en question.

Détecter les retards de livraison des événements

EventBridge fournit également une métrique qui vous permet d'observer la end-to-end latence, c'est-à-dire le temps nécessaire entre l'ingestion de l'événement et la livraison réussie à la cible. Cela peut être réalisé avec la IngestionToInvocationSuccessLatency métrique. Cette métrique fait ressortir les effets des nouvelles tentatives et des retards de livraison, dus par exemple aux délais impartis et à la lenteur des réponses des cibles. IngestionToInvocationSuccessLatencyinclut le temps nécessaire à la cible pour répondre avec succès à la livraison de l'événement. Cela vous permet de surveiller la end-to-end latence entre EventBridge et votre cible, et de détecter les variations de performances et les dégradations des cibles, même en l'absence de limitation ou d'erreur de la cible.