本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
记录 Amazon Pi EventBridge pes 的性能
EventBridge 管道记录使您可以让 Pipes 向支持的 AWS 服务发送详细说明管道性能的记录。 EventBridge 使用日志可深入了解管道的执行性能,并帮助进行故障排除和调试。
您可以选择以下 AWS 服务作为 Pip EventBridge es 将记录传送到的日志目的地:
CloudWatch 日志
EventBridge 将日志记录传送到指定的 CloudWatch 日志日志组。
使用 CloudWatch 日志将您使用的所有系统、应用程序和 AWS 服务的日志集中到一个高度可扩展的服务中。有关更多信息,请参阅 Amazon 日志用户指南中的使用日志组和 CloudWatch 日志流。
Firehose 直播日志
EventBridge 将日志记录传送到 Firehose 传输流。
Amazon Data Firehose 是一项完全托管的服务,用于将实时流数据传送到目的地,例如某些 AWS 服务以及受支持的第三方服务提供商拥有的任何自定义HTTP终HTTP端节点或终端节点。有关更多信息,请参阅《亚马逊数据 Firehose 用户指南》中的创建亚马逊数据 Firehose 传输流。
Amazon S3 日志
EventBridge 将日志记录作为 Amazon S3 对象传送到指定的存储桶。
Amazon S3 是一项对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的在 Amazon S3 中上传、下载和使用对象。
Amazon Pi EventBridge pes 日志的工作原理
管道执行是管道接收并传递到富集和/或目标的一个事件或一批事件。如果启用,则会在处理事件批处理时为其执行的每个执行步骤 EventBridge 生成日志记录。记录中包含的信息适用于事件批次,无论是单个事件还是最多 10,000 个事件。
可以在管道源和目标上配置事件批次的大小。有关更多信息,请参阅 Amazon Pip EventBridge es 批处理和并发。
发送到每个日志目标的记录数据都是相同的。
如果配置了 Amazon CloudWatch Logs 目标,则传送到所有目标的日志记录限制为 256kb。字段会根据需要被截断。
您可以通过以下方式自定义 EventBridge 发送到所选日志目标的记录:
您可以指定日志级别,该级别决定了 EventBridge 将记录发送到所选日志目标的执行步骤。有关更多信息,请参阅 指定 EventBridge 管道日志级别。
您可以指定 Pip EventBridge es 是否在相关的执行步骤的记录中包含执行数据。这些数据包括:
事件批次的有效负载
发送到 AWS 浓缩服务或目标服务的请求
AWS 浓缩服务或目标服务返回的响应
有关更多信息,请参阅 在 Pip EventBridge es 日志中包含执行数据。
指定 EventBridge 管道日志级别
您可以指定将记录 EventBridge 发送到所选日志目标的执行步骤的类型。
从以下详情级别中进行选择,将其包含在日志记录中。日志级别适用于为管道指定的所有日志目标。每个日志级别都包含之前日志级别的执行步骤。
-
OFF— EventBridge 不向任何指定的日志目标发送任何记录。这是默认设置。
-
ERROR— EventBridge 将与管道执行期间生成的错误相关的所有记录发送到指定的日志目的地。
-
INFO— EventBridge 将与错误相关的所有记录以及管道执行期间执行的选定其他步骤发送到指定的日志目的地。
-
TRACE— EventBridge 将管道执行中任何步骤中生成的所有记录发送到指定的日志目的地。
在 EventBridge 控制台中, CloudWatch 默认选择日志作为日志目标,ERROR
日志级别也是如此。因此,默认情况下,Pip EventBridge es 会创建一个新的 CloudWatch 日志组,向该组发送包含详细ERROR
级别的日志记录。以编程方式配置日志时,不会选择默认值。
下表列出了每个日志级别中包含的执行步骤。
步骤 | TRACE | INFO | ERROR | OFF |
---|---|---|---|---|
执行已失败 |
x | x | x | |
执行部分失败 |
x | x | x | |
执行已启动 |
x | x | ||
执行已成功 |
x | x | ||
执行受限 |
x | x | x | |
执行超时 |
x | x | x | |
富集调用失败 |
x | x | x | |
已跳过富集调用 |
x | x | ||
已启动富集调用 |
x | |||
富集调用成功 |
x | |||
进入富集阶段 |
x | x | ||
富集阶段失败 |
x | x | x | |
富集阶段成功 |
x | x | ||
富集转换失败 |
x | x | x | |
已启动富集转换 |
x | |||
富集转换成功 |
x | |||
目标调用失败 |
x | x | x | |
目标调用部分失败 |
x | x | x | |
已跳过目标调用 |
x | |||
已启动目标调用 |
x | |||
目标调用成功 |
x | |||
进入目标阶段 |
x | x | ||
目标阶段失败 |
x | x | x | |
目标阶段部分失败 |
x | x | x | |
已跳过目标阶段 |
x | |||
目标阶段成功 |
x | x | ||
目标转换失败 |
x | x | x | |
已启动目标转换 |
x | |||
目标转换成功 |
x |
在 Pip EventBridge es 日志中包含执行数据
您可以为指定 EventBridge ,以便在其生成的记录中包含执行数据。执行数据包括表示事件批次有效负载的字段,以及发送到富集和目标的请求和来自它们的响应。
执行数据对于故障排除和调试很有用。payload
字段包含批次中每个事件的实际内容,使您可以将单个事件与特定的管道执行关联起来。
如果您选择包含执行数据,为管道指定的所有日志目标都会包含。
重要
这些字段可能包含敏感信息。 EventBridge 在记录期间不尝试编辑这些字段的内容。
包括执行数据时, EventBridge 将以下字段添加到相关记录中:
-
payload
表示管道正在处理的事件批次的内容。
EventBridge 在可能已更新事件批次内容的步骤中生成的记录中包含该
payload
字段。此操作包括以下步骤:EXECUTION_STARTED
ENRICHMENT_TRANSFORMATION_SUCCEEDED
ENRICHMENT_STAGE_SUCCEEDED
TARGET_TRANSFORMATION_SUCCEEDED
TARGET_STAGE_SUCCEEDED
-
awsRequest
以JSON字符串形式表示发送到浓缩或目标的请求。对于发送到API目标的请求,这表示发送到该终端节点的HTTP请求。
EventBridge 将该
awsRequest
字段包括在浓缩和定向的最后阶段生成的记录中;也就是说,在针对特定的浓缩或目标服务执行或试图执行请求之后 EventBridge 。此操作包括以下步骤:ENRICHMENT_INVOCATION_FAILED
ENRICHMENT_INVOCATION_SUCCEEDED
TARGET_INVOCATION_FAILED
TARGET_INVOCATION_PARTIALLY_FAILED
TARGET_INVOCATION_SUCCEEDED
-
awsResponse
以JSON格式表示浓缩或目标返回的响应。对于发送到API目标的请求,这表示从该端点返回的HTTP响应。
与一样
awsRequest
,在浓缩和定向的最后阶段生成的记录中 EventBridge 包括该awsResponse
字段;也就是说,在执行或试图执行针对特定浓缩或目标服务的请求并收到回复之后 EventBridge 。此操作包括以下步骤:ENRICHMENT_INVOCATION_FAILED
ENRICHMENT_INVOCATION_SUCCEEDED
TARGET_INVOCATION_FAILED
TARGET_INVOCATION_PARTIALLY_FAILED
TARGET_INVOCATION_SUCCEEDED
有关管道执行步骤的讨论,请参阅 EventBridge 管道执行步骤。
截断 Pipes 日志记录中的 EventBridge执行数据
如果您选择在管道的日志记录中 EventBridge 包含执行数据,则记录可能会超过 256 KB 的大小限制。为防止出现这种情况,请按以下顺序 EventBridge自动截断执行数据字段。 EventBridge 在继续截断下一个字段之前,会完全截断每个字段。 EventBridge 只需从数据字符串末尾删除字符即可截断字段数据;不会尝试根据数据重要性进行截断,而且截断会使格式化失效。JSON
payload
awsRequest
awsResponse
EventBridge 如果在事件中截断字段,则该truncatedFields
字段将包含被截断的数据字段的列表。
Pip EventBridge es 日志记录中的错误报告
EventBridge 还包括表示失败状态的管道执行步骤中的错误数据(如果有)。这些步骤包括:
ExecutionThrottled
ExecutionTimeout
ExecutionFailed
ExecutionPartiallyFailed
EnrichmentTransformationFailed
EnrichmentInvocationFailed
EnrichmentStageFailed
TargetTransformationFailed
TargetInvocationFailed
TargetInvocationPartiallyFailed
TargetStageFailed
TargetStagePartiallyFailed