使用监视Step Functions CloudWatch - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用监视Step Functions CloudWatch

监控是保持 Amazon Step Functions 和您的 Amazon 解决方案的可靠性、可用性和性能的重要方面。您应该尽可能多地从所用的 Amazon 服务收集监控数据,以便更轻松地调试任何多点故障。在开始监控 Step Functions 前,应该制定一个监控计划,解决以下问题:

  • 监控目的是什么?

  • 您将监控哪些资源?

  • 监控这些资源的频率如何?

  • 您将使用哪些监控工具?

  • 谁负责执行监控任务?

  • 出现错误时应通知谁?

下一步是建立环境中正常 Step Functions 性能的基准。为此,在不同时间和不同负载条件下测量性能。监控 Step Functions 时,您应考虑存储历史监控数据。此类数据可为您提供与当前性能数据进行比较的基准,用于确定正常性能模式和性能异常,以及设计解决问题的方法。

例如,使用 Step Functions,您可以监控有多少活动或Amazon Lambda任务因心跳超时而失败。在性能低于您建立的基准时,您可能需要更改检测信号时间间隔。

要建立基准,您至少应监控以下指标:

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

以下部分描述了 Step Functions 向亚马逊提供的指标 CloudWatch。您可以使用这些指标来跟踪状态机和活动,以及设置有关阈值的警报。您可以使用 Amazon Web Services Management Console 查看指标。

报告时间间隔的指标

一些 Step Functi CloudWatch ons 指标是时间间隔,始终以毫秒为单位进行测量。这些指标通常对应于您的执行阶段,您可以使用描述性名称为这些阶段设置状态机、活动和 Lambda 函数超时。

例如,ActivityRunTime 指标测量活动在开始执行后,完成活动所需的时间。您可以为同一个时段设置超时值。

在 CloudWatch 控制台中,如果您选择平均值作为时间间隔指标的显示统计数据,则可以获得最佳结果。

报告计数的指标

某些 Step Functi CloudWatch ons 指标将结果报告为计数。例如,ExecutionsFailed 记录失败的状态机执行次数。

在 CloudWatch 控制台中,如果您选择 s um 作为计数指标的显示统计数据,则可以获得最佳结果。

执行指标

AWS/States命名空间包括Step Functions 执行的以下指标。

指标 描述
ExecutionTime 执行开始时间与关闭时间之间的时间间隔 (毫秒)。
ExecutionThrottled 被阻止的 StateEntered 事件和重试数量。这与 StateTransition 限制有关。有关更多信息,请参阅与州限制相关的配额
ExecutionsAborted 已中止或终止的执行的数量。
ExecutionsFailed 失败执行的数量。
ExecutionsStarted 已开始的执行的数量。
ExecutionsSucceeded 成功完成的执行的数量。
ExecutionsTimedOut 因任意原因超时的执行的数量。

快速工作流程的执行指标

AWS/States命名空间包括Step Functions Expresce Workflows 执行的以下指标

指标 描述
ExpressExecutionMemory

快速工作流消耗的总内存。

ExpressExecutionBilledDuration

快速工作流程收费的时长。

ExpressExecutionBilledMemory

为 Express Workflow 收取费用的内存消耗量。

Step Functions 执行指标的维度

维度 描述
StateMachineArn

相关执行的状态机的 Amazon 资源名称 (ARN)。

活动指标

AWS/States命名空间包括Step Functions 活动的以下指标。

指标 描述
ActivityRunTime 活动开始时间与关闭时间之间的时间间隔 (毫秒)。
ActivityScheduleTime 活动保持在计划状态的时间间隔 (毫秒)。
ActivityTime 活动排定时间与关闭时间之间的时间间隔 (毫秒)。
ActivitiesFailed 失败活动的数量。
ActivitiesHeartbeatTimedOut 因检测信号超时而超时的活动的数量。
ActivitiesScheduled 计划活动的数量。
ActivitiesStarted 已开始活动的数量。
ActivitiesSucceeded 成功完成的活动的数量。
ActivitiesTimedOut 关闭时超时的活动的数量。

Step Functions 活动指标的维度

维度 描述

ActivityArn

活动的 ARN。

Lambda 函数指标

AWS/States命名空间包括Step Functions Lambda Functions 的以下指标

指标 描述
LambdaFunctionRunTime Lambda 函数开始时间与关闭时间之间的时间间隔 (毫秒)。
LambdaFunctionScheduleTime Lambda 函数保持在计划状态的时间间隔 (毫秒)。
LambdaFunctionTime Lambda 函数排定时间与关闭时间之间的时间间隔 (毫秒)。
LambdaFunctionsFailed 失败的 Lambda 函数的数量。
LambdaFunctionsScheduled 已计划的 Lambda 函数的数量。
LambdaFunctionsStarted 已启动的 Lambda 函数的数量。
LambdaFunctionsSucceeded 成功完成的 Lambda 函数的数量。
LambdaFunctionsTimedOut 关闭时超时的 Lambda 函数的数量。

Step Functions Lambda 函数指标的维度

维度 描述

LambdaFunctionArn

Lambda 函数的 ARN。

注意

Lambda 函数指标是针对在 Resource字段中指定 Lambda 函数 ARN 的任务状态发出的。改"Resource": "arn:aws:states:::lambda:invoke"用发送服务集成指标的任务状态。有关更多信息,请参阅使用Step Functions 调用 Lambda

服务集成指标

AWS/States命名空间包括 Step Functions 服务集成的以下指标。有关更多信息,请参阅将 Amazon Step Functions 与其他服务一起使用

指标 描述
ServiceIntegrationRunTime 服务任务开始时间与关闭时间之间的时间间隔(毫秒)。
ServiceIntegrationScheduleTime 服务任务保持在计划状态的时间间隔(毫秒)。
ServiceIntegrationTime 服务任务排定时间与关闭时间之间的时间间隔(毫秒)。
ServiceIntegrationsFailed 失败的服务任务数。
ServiceIntegrationsScheduled 计划的服务任务数。
ServiceIntegrationsStarted 已开始的服务任务数。
ServiceIntegrationsSucceeded 已成功完成的服务任务数。
ServiceIntegrationsTimedOut 关闭时超时的服务任务数。

Step Functions 服务集成指标的维度

维度 描述

ServiceIntegrationResourceArn

集成服务的资源 ARN。

服务指标

AWS/States命名空间包括 Step Functions 服务的以下指标。

指标 描述
ThrottledEvents

已被限制的请求的计数。

ProvisionedBucketSize

每秒可用请求的计数。

ProvisionedRefillRate

每秒允许进入存储桶中的请求的计数。

ConsumedCapacity

每秒请求的计数。

Step Functions 服务指标的维度

维度 描述

ServiceName

筛选数据以显示状态转换指标。

API 指标

AWS/States命名空间包括Step Functions API的以下指标。

指标 描述
ThrottledEvents

已被限制的请求的计数。

ProvisionedBucketSize

每秒可用请求的计数。

ProvisionedRefillRate

每秒允许进入存储桶中的请求的计数。

ConsumedCapacity

每秒请求的计数。

Step Functions API 指标

维度 描述

APIName

按照指定 API 名称的 API 来筛选数据。