本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用亚马逊监控 Step Functions 指标 CloudWatch
监控是维护可靠性、可用性和性能的重要组成部分 Amazon Step Functions 还有你的 Amazon 解决方案。您应该从中收集尽可能多的监控数据 Amazon 您使用的服务,以便您可以调试多点故障。
在开始监控 Step Functions 之前,您应创建一个监控计划,回答以下问题:
-
监控目的是什么?
-
您将监控哪些资源?
-
监控这些资源的频率如何?
-
您将使用哪些监控工具?
-
谁负责执行监控任务?
-
出现错误时应通知谁?
下一步是为您的环境中的正常 性能设置基准。为此,在不同时间和不同负载条件下测量性能。监控 Step Functions 时,请考虑存储历史监控数据。此类数据可为您提供与当前性能数据进行比较的基准,用于确定正常性能模式和性能异常,以及设计解决问题的方法。
例如,使用 Step Functions,你可以监控有多少活动或 Amazon Lambda 由于心跳超时,任务失败。在性能低于您建立的基准时,您可能需要更改检测信号时间间隔。
要建立基准,您至少应监控以下指标:
-
ActivitiesStarted
-
ActivitiesTimedOut
-
ExecutionsStarted
-
ExecutionsTimedOut
-
LambdaFunctionsStarted
-
LambdaFunctionsTimedOut
的 Step Functions 指标 CloudWatch
Step Functions 向亚马逊提供以下类型的指标 CloudWatch。您可以使用这些指标来跟踪状态机和活动,以及设置有关阈值的警报。您可以使用查看指标 Amazon Web Services Management Console.
CloudWatch 指标交付
CloudWatch 指标是在尽力而为的基础上提供的。
无法保证指标的完整性和及时性。可能返回特定请求的数据点,其时间戳晚于实际处理请求的时间。数据点在通过之前可能会延迟一分钟 CloudWatch,或者可能根本无法传送。CloudWatch 请求指标可以让你近乎实时地了解状态机的执行情况。这并不代表会完整记录所有与执行相关的指标。
根据此特征的最大努力性质,在账单和成本管理控制面板
报告时间间隔的指标
Step Functions 的某些 Step Function CloudWatch s 指标是时间间隔,始终以毫秒为单位进行测量。这些指标通常对应于可以设置状态机、活动和 Lambda 函数超时的执行的各个阶段,并且带有说明性名称。
例如,ActivityRunTime
指标测量活动在开始执行后,完成活动所需的时间。您可以为同一个时段设置超时值。
在 CloudWatch 控制台中,如果选择平均值作为时间间隔指标的显示统计数据,则可以获得最佳结果。
报告计数的指标
某些 Step Function CloudWatch s 指标将结果报告为计数。例如,ExecutionsFailed
记录失败的状态机执行次数。
Step Functions 每次执行状态机都会发出两个ExecutionsStarted
指标。这会使该ExecutionsStarted
指标的SampleCount统计数据显示每次执行状态机的值均为 2。 SampleCount 统计数据显示执行ExecutionStarted=0
完成的时间ExecutionStarted=1
和时间。
提示
对于在 CloudWatch 控制台中报告计数的指标,我们建议选择 Sum 作为显示统计数据。
执行指标
AWS/States
命名空间包括所有 Step Functions 执行的以下指标。这些是适用于您所在地区账户的无维度指标。
指标 | 描述 |
---|---|
OpenExecutionCount |
当前打开的执行的大致数量,即您的账户中当前正在进行的工作流程。 目的是深入了解您的工作流程何时接近最大执行限制,以避免在调用
|
OpenExecutionLimit |
打开的最大执行次数。有关更多信息,请参阅 与账户相关的配额。 此限制不适用于 Express 工作流程。 |
带有版本或别名的状态机的执行指标
当您使用版本或别名运行状态机执行时,Step Functions 会发出以下指标。只有在执行受限的情况下,才会发出该ExecutionThrottled
指标。这些指标将包括StateMachineArn
用于识别特定状态机的指标。
指标 | 描述 |
---|---|
ExecutionTime |
从开始执行到执行结束的时间间隔,以毫秒为单位。 |
ExecutionThrottled |
已被限制StateEntered 的事件和重试次数。这与 StateTransition 限制有关。有关更多信息,请参阅 与状态限制相关的配额。 |
ExecutionsAborted |
中止或终止的执行次数。 |
ExecutionsFailed |
失败的执行次数。 |
ExecutionsStarted |
已启动的执行次数。 |
ExecutionsSucceeded |
成功完成的执行次数。 |
ExecutionsTimedOut |
因任何原因而超时的执行次数。 |
快速工作流的执行指标
AWS/States
命名空间包括 Step Functions 快速工作流执行的以下指标。
指标 | 描述 |
---|---|
ExpressExecutionMemory
|
快速工作流消耗的总内存。 |
ExpressExecutionBilledDuration |
快速工作流的收费时长。 |
ExpressExecutionBilledMemory |
快速工作流程收费的内存消耗量。 |
Redrive 标准工作流程的执行指标
当您 时redrive作为状态机的执行,Step Functions 会发出以下指标。
为了所有人 redriven 执行,则会发出Executions*
指标。例如,说 a redriven 执行中止。该执行将同时发出 RedrivenExecutionsAborted
和 ExecutionsAborted
的非零数据点。
指标 | 描述 |
---|---|
ExecutionsRedriven |
的数量 redriven 处决。 |
RedrivenExecutionsAborted |
的数量 redriven 已取消或终止的执行。 |
RedrivenExecutionsTimedOut |
的数量 redriven 无论出于何种原因都会超时的处决。 |
RedrivenExecutionsSucceeded |
的数量 redriven 成功完成的执行。 |
RedrivenExecutionsFailed |
的数量 redriven 失败的处决。 |
Step Functions 执行指标的维度
维度 | 描述 |
---|---|
StateMachineArn
|
相关执行的状态机的 Amazon 资源名称 (ARN)。 |
使用版本的执行维度
维度 | 描述 |
---|---|
StateMachineArn
|
由版本启动执行的状态机的 Amazon 资源名称 (ARN)。 |
Version |
用于启动执行的状态机版本。 |
使用别名的执行维度
维度 | 描述 |
---|---|
StateMachineArn
|
由别名启动执行的状态机的 Amazon 资源名称 (ARN)。 |
Alias |
用于启动执行的状态机别名。 |
版本与别名功能的资源计数指标
AWS/States
命名空间包括状态机版本与别名功能计数的以下指标。
版本与别名功能的资源计数指标维度
维度 | 描述 |
---|---|
ResourceArn
|
带有版本或别名的状态机的 Amazon 资源名称 (ARN)。 |
活动指标
AWS/States
命名空间包括 Step Functions 活动的以下指标。
指标 | 描述 |
---|---|
ActivityRunTime
|
活动开始和关闭之间的间隔,以毫秒为单位。 |
ActivityScheduleTime |
活动保持计划状态的时间间隔,以毫秒为单位。 |
ActivityTime |
活动计划时间与活动结束时间之间的间隔,以毫秒为单位。 |
ActivitiesFailed |
失败的活动数。 |
ActivitiesHeartbeatTimedOut |
由于心跳超时而超时的活动数量。 |
ActivitiesScheduled |
预定活动数量。 |
ActivitiesStarted |
已启动的活动数。 |
ActivitiesSucceeded |
成功完成的活动数量。 |
ActivitiesTimedOut |
关闭时超时的活动数量。 |
Step Functions 活动指标维度
维度 | 描述 |
---|---|
|
ARN活动的。 |
Lambda 函数指标
AWS/States
命名空间包括 Step Functions Lambda 函数的以下指标。
指标 | 描述 |
---|---|
LambdaFunctionRunTime |
Lambda 函数启动和关闭之间的间隔,以毫秒为单位。 |
LambdaFunctionScheduleTime |
Lambda 函数保持计划状态的时间间隔,以毫秒为单位。 |
LambdaFunctionTime |
调度 Lambda 函数的时间与其关闭之间的间隔,以毫秒为单位。 |
LambdaFunctionsFailed |
失败的 Lambda 函数的数量。 |
LambdaFunctionsScheduled |
计划的 Lambda 函数的数量。 |
LambdaFunctionsStarted |
已启动的 Lambda 函数的数量。 |
LambdaFunctionsSucceeded |
成功完成的 Lambda 函数的数量。 |
LambdaFunctionsTimedOut |
关闭时超时的 Lambda 函数的数量。 |
Step Functions Lambda 函数指标维度
维度 | 描述 |
---|---|
|
Lambda 函数的。ARN |
注意
针对在字段中指定 Lambda 函数的任务状态发出 Lambda 函数指标。ARN
Resource
而使用 "Resource": "arn:aws:states:::lambda:invoke"
的 Task 状态会发出服务集成指标。有关更多信息,请参阅 调用 Amazon Lambda 带有步进函数的函数。
服务集成指标
AWS/States
命名空间包括 Step Functions 服务集成的以下指标。有关更多信息,请参阅 将服务与 Step Functions 集成。
指标 | 描述 |
---|---|
ServiceIntegrationRunTime |
服务任务启动和关闭之间的间隔,以毫秒为单位。 |
ServiceIntegrationScheduleTime |
服务任务保持计划状态的时间间隔,以毫秒为单位。 |
ServiceIntegrationTime |
从调度服务任务到服务任务关闭时间之间的间隔,以毫秒为单位。 |
ServiceIntegrationsFailed |
失败的服务任务数。 |
ServiceIntegrationsScheduled |
计划服务任务数。 |
ServiceIntegrationsStarted |
已启动的服务任务数。 |
ServiceIntegrationsSucceeded |
成功完成的服务任务数。 |
ServiceIntegrationsTimedOut |
关闭时超时的服务任务数。 |
Step Functions 服务集成指标的维度
维度 | 描述 |
---|---|
|
集成ARN服务的资源。 |
服务指标
AWS/States
命名空间包括 Step Functions 服务的以下指标。
指标 | 描述 |
---|---|
ThrottledEvents
|
已被限制的请求数。 |
ProvisionedBucketSize |
每秒可用请求数。 |
ProvisionedRefillRate |
每秒允许进入存储桶的请求数。 |
ConsumedCapacity |
每秒请求数。 |
Step Functions 服务指标的维度
维度 | 描述 |
---|---|
|
筛选数据以显示状态转换指标。 |
API指标
AWS/States
命名空间包括 Step Functions 的以下指标API。
指标 | 描述 |
---|---|
ThrottledEvents
|
已被限制的请求数。 |
ProvisionedBucketSize |
每秒可用请求数。 |
ProvisionedRefillRate |
每秒允许进入存储桶的请求数。 |
ConsumedCapacity |
每秒请求数。 |
Step Function API s 指标的维度
维度 | 描述 |
---|---|
|
将数据筛选到API指定API名称的。 |
在中查看 Step Functions 指标 CloudWatch
您可以使用 CloudWatch 控制台查看执行、活动、函数和服务集成的 Step Functions 指标。
-
登录 Amazon Web Services Management Console 然后打开 CloudWatch 控制台。
-
选择指标,在全部指标选项卡上选择状态。
如果您近期运行了任何执行,最多可以看到四种类型的指标:
-
执行指标
-
活动函数指标
-
Lambda 函数指标
-
服务集成指标
-
-
选择指标类型以查看指标列表。
-
要按指标名称或对指标进行排序 StateMachineArn,请使用列标题。
-
要查看指标图表,请选中列表上指标旁边的复选框。您可以使用图表视图上方的时间范围控件更改图表参数。
您可以使用相对或绝对值 (特定天和时间) 选择自定义时间范围。您还可以使用下拉列表将值显示为线条、堆叠区域或数字(值)。
-
要查看图表的详细信息,请将鼠标悬停在图表下方显示的指标颜色代码上方以显示指标详细信息。
-
有关使用 CloudWatch 指标的更多信息,请参阅亚马逊 CloudWatch 用户指南中的使用亚马逊 CloudWatch 指标。
在中为 Step Functions 指标设置警报 CloudWatch
您可以使用 Amazon CloudWatch 警报来执行操作。例如,如果您想知道何时达到警报阈值,则可以设置警报,以便向亚马逊SNS主题发送通知,或者在StateMachinesFailed
指标超过特定阈值时发送电子邮件。
在指标上设置警报
-
登录 Amazon Web Services Management Console 然后打开 CloudWatch 控制台。
-
选择指标,在全部指标选项卡上选择状态。
如果您近期运行了任何执行,最多可以看到四种类型的指标:
-
执行指标
-
活动函数指标
-
Lambda 函数指标
-
服务集成指标
-
-
选择指标类型以查看指标列表。
-
选择一个指标,然后选择绘成图表的指标。
-
选择列表中指标旁边的钟形图标以显示 “创建警报” 页面。
-
为警报阈值和操作输入值,然后选择创建警报。
有关设置和使用 CloudWatch 警报的更多信息,请参阅亚马逊 CloudWatch 用户指南中的创建亚马逊 CloudWatch 警报。