CloudWatch 的 Amazon SWF 指标 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

CloudWatch 的 Amazon SWF 指标

Amazon SWF 现在提供 CloudWatch 指标,您可使用这些指标跟踪工作流程和活动并针对选择的阈值设置警报。您可以使用 Amazon Web Services Management Console 查看指标。有关更多信息,请参阅查看 CloudWatch 视的 Amazon SWF 指标Amazon Web Services Management Console

Amazon SWF 指标的报告单位

报告时间间隔的指标

CloudWatch 视的一些 Amazon SWF 指标是Time Time,始终以毫秒为单位。CloudWatch 单位以形式报告Time。这些指标通常对应于可以设置工作流程和活动超时的工作流程执行的各阶段,并具有类似的名称。

例如,DecisionTaskStartToCloseTime 指标度量决策任务开始执行之后直到完成所用的时间,该时间就是可为其设置 DecisionTaskStartToCloseTimeout 值的时间段。

要获得各工作流程阶段的总示意图和了解其在工作流程和活动生命周期内何时发生,请参阅 Amazon SWF 超时类型

报告计数的指标

某些针对 CloudWatch 的 Amazon SWF 指标将以count。例如,WorkflowsCanceled 将结果记录为 10,指示是否已取消工作流。值 0 并不表示未报告该指标,仅表示该指标描述的条件未出现。

某些针对 CloudWatch 的 Amazon SWF 指标报告Count在 CloudWatch 中是一个每秒计数。例如,ProvisionedRefillRate,它被报告为CountCloudWatch 一个比率Count每秒请求的费用。

对于计数指标,最小值和最大值将始终是 0 或 1,但平均值将是 0 到 1 范围内的一个值。

API 和决策事件指标

您可以在 CloudWatch 中监控 API 和决策事件,以深入了解您的使用情况和容量。请参阅决策程序中的Amazon SWF 的工作原理部分,以及决策中的主题Amazon Simple Workflow Service API 参考

您还可以监控这些限制,以在您接近 Amazon SWF 限制时报警。请参阅 Amazon SWF 限制配额,以了解这些限制及其默认设置的说明。这些限制旨在防止不正确的工作流占用过多的系统资源。要请求提高您的限制,请参阅:请求增加配额

作为最佳实践,您应将 CloudWatch 警报配置为大约 API 的 60% 或决策事件容量。这将允许您在启用 Amazon SWF 限制之前,调整工作流程或请求服务限制增加。根据您的调用的 burstiness,您可以配置不同警报,以便在接近您的服务限制时发出通知:

  • 如果您的流量有明显的峰值,请将警报设置为 ProvisionedBucketSize 限制的 60%。

  • 如果您的调用具有相对稳定的速率,请将相关 API 和决策事件的警报设置为 ProvisionedRefillRate 限制的 60%。

Amazon SWF 指标

以下指标可用于 Amazon SWF:

指标

描述

DecisionTaskScheduleToStartTime

计划决策任务的时刻与工作人员选取并启动该决策任务的时刻之间的时间间隔,以毫秒为单位。

CloudWatch 单位:Time

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Average, Minimum, Maximum

DecisionTaskStartToCloseTime

启动活动任务的时刻与决策任务结束的时刻之间的时间间隔,以毫秒为单位。

CloudWatch 单位:Time

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Average, Minimum, Maximum

DecisionTasksCompleted

已完成的决策任务的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

PendingTasks

针对某个特定任务列表在 1 分钟间隔内待办任务的计数。

CloudWatch 单位:Count

维度: Domain, TaskListName

有效统计数据:Sum

StartedDecisionTasksTimedOutOnClose

已启动但在结束时已超时的决策任务的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

WorkflowStartToCloseTime

启动工作流的时刻与工作流结束的时刻之间的时间,以毫秒为单位。

CloudWatch 单位:Time

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Average, Minimum, Maximum

WorkflowsCanceled

取消的工作流程的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

WorkflowsCompleted

完成的工作流程的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

WorkflowsContinuedAsNew

继续作为新工作流程的工作流程计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

WorkflowsFailed

失败的工作流的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

WorkflowsTerminated

终止的工作流的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

WorkflowsTimedOut

出于任何原因而超时的工作流程的计数。

CloudWatch 单位:Count

维度: Domain, WorkflowTypeName, WorkflowTypeVersion

有效统计数据:Sum

ActivityTaskScheduleToCloseTime

计划活动的时刻与该活动结束的时刻之间的时间间隔,以毫秒为单位。

CloudWatch 单位:Time

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Average, Minimum, Maximum

ActivityTaskScheduleToStartTime

计划活动任务的时刻与该活动任务启动的时刻之间的时间间隔,以毫秒为单位。

CloudWatch 单位:Time

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Average, Minimum, Maximum

ActivityTaskStartToCloseTime

启动活动任务的时刻与活动任务结束的时刻之间的时间间隔,以毫秒为单位。

CloudWatch 单位:Time

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Average, Minimum, Maximum

ActivityTasksCanceled

取消的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

ActivityTasksCompleted

已完成的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

ActivityTasksFailed

失败的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

ScheduledActivityTasksTimedOutOnClose

已计划但在结束时已超时的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

ScheduledActivityTasksTimedOutOnStart

已计划但在启动时已超时的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

StartedActivityTasksTimedOutOnClose

已启动但在结束时已超时的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

StartedActivityTasksTimedOutOnHeartbeat

已启动但因检测信号超时而发生超时的活动任务的计数。

CloudWatch 单位:Count

维度: Domain, ActivityTypeName, ActivityTypeVersion

有效统计数据:Sum

ThrottledEvents

已被限制的请求的计数。

CloudWatch 单位:Count

维度: APIName, DecisionName

有效统计数据:Sum

ProvisionedBucketSize

每秒可用请求的计数。

维度: APIName, DecisionName

有效统计数据:Minimum

ConsumedCapacity

每秒请求的计数。

CloudWatch 单位:Count

维度: APIName, DecisionName

有效统计数据:Sum

ProvisionedRefillRate

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

维度: APIName, DecisionName

有效统计数据:Minimum

维度

描述

Domain

将数据筛选到运行工作流程或活动在其中运行的 Amazon SWF 域。

ActivityTypeName

按照活动类型的名称来筛选数据。

ActivityTypeVersion

按照活动类型的版本来筛选数据。

WorkflowTypeName

按照此工作流执行的工作流类型的名称来筛选数据。

WorkflowTypeVersion

按照此工作流执行的工作流类型的版本来筛选数据。

APIName

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

DecisionName

按照指定决策名称来筛选数据。

TaskListName

按照指定任务列表名称来筛选数据。

TaskListClassification

根据任务列表的分类筛选数据。决策任务列表的值为 “D”,“活动任务列表” 为 “A”。

Amazon SWF 非 ASCII 资源名称和 CloudWatch 维度

Amazon SWF 允许在资源名称(如任务列表和 DomainName)中使用非 ASCII 字符。但是,CloudWatch 指标的维度值只能包含可打印的 ASCII 字符。为了确保 Amazon SWF 使用与CloudWatch 要求,则将转换不符合这些要求的 Amazon SWF 资源名称,并附加一个校验和,如下所示:

  • 任何非 ASCII 字符都将替换为?

  • 如有必要,输入字符串或转换后的字符串将被截断。这可确保附加校验和时,新字符串长度不会超过 CloudWatch 的最大值。

  • 由于任何非 ASCII 字符都会被转换为?,则转换前不同的某些 CloudWatch 指标维度值可能在转换后看起来相同。为了帮助区分它们,可以使用下划线(_) 后面跟着原始资源名称的 SHA256 校验和的前 16 个字符将附加到资源名称之后。

转换示例

  • test àpple将转换为test ?pple_82cc5b8e3a771d12

  • àòà将转换为???_2fec5edbb2c05c22

  • 任务列表名称àppléâpplè都会被转换为?ppl?,并且将是相同的。附加校验和会返回不同的值,?ppl?_f39a36df9d85a69d?ppl?_da3efb4f11dd0f7f

提示

您可以生成您自己的 SHA256 校验和。例如,要使用shasum命令行工具:

echo -n "<the original resource name>" | shasum -a 256 | cut -c1-16