

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

# 监控亚马逊 EventBridge
监控

EventBridge CloudWatch 每分钟向 Amazon 发送指标，从匹配[的事件](eb-events.md)数到[规则](eb-rules.md)调用[目标](eb-targets.md)的次数，应有尽有。

 以下视频通过以下方式回顾了监控和审计 EventBridge 行为 CloudWatch：




**Topics**
+ [

## EventBridge 指标
](#eb-metrics)
+ [

## EventBridge 指标的维度
](#eb-metrics-dimensions)
+ [

# 在 Amazon 中监控事件交付的最佳实践 EventBridge
](eb-monitoring-events-best-practices.md)
+ [

# EventBridge 是 Amazon CloudWatch Events 的演进版本
](eb-cwe-now-eb.md)

## EventBridge 指标
EventBridge 指标

`Amazon/Events` 命名空间包括以下指标。

对于使用计数作为单位的指标，求和 SampleCount 往往是最有用的统计数据。

仅指定 `RuleName` 维度的指标涉及的是默认事件总线。同时指定 `EventBusName` 和 `RuleName` 维度的指标涉及的是自定义事件总线。


| 指标 | 说明 | Dimensions | 单位 | 
| --- | --- | --- | --- | 
|  DeadLetterInvocations  |  未作为事件响应而调用规则目标的次数。其中包括将导致再次运行同一规则从而引发无限循环的调用。  | RuleName | 计数 | 
|  Events  |  摄取的合作伙伴事件的数量。 EventBridge  | EventSourceName | 计数 | 
|  FailedInvocations  |  永久失败的调用次数。其中不包括重试的调用，或重试尝试后成功的调用。也不会计算计入 `DeadLetterInvocations` 的失败调用。  EventBridge 只有当该指标不为零时， CloudWatch 才会将其发送到。   | RuleName | 计数 | 
|  Invocations  |  规则为响应事件而调用目标的次数。其中包括成功和失败的调用，但不包括在永久失败之前被阻止或重试的尝试。不包括 `DeadLetterInvocations`。  EventBridge 只有当该指标不为零时， CloudWatch 才会将其发送到。   | 没有， RuleName | 计数 | 
| InvocationAttempts |  EventBridge 尝试调用目标的次数。  | EventBusName，无， RuleName | 计数 | 
|  InvocationsCreated  |  为响应每个事件而创建的调用总数。 [此指标通常用于监控**每秒EventBridge 事务处理服务配额中调用次数限制的**利用率。](eb-quota.md#eb-limits)  | 无 | 计数 | 
|  InvocationsFailedToBeSentToDlq  |  无法移动到死信队列中的调用数量。权限错误、资源不可用或大小限制可能会致发生死信队列错误。  EventBridge 只有当该指标不为零时， CloudWatch 才会将其发送到。   | RuleName | 计数 | 
|  IngestiontoInvocationCompleteLatency  |  从事件接收到完成第一次调用尝试所花费的时间。  | EventBusName，无， RuleName | 毫秒 | 
| IngestionToInvocationSuccessLatency | 从事件接收到成功传送目标所花费的时间，使用调用结束时间作为截止时间。 系统仅在首次成功尝试向目标传送事件后才会发出此指标。 | EventBusName，无， RuleName | 毫秒 | 
|  IngestiontoInvocationStartLatency  |  处理事件的时间，从事件被摄取到目标的第一次调用 EventBridge 来衡量。  | EventBusName，无， RuleName | 毫秒 | 
|  InvocationsSentToDlq  |  移动到死信队列的调用数量。  EventBridge 只有当该指标不为零时， CloudWatch 才会将其发送到。   | RuleName | 计数 | 
|  MatchedEvents  |  如果指定了 EventBusName 或 EventSourceName ，则为与任何规则匹配的事件数。如果 RuleName 指定，则为与特定规则匹配的事件数。  | EventBusName, EventSourceName, RuleName | 计数 | 
| RetryInvocationAttempts | 重试目标调用的次数。 EventBridge 只有当该指标不为零时， CloudWatch 才会将其发送到。  | EventBusName，无， RuleName | 计数 | 
| SuccessfulInvocationAttempts | 成功调用目标的次数。  | EventBusName，无， RuleName | 计数 | 
|  ThrottledRules  |  规则执行被节流的次数。对这些规则的调用可能会延迟。 有关更多信息，请参阅 [EventBridge 活动总线配额](eb-quota.md#eb-limits)中的**调用每秒事务数节流限制**。  | EventBusName，无， RuleName | 计数 | 
|  TriggeredRules  |  已运行并与任何事件匹配的规则数量。 在触发规则 CloudWatch 之前，您不会在中看到此指标。  | EventBusName，无， RuleName | 计数 | 
|  EventBusEncryptionStarted  |  事件总线重新加密操作启动的次数。更新事件总线配置会触发对存储的静态配置的重新加密。 EventBridge  | EventBusName | 计数 | 
|  EventBusEncryptionCompleted  |  事件总线的重新加密操作成功完成的次数。更新事件总线配置会触发对存储的静态配置的重新加密。 EventBridge  | EventBusName | 计数 | 
|  EventBusEncryptionFailed  |  事件总线的重新加密操作失败的次数。更新事件总线配置会触发对存储的静态配置的重新加密。 EventBridge  EventBridge 只有当该指标不为零时， CloudWatch 才会将其发送到。   | EventBusName | 计数 | 

### EventBridge PutEvents 指标


`Amazon/Events` 命名空间包括以下指标，它们与 `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` API 请求相关。

对于使用计数作为单位的指标，求和 SampleCount 往往是最有用的统计数据。


| 指标 | 说明 | Dimensions | 单位 | 
| --- | --- | --- | --- | 
| PutEventsApproximateCallCount | 收到的 `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求的大致数量。  | 无 | 计数 | 
|  PutEventsApproximateFailedCount  | 失败 `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求的大致数量。  | 无 | 计数 | 
|  PutEventsApproximateSuccessCount  | 成功 `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求的大致数量。  | 无 | 计数 | 
|  PutEventsApproximateThrottledCount  |  由于节流而被拒绝的 `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求数量。  | 无 | 计数 | 
| PutEventsEntriesCount |  `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求中包含的事件条目数。  | 无 | 计数 | 
| PutEventsFailedEntriesCount |  `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求中包含但未能提取的事件条目数。  | 无 | 计数 | 
|  PutEventsLatency  |  每个 `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求所花费的时间。  | 无 | 毫秒 | 
|  PutEventsRequestSize  |  `[PutEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutEvents.html)` 请求的大小。  | 无 | 字节 | 

### EventBridge PutPartnerEvents 指标


`Amazon/Events` 命名空间包括以下指标，它们与 `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` API 请求相关。

**注意**  
EventBridge 仅包括与 SaaS 合作伙伴账户中发送事件的[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)请求相关的指标。有关更多信息，请参阅 [通过 Amazon 接收来自 SaaS 合作伙伴的事件 EventBridge](eb-saas.md)。

对于使用计数作为单位的指标，求和 SampleCount 往往是最有用的统计数据。


| 指标 | 说明 | Dimensions | 单位 | 
| --- | --- | --- | --- | 
| PutPartnerEventsApproximateCallCount | 收到的 `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求的大致数量。  | 无 | 计数 | 
|  PutPartnerEventsApproximateFailedCount  | 失败 `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求的大致数量。  | 无 | 计数 | 
|  PutPartnerEventsApproximateThrottledCount  |  由于节流而被拒绝的 `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求数量。  | 无 | 计数 | 
|  PutPartnerEventsApproximateSuccessCount  | 成功 `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求的大致数量。  | 无 | 计数 | 
| PutPartnerEventsEntriesCount |  `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求中包含的事件条目数。  | 无 | 计数 | 
| PutPartnerEventsFailedEntriesCount |  `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求中包含但未能提取的事件条目数。  | 无 | 计数 | 
|  PutPartnerEventsLatency  |  每个 `[PutPartnerEvents](https://docs.amazonaws.cn/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 请求所花费的时间。  | 无 | 毫秒 | 

## EventBridge 指标的维度


EventBridge 指标具有*维*度或可排序的属性，如下所示。


|  维度  |  说明  | 
| --- | --- | 
|  EventBusName  |  按事件总线名称筛选可用指标。  | 
|  EventSourceName  |  按合作伙伴事件源名称筛选可用指标。  | 
|  RuleName  |  按规则名称筛选可用指标。  | 

# 在 Amazon 中监控事件交付的最佳实践 EventBridge
监控事件传送

为确保事件驱动型应用程序中的业务逻辑能够可靠地执行，必须监控您的事件交付行为。 EventBridge 提供的指标使您能够尽早监控、检测和缓解问题，从而确保可靠的事件传送。这些指标包括：
+ 基于计数器的指标（例如 `InvocationAttempts`、`SuccessfulInvocationAttempts`、`RetryInvocationAttempts` 和 `FailedInvocations`），使您能够观察目标节流并计算错误率。
+ 基于延迟的指标（例如 `IngestionToInvocationSuccessLatency`），用于提供对事件传送和延迟的洞察。

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

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

有关特定指标的更多信息，请参阅 [EventBridge 指标](eb-monitoring.md#eb-metrics)。

## 检测事件传送失败问题
事件传送失败

EventBridge 包括您可以配置为根据规则报告目标调用（即事件传送尝试）的指标。

建议您在规则级别监控以下指标：
+ `InvocationAttempts`以观察 EventBridge 尝试调用目标的总次数，包括事件传送重试次数。
+ `SuccessfulInvocationAttempts`以获取 EventBridge 成功将事件传送到目标的调用尝试次数。
+ `RetryInvocationAttempts`，表示事件传送重试次数。

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

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

`SuccessfulInvocationRate` = `SuccessfulInvocationAttempts` / ` InvocationAttempts`

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

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

有关指标数学的更多信息，请参阅 *Amazon CloudWatch 用户指南*中的将[数学表达式与 CloudWatch 指标配合使用](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/using-metric-math.html)。

默认情况下， EventBridge 重试投递事件的时间为 24 小时，最多 185 次。在 EventBridge 用尽这些重试尝试之后， EventBridge 要么丢弃事件，要么将其发送到死信队列（如果已指定）。有关更多信息，请参阅 [重试事件传送](eb-rule-retry-policy.md)。为避免事件在传送失败时丢失，建议您为每个规则目标配置一个死信队列。有关更多信息，请参阅 [使用死信队列](eb-rule-dlq.md)。

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

## 检测事件传送延迟问题
事件传送延迟

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

# EventBridge 是 Amazon CloudWatch Events 的演进版本
CloudWatch Events

EventBridge 以前称为 Amazon CloudWatch Events。您在 CloudWatch Events 中创建的默认事件总线和规则也会显示在 EventBridge 控制台中。EventBridge 使用相同的 CloudWatch Events API，因此使用 CloudWatch Events API 的代码可保持不变。

EventBridge 依托 CloudWatch Events 的功能构建，提供合作伙伴事件、架构注册表和 EventBridge Pipes 等功能。添加到 EventBridge 的新功能不会添加到 CloudWatch Events。有关更多信息，请参阅 [什么是 Amazon EventBridge？](eb-what-is.md)。

您在 CloudWatch Events 中会用到的所有功能也都包含在 EventBridge 中，包括：
+ [Amazon 上的活动巴士 EventBridge](eb-event-bus.md)
+ [Amazon 中的规则 EventBridge](eb-rules.md)
+ [Amazon 上的活动 EventBridge](eb-events.md)
+ [来自 Amazon 服务的事件](eb-events.md#eb-service-event)

EventBridge 以事件功能为基础并进行扩展的功能包括：
+ [通过 Amazon 接收来自 SaaS 合作伙伴的事件 EventBridge](eb-saas.md)
+ [亚马逊 Pi EventBridge pes](eb-pipes.md)
+ [Amazon EventBridge 架构](eb-schema.md)
+ [Amazon EventBridge 日程安排](using-eventbridge-scheduler.md)