

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

# 监控亚马逊 EventBridge
<a name="eb-monitoring"></a>

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 指标
<a name="eb-metrics"></a>

`AWS/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 指标
<a name="eb-metrics-putevents"></a>

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

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


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

### EventBridge PutPartnerEvents 指标
<a name="eb-metrics-putpartnerevents"></a>

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

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

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


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

## EventBridge 指标的维度
<a name="eb-metrics-dimensions"></a>

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


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

# 在 Amazon 中监控事件交付的最佳实践 EventBridge
<a name="eb-monitoring-events-best-practices"></a>

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

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

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

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

## 检测事件传送失败问题
<a name="eb-monitoring-events-best-practices-delivery-failures"></a>

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

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

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

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

`SuccessfulInvocationRate` = `SuccessfulInvocationAttempts` / ` InvocationAttempts`

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

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

有关指标数学的更多信息，请参阅 *Amazon CloudWatch 用户指南*中的将[数学表达式与 CloudWatch 指标配合使用](https://docs.aws.amazon.com/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` 报告，建议您调查目标是否已正确扩展并能够接收给定的流量。

## 检测事件传送延迟问题
<a name="eb-monitoring-events-best-practices-delivery-latency"></a>

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

# EventBridge 是 Amazon CloudWatch Events 的演进版本
<a name="eb-cwe-now-eb"></a>

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)
+ [来自 AWS 服务的事件](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)