を使用した Step Fun CloudWatch - AWS Step Functions

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

を使用した Step Fun CloudWatch

モニタリングは、AWS Step Functions と AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害をより簡単にデバッグできるように、使用する AWS のサービスからモニタリングデータを収集する必要があります。ただし、Step Functions のモニタリングをスタートする前に、以下の質問に回答するモニタリング計画を作成する必要があります。

  • どのような目的でモニタリングしますか?

  • どのリソースをモニタリングしますか?

  • どのくらいの頻度でこれらのリソースをモニタリングしますか?

  • どのモニタリングツールを利用しますか?

  • 誰がモニタリングタスクを実行しますか?

  • 問題が発生したときに誰が通知を受け取りますか?

次のステップでは、通常の Step Functions パフォーマンスのベースラインを環境に確立します。これを行うには、さまざまな時間帯に、さまざまな負荷条件でパフォーマンスを測定します。Step Functions をモニタリングするには、モニタリングデータの履歴を保存することを検討します。このデータを、最新のパフォーマンスデータと比較するベースラインとして使用し、通常のパフォーマンスのパターンやパフォーマンスの異常を検出して、問題への対応を検討することができます。

例えば、Step Functions を使用すると、ハートビートのタイムアウトが原因で失敗したアクティビティや AWS Lambda タスクの数をモニタリングできます。パフォーマンスが確立したベースラインを下回った場合、ハートビート間隔を変更する必要が生じることがあります。

ベースラインを確立するには、少なくとも、次のメトリクスをモニタリングする必要があります。

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

以下のセクションでは、以下では、以下の Step Functions CloudWatch。これらのメトリクスを使用してステートマシンおよびアクティビティを追跡し、しきい値のアラームを設定できます。メトリクスは、AWS Management Console を使用して表示できます。

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

Step Functions の一部 CloudWatch メトリクスは時間間隔、常にミリ秒単位で測定されます。これらのメトリクスは通常、ステートマシン、アクティビティ、Lambda 関数タイムアウトを設定できる実行段階に対応しており、わかりやすい名前が付いています。

例えば、ActivityRunTime メトリクスは、アクティビティが実行をスタートしてから完了するまでの時間を測定します。同じ期間のタイムアウト値を設定できます。

左 CloudWatch コンソールでは、選択した場合に最良の結果になります平均時間間隔メトリックの表示統計として。

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

Step Functions の一部 CloudWatch メトリクスは、結果をカウント。例えば、ExecutionsFailed はステートマシンの実行が失敗した回数を記録します。

左 CloudWatch コンソールでは、選択した場合に最良の結果になりますカウントメトリクスの表示統計として。

実行メトリクス

AWS/States 名前空間には、以下の Step Functions 実行のメトリクスが含まれます。

メトリクス 説明
ExecutionTime 実行のスタート時点から終了時点までの間隔 (ミリ秒単位)。
ExecutionThrottled 調整済みの StateEntered イベントと再試行回数。これは StateTransition のスロットリングに関連しています。詳細については、状態のスロットリングに関連するクォータ デベロッパーガイドのAWS Step Functions を参照してください。
ExecutionsAborted 中断または終了された実行の数。
ExecutionsFailed 失敗した実行の数。
ExecutionsStarted スタートされた実行の数。
ExecutionsSucceeded 正常に完了した実行の数。
ExecutionsTimedOut 何らかの理由でタイムアウトした実行の数。

Express ワークフローの実行メトリクス

-AWS/States名前空間には、以下の Step Functions Express ワークフローの実行のメトリクスが含まれます。

メトリクス 説明
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 関数の以下のメトリクスが含まれます。

メトリクス 説明
LambdaFunctionRunTime Lambda 関数の開始時点から終了時点までの間隔 (ミリ秒単位)。
LambdaFunctionScheduleTime Lambda 関数がスケジュール状態に留まる間隔 (ミリ秒単位)。
LambdaFunctionTime Lambda 関数がスケジュールされた時点から終了する時点までの間隔 (ミリ秒単位)。
LambdaFunctionsFailed 失敗した Lambda 関数の数。
LambdaFunctionsScheduled スケジュールされた Lambda 関数の数。
LambdaFunctionsStarted 開始された Lambda 関数の数。
LambdaFunctionsSucceeded 正常に完了した Lambda 関数の数。
LambdaFunctionsTimedOut 終了時にタイムアウトした Lambda 関数の数。

Step Functions Lambda 関数メトリクスのディメンション

ディメンション 説明

LambdaFunctionArn

Lambda 関数の ARN。

注記

Lambda 関数メトリックスは、Lambda 関数 ARN を Resource フィールドに指定するタスク状態に対して発行されます。"Resource": "arn:aws:states:::lambda:invoke" を使用するタスクの状態は、代わりにサービス統合メトリックを発行します。詳細については、「Step Functions で Lambda を呼び出す」を参照してください。

サービス統合メトリクス

AWS/States 名前空間には、Step Functions サービス統合に対する次のメトリクスが含まれます。詳細については、「他のサービスで AWS Step Functions を使用する」を参照してください。

メトリクス 説明
ServiceIntegrationRunTime サービスタスクの開始時点から終了時点までの間隔 (ミリ秒単位)。
ServiceIntegrationScheduleTime サービスタスクがスケジュール状態に留まる間隔 (ミリ秒単位)。
ServiceIntegrationTime サービスタスクがスケジュールされてから終了するまでの間隔 (ミリ秒単位)。
ServiceIntegrationsFailed 失敗したサービスタスクの数。
ServiceIntegrationsScheduled スケジュールされたサービスタスクの数。
ServiceIntegrationsStarted 開始したサービスタスクの数。
ServiceIntegrationsSucceeded 正常に完了したサービスタスクの数。
ServiceIntegrationsTimedOut 終了時にタイムアウトしたサービスタスクの数。

Step Functions サービス統合メトリクスのディメンション

ディメンション 説明

ServiceIntegrationResourceArn

統合されたサービスのリソースの ARN。

サービスメトリクス

AWS/States 名前空間には、Step Functions サービスの次のメトリクスが含まれます。

メトリクス 説明
ThrottledEvents

スロットルされたリクエストの数。

ProvisionedBucketSize

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

ProvisionedRefillRate

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

ConsumedCapacity

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

Step Functions サービスメトリックのディメンション

ディメンション 説明

ServiceName

データをフィルタリングして状態遷移メトリクスを表示します。

API のメトリクス

AWS/States 名前空間には、Step Functions API のため、以下のメトリクスが含まれます。

メトリクス 説明
ThrottledEvents

スロットルされたリクエストの数。

ProvisionedBucketSize

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

ProvisionedRefillRate

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

ConsumedCapacity

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

Step Functions API メトリクスのディメンション

ディメンション 説明

APIName

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