本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于的 Amazon SWF 指标 CloudWatch
Amazon SWF 现在提供以下方面的指标 CloudWatch 您可使用这些工具跟踪工作流程和活动并针对选择的阈值设置警报。您可以使用 Amazon Web Services Management Console 查看指标。有关更多信息,请参阅 使用查看用于 CloudWatch 的 Amazon SWF 指标Amazon Web Services Management Console。
用于 Amazon SWF 指标的报告单位
报告时间间隔的指标
一些Amazon SWF 指标 CloudWatch 是时间间隔,始终以毫秒为单位测量。这些区域有: CloudWatch 单位以形式报告Time
. 这些指标通常对应于可以设置工作流程和活动超时的工作流程执行的各阶段,并具有类似的名称。
例如,DecisionTaskStartToCloseTime
指标度量决策任务开始执行之后直到完成所用的时间,该时间就是可为其设置 DecisionTaskStartToCloseTimeout
值的时间段。
要获得各工作流程阶段的总示意图和了解其在工作流程和活动生命周期内何时发生,请参阅 Amazon SWF 超时类型 。
报告计数的指标
一些Amazon SWF 指标 CloudWatch 将结果报告为计数. 例如,WorkflowsCanceled
将结果记录为 1 或 0,指示是否已取消工作流。值 0 并不表示未报告该指标,仅表示该指标描述的条件未出现。
一些Amazon SWF 指标 CloudWatch 那报告Count
在 CloudWatch 是一个每秒计数. 例如,ProvisionedRefillRate
,它被报告为Count
在 CloudWatch,代表一个评分的Count
每秒请求数。
对于计数指标,最小值和最大值将始终是 0 或 1,但平均值将是 0 到 1 范围内的一个值。
API 和决策事件指标
您可以在中监控 API 和决策事件 CloudWatch 以深入了解您的使用情况和容量。请参阅决策程序中的Amazon SWF 的工作原理部分,以及决策主题亚马逊简易工作流程服务 API 参考.
您还可以监控这些限制,以在您接近 Amazon SWF 限制时报警。请参阅 Amazon SWF 限制配额,以了解这些限制及其默认设置的说明。这些限制旨在防止不正确的工作流占用过多的系统资源。要请求提高您的限制,请参阅:请求增加配额。
作为最佳实践,您应配置 CloudWatch 警报以大约 API 的 60% 或决策事件容量。这将允许您在启用 Amazon SWF 限制之前,调整工作流程或请求服务限制增加。根据您的调用的 burstiness
-
如果您的流量有明显的峰值,请将警报设置为
ProvisionedBucketSize
限制的 60%。 -
如果您的调用具有相对稳定的速率,请将相关 API 和决策事件的警报设置为
ProvisionedRefillRate
限制的 60%。
Amazon SWF 指标
以下指标可用于 Amazon SWF:
指标 |
描述 |
---|---|
|
计划决策任务的时刻与工作人员选取并启动该决策任务的时刻之间的时间间隔,以毫秒为单位。 CloudWatch 单位: 维度: 有效统计数据: |
|
启动活动任务的时刻与决策任务结束的时刻之间的时间间隔,以毫秒为单位。 CloudWatch 单位: 维度: 有效统计数据: |
|
已完成的决策任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
PendingTasks |
针对某个特定任务列表在 1 分钟间隔内待办任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已启动但在结束时已超时的决策任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
启动工作流的时刻与工作流结束的时刻之间的时间,以毫秒为单位。 CloudWatch 单位: 维度: 有效统计数据: |
|
取消的工作流程的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
完成的工作流程的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
继续作为新工作流程的工作流程计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
失败的工作流的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
终止的工作流的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
出于任何原因而超时的工作流程的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
计划活动的时刻与该活动结束的时刻之间的时间间隔,以毫秒为单位。 CloudWatch 单位: 维度: 有效统计数据: |
|
计划活动任务的时刻与该活动任务启动的时刻之间的时间间隔,以毫秒为单位。 CloudWatch 单位: 维度: 有效统计数据: |
|
启动活动任务的时刻与活动任务结束的时刻之间的时间间隔,以毫秒为单位。 CloudWatch 单位: 维度: 有效统计数据: |
|
取消的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已完成的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
失败的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已计划但在结束时已超时的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已计划但在启动时已超时的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已启动但在结束时已超时的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已启动但因检测信号超时而发生超时的活动任务的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
已被限制的请求的计数。 CloudWatch 单位: 维度: 有效统计数据: |
|
每秒可用请求的计数。 维度: 有效统计数据: |
|
每秒请求的计数。 CloudWatch 单位: 维度: 有效统计数据: |
ConsumedLimit |
已消耗的一般限制金额。 维度: |
|
每秒允许进入存储桶中的请求的计数。 维度: 有效统计数据: |
ProvisionedLimit |
为账户预配置的一般限额金额。 维度: |
维度 |
描述 |
---|---|
|
按照工作流程或活动在其中运行的 Amazon SWF 域来筛选数据。 |
|
按照活动类型的名称来筛选数据。 |
|
按照活动类型的版本来筛选数据。 |
|
按照此工作流执行的工作流类型的名称来筛选数据。 |
|
按照此工作流执行的工作流类型的版本来筛选数据。 |
|
按照指定 API 名称的 API 来筛选数据。 |
|
按照指定决策名称来筛选数据。 |
|
按照指定任务列表名称来筛选数据。 |
|
根据任务列表的分类筛选数据。决策任务列表的值为 “D”,活动任务列表的值为 “A”。 |
Amazon SWF 非 ASCII 资源名称和 CloudWatch维度
Amazon SWF 允许在资源名称中使用非 ASCII 字符,例如 TaskList 和 DomainName. 但是,的维度值 CloudWatch 指标只能包含可打印 ASCII 字符。为了确保 Amazon SWF 使用的维度值与CloudWatch 要求,不符合这些要求的 Amazon SWF 资源名称将被转换并附加一个校验和,如下所示:
-
任何非 ASCII 字符都将替换为
?
. -
如有必要,输入字符串或转换后的字符串将被截断。这样可以确保在追加校验和时,新的字符串长度不会超过 CloudWatch最大值数。
-
由于任何非 ASCII 字符都转换为
?
,一段时间 CloudWatch 转换前不同的量度维度值在转换后可能看起来相同。为了帮助区分它们,请使用下划线 (_
) 后跟原始资源名称的 SHA256 校验和的前 16 个字符,将附加到资源名称之后。
转换示例:
-
test àpple
将被转换为test ?pple_82cc5b8e3a771d12
-
àòà
将被转换为???_2fec5edbb2c05c22
. -
这些区域有: TaskList 名字
àpplé
和âpplè
两者都将转换为?ppl?
,并且会是相同的。追加校验和会返回不同的值,?ppl?_f39a36df9d85a69d
和?ppl?_da3efb4f11dd0f7f
.
您可以生成自己的 SHA256 校验和。例如,使用shasum
命令行工具:
echo -n "<the original resource name>" | shasum -a 256 | cut -c1-16