CloudWatch の Amazon SWF メトリクス - Amazon Simple Workflow Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudWatch の Amazon SWF メトリクス

Amazon SWF では、ワークフローおよびアクティビティを追跡し、選択したしきい値にアラームを設定するために使用できる CloudWatch のメトリクスを提供するようになりました。メトリクスは、AWS Management Console を使用して表示できます。詳細については、「AWS Management Console を使用した CloudWatch の Amazon SWF メトリクスの表示」を参照してください。

Amazon SWF メトリクスの単位の報告

時間間隔を報告するメトリクス

CloudWatch の Amazon SWF メトリクスの一部は時間間隔であり、常にミリ秒単位で測定されます。CloudWatch の単位は Time として報告されます。これらのメトリクスは通常、ワークフローおよびアクティビティのタイムアウトを設定できるワークフロー内の実行段階に対応しており、それぞれに似た名前が付いています。

たとえば、DecisionTaskStartToCloseTime メトリクスは、ディシジョンタスクが実行開始されてから完了するまでの時間を測定します。この同じ期間に対し、DecisionTaskStartToCloseTimeout 値を設定できます。

これらの各ワークフローステージの図と、ワークフローおよびアクティビティのライフサイクルで各ワークフローステージがいつ発生するかについては、「Amazon SWF タイムアウトの種類 」を参照してください。

カウントを報告するメトリクス

CloudWatch の Amazon SWF メトリクスの一部は、結果を カウント として報告します。例えば、WorkflowsCanceled は、結果を 1 または 0 としてレコードしますが、これはワークフローがキャンセルされたかどうかを表します。値が 0 の場合、メトリクスが報告されなかったのではなく、メトリクスに記述された条件が発生しなかったことを示しているだけです。

CloudWatch で Count を報告する CloudWatch の Amazon SWF メトリックスの一部は、1 秒あたりのカウント数です。例えば、CloudWatch で Count として報告される ProvisionedRefillRate は、Count の 1 秒あたりのリクエストを表します。

カウントを返すメトリクスでは、最小値および最大値は常に 0 または 1 ですが、平均は 0 ~ 1 の範囲の値になります。

API と決定イベントのメトリクス

CloudWatch の API および決定イベントをモニタリングして、使用量と容量のインサイトを得ることができます。「Amazon SWF の仕組み」セクションの「deciders」(ディサイダー)、および「Amazon Simple Workflow Service API Reference」(Amazon Simple Workflow Service API リファレンス) の「Decision」(決定) のトピックを参照してください。

また、Amazon SWF のスロットリング制限に近づいているときに、これらの制限をモニタリングしてアラームを受けることができます。これらの制約の説明とデフォルト設定については、「Amazon SWF スロットリングのクォータ」を確認してください。これらの制限は、不適切なワークフローがシステムリソースを過度に消費することを防ぐためのものです。この制限の上限緩和を申請する方法については、「クォータ引き上げのリクエスト」を参照してください。

ベストプラクティスとして、API または決定イベントの容量の 60% 前後に CloudWatch アラームを設定します。これにより、Amazon SWF のスロットリングを有効にする前に、ワークフローを調整するか、サービスの上限緩和を申請できます。呼び出しのバースト性により、サービスの上限に近づいているときに通知する複数のアラームを設定できます。

  • トラフィックに非常に大きなスパイクがある場合は、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

ディメンション: Cause, 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

1 秒あたりに利用できるリクエストの数。

ディメンション: APIName, DecisionName

有効な統計: Minimum

ConsumedCapacity

1 秒あたりのリクエストの数。

CloudWatch 単位: Count

ディメンション: APIName, DecisionName

有効な統計: Sum

ConsumedLimit

消費された一般限度額。

ディメンション: GeneralLimitType

ProvisionedRefillRate

バケットで許可される 1 秒あたりのリクエストの数。

ディメンション: APIName, DecisionName

有効な統計: Minimum

ProvisionedLimit

アカウントにプロビジョニングされた一般限度額。

ディメンション: GeneralLimitType

ディメンション

説明

Domain

ワークフローまたはアクティビティが実行中の Amazon SWF ドメインにデータをフィルタリングします。

ActivityTypeName

アクティビティタイプの名前にデータをフィルタリングします。

ActivityTypeVersion

アクティビティタイプのバージョンにデータをフィルタリングします。

WorkflowTypeName

このワークフロー実行のワークフロータイプの名前にデータをフィルタリングします。

WorkflowTypeVersion

このワークフロー実行のワークフロータイプのバージョンにデータをフィルタリングします。

APIName

指定された API 名の API にデータをフィルタリングします。

DecisionName

指定された決定名にデータをフィルタリングします。

TaskListName

指定されたタスクリスト名にデータをフィルタリングします。

TaskListClassification

タスクリストの分類にデータをフィルタリングします。値は、決定タスクリストの場合は「D」、アクティビティタスクリストの場合は「A」です。

Amazon SWF 非 ASCII リソース名と CloudWatch ディメンション

Amazon SWF では、TaskList や DomainName などのリソース名に非 ASCII 文字を使用できます。ただし、CloudWatch メトリクスのディメンション値に含めることができるのは、印刷可能な ASCII 文字だけです。Amazon SWF が CloudWatch 要件 と互換性のあるディメンション値を使用するようにするために、これらの要件を満たしていない Amazon SWF リソース名は変換され、次のようにチェックサムが追加されます

  • 非 ASCII 文字はすべて ? に置き換えられます。

  • 入力文字列または変換された文字列は、必要に応じて切り捨てられます。これにより、チェックサムが追加されたときに、新しい文字列の長さが CloudWatch の最大値を超えないようにします。

  • 非 ASCII 文字は ? に変換されるため、変換前に異なっていた一部の CloudWatch メトリクスディメンション値は、変換後に同じように見える場合があります。それらを区別しやすくするために、リソース名には、アンダースコア (_) の後に、元のリソース名の SHA256 チェックサムの最初の 16 文字が追加されます。

変換の例:

  • test àppletest ?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