关于在 Amazon EventBridge 中监控事件传送的最佳实践 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

关于在 Amazon EventBridge 中监控事件传送的最佳实践

为了确保事件驱动型应用程序中的业务逻辑能够可靠地执行,必须监控事件传送行为。EventBridge 提供的指标使您能够尽早监控、检测和缓解问题,从而确保可靠的事件传送。这些指标包括:

  • 基于计数器的指标(例如 InvocationAttemptsSuccessfulInvocationAttemptsRetryInvocationAttemptsFailedInvocations),使您能够观察目标节流并计算错误率。

  • 基于延迟的指标(例如 IngestionToInvocationSuccessLatency),用于提供对事件传送和延迟的洞察。

这些指标使您能监控事件驱动型架构的运行状况,并了解和缓解由于性能不佳、规模不足或无响应的目标而导致的事件传送问题。例如,目标永久性的规模不足或节流可能会导致重试次数过多、事件传送延迟和永久性传送失败。

建议您组合使用多个指标以全面了解情况,并对其进行密切监控。通过设置适当的警报和控制面板,您可以尽早解决持续存在的问题。

有关特定指标的更多信息,请参阅 EventBridge 指标

检测事件传送失败问题

EventBridge 包含您可以配置为根据规则报告目标调用次数(即事件传送尝试次数)的指标。

建议您在规则级别监控以下指标:

  • InvocationAttempts,用于观察 EventBridge 尝试调用目标的总次数,包括事件传送重试次数。

  • SuccessfulInvocationAttempts,EventBridge 成功将事件传送到目标的调用尝试次数。

  • RetryInvocationAttempts,表示事件传送重试次数。

    RetryInvocationAttempts 的增加可能是目标规模过小的早期迹象。

此外,由于重试次数的增加是传送出现问题的第一个迹象,因此我们还建议创建一个指标,用于跟踪成功目标调用占所有目标调用的百分比。例如,在 CloudWatch 中,您可以使用指标数学来创建一个名为 SuccessfulInvocationRate 的指标,公式如下:

SuccessfulInvocationRate = SuccessfulInvocationAttempts / InvocationAttempts

然后,根据您的要求,您可以将 CloudWatch 警报配置为在达到特定阈值时创建通知。

偶尔出现的临时流量峰值或调用错误会降低 SuccessfulInvocationRate,尽管可以将这视为正常现象,但持续的不匹配将表明目标配置错误,需要将其作为责任共担模型的一部分加以解决。

有关指标数学的更多信息,请参阅《Amazon CloudWatch 用户指南》中的将数学表达式与 CloudWatch 指标结合使用

默认情况下,EventBridge 会在 24 小时重试传送事件,最多可重试 185 次。在 EventBridge 用完这些重试次数后,EventBridge 要么丢弃该事件,要么将其发送到死信队列(如果已指定)。有关更多信息,请参阅 重试事件传送。为避免事件在传送失败时丢失,建议您为每个规则目标配置一个死信队列。有关更多信息,请参阅 使用死信队列

如果您为目标配置了死信队列,系统将在 FailedInvocations 指标和 InvocationsSentToDlq 指标中报告 EventBridge 未能传送到指定目标的事件。如果您的应用程序出现大量的 FailedInvocationsInvocationsSentToDlq 报告,建议您调查目标是否已正确扩展并能够接收给定的流量。

检测事件传送延迟问题

EventBridge 还提供了一个指标,可让您观察端到端延迟,即从事件摄取到成功传送到目标所需的时间。这可以通过 IngestionToInvocationSuccessLatency 指标实现。该指标会显示重试和延迟传送的影响,例如由于超时和目标响应缓慢。IngestionToInvocationSuccessLatency 包含目标成功响应事件传送所花费的时间。这样,即使没有目标节流或错误,您也可以监控 EventBridge 与目标之间的端到端延迟,并检测目标的性能变化和降级。