翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Step Functions のモニタリング CloudWatch
モニタリングは、 AWS Step Functions および AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。マルチポイント障害をデバッグできるように、使用する AWS サービスからモニタリングデータを収集する必要があります。ただし、Step Functions のモニタリングをスタートする前に、以下の質問に回答するモニタリング計画を作成する必要があります。
-
モニタリングの目的は何ですか?
-
どのリソースをモニタリングしますか?
-
どのくらいの頻度でこれらのリソースをモニタリングしますか?
-
どのモニタリングツールを利用しますか?
-
誰がモニタリングタスクを実行しますか?
-
問題が発生したときに誰が通知を受け取りますか?
次のステップでは、通常の パフォーマンスのベースラインを環境に確立します。これを行うには、さまざまな時間帯に、さまざまな負荷条件でパフォーマンスを測定します。Step Functions をモニタリングするには、モニタリングデータの履歴を保存することを検討します。このデータを、最新のパフォーマンスデータと比較するベースラインとして使用し、通常のパフォーマンスのパターンやパフォーマンスの異常を検出して、問題への対応を検討することができます。
例えば、Step Functions を使用すると、ハートビートタイムアウトが原因で失敗したアクティビティまたは AWS Lambda タスクの数をモニタリングできます。パフォーマンスが確立したベースラインを下回った場合、ハートビート間隔を変更する必要が生じることがあります。
ベースラインを確立するには、少なくとも、次のメトリクスをモニタリングする必要があります。
-
ActivitiesStarted
-
ActivitiesTimedOut
-
ExecutionsStarted
-
ExecutionsTimedOut
-
LambdaFunctionsStarted
-
LambdaFunctionsTimedOut
以下のセクションでは、Step Functions が Amazon に提供するメトリクスについて説明します CloudWatch。これらのメトリクスを使用してステートマシンおよびアクティビティを追跡し、しきい値のアラームを設定できます。を使用してメトリクスを表示できます AWS Management Console。
時間間隔を報告するメトリクス
Step Functions CloudWatch メトリクスの一部は時間間隔 で、常にミリ秒単位で測定されます。これらのメトリクスは通常、ステートマシン、アクティビティ、Lambda 関数タイムアウトを設定できる実行段階に対応しており、わかりやすい名前が付いています。
例えば、ActivityRunTime
メトリクスは、アクティビティが実行をスタートしてから完了するまでの時間を測定します。同じ期間のタイムアウト値を設定できます。
CloudWatch コンソールでは、時間間隔メトリクスの表示統計として平均を選択すると、最良の結果が得られます。
カウントを報告するメトリクス
一部の Step Functions CloudWatch メトリクスでは、結果がカウント として報告されます。例えば、ExecutionsFailed
はステートマシンの実行が失敗した回数を記録します。
Step Functions は、ステートマシンの実行ごとに 2 つのExecutionsStarted
メトリクスを出力します。これにより、ステートマシンの実行ごとに SampleCount ExecutionsStarted
メトリクスの 統計に 2 の値が表示されます。 SampleCount 統計にはExecutionStarted=1
、実行が完了したExecutionStarted=0
日時が表示されます。
ヒント
CloudWatch コンソールでカウントを報告するメトリクスの表示統計として Sum を選択することをお勧めします。
実行メトリクス
AWS/States
名前空間には、すべての Step Functions 実行に関する以下のメトリクスが含まれます。これらは、リージョンのアカウント全体に適用されるディメンションレスメトリクスです。
メトリクス | 説明 |
---|---|
OpenExecutionCount |
現在開いている実行の概数 — アカウントで現在進行中のワークフロー。 その目的は、ワークフローがいつ最大実行制限に近づいているかを把握し、標準ワークフロー メトリクスはアクティブなワークフロー状態の遷移に依存するため、低いレベルでは、予測が観測された実行中のワークフロー数と一致しない場合があります。 |
OpenExecutionLimit |
オープン実行の最大数。詳細については、「アカウントに関連するクォータ」を参照してください。 この制限は Express ワークフローには適用されません。 |
バージョンまたはエイリアスを持つステートマシンの実行メトリクス
バージョン またはエイリアス を使用してステートマシンの実行を実行すると、Step Functions は次のメトリクスを出力します。ExecutionThrottled
メトリクスは、スロットリングされた実行の場合にのみ出力されます。これらのメトリクスには、特定のステートマシンを識別StateMachineArn
するための が含まれます。
メトリクス | 説明 |
---|---|
ExecutionTime |
実行の開始から終了までの間隔をミリ秒単位で表します。 |
ExecutionThrottled |
スロットリングされたStateEntered イベントと再試行の数。これは StateTransition のスロットリングに関連しています。詳細については、「状態のスロットリングに関連するクォータ」を参照してください。 |
ExecutionsAborted |
中止または終了した実行の数。 |
ExecutionsFailed |
失敗した実行の数。 |
ExecutionsStarted |
開始された実行の数。 |
ExecutionsSucceeded |
正常に完了した実行の数。 |
ExecutionsTimedOut |
何らかの理由でタイムアウトした実行の数。 |
Express ワークフローの実行メトリクス
AWS/States
名前空間には、以下の Step Functions Express Workflows 実行のメトリクスが含まれます。
メトリクス | 説明 |
---|---|
ExpressExecutionMemory
|
Express ワークフローによって消費されるメモリの合計。 |
ExpressExecutionBilledDuration |
Express ワークフローに課金される期間。 |
ExpressExecutionBilledMemory |
Express ワークフローに課金される消費メモリ量。 |
標準ワークフローの Redrive 実行メトリック
redrive ステートマシンを実行すると、Step Functions は次のメトリクスを出力します。
すべての redriven 実行で、Executions*
メトリクスが出力されます。例えば、redriven実行が中止されたとします。この実行では、RedrivenExecutionsAborted
と ExecutionsAborted
の両方で、0 以外のデータポイントが出力されます。
メトリクス | 説明 |
---|---|
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"
を使用するタスクの状態は、代わりにサービス統合メトリックを発行します。詳細については、「Step Functions で Lambda を呼び出す」を参照してください。
サービス統合メトリクス
AWS/States
名前空間には、Step Functions サービス統合に対する次のメトリクスが含まれます。詳細については、「AWS Step Functions 他のサービスとの併用」を参照してください。
メトリクス | 説明 |
---|---|
ServiceIntegrationRunTime |
サービスタスクの開始から終了までの間隔をミリ秒単位で表します。 |
ServiceIntegrationScheduleTime |
サービスタスクがスケジュール状態のままであるミリ秒単位の間隔。 |
ServiceIntegrationTime |
サービスタスクがスケジュールされてから閉じられるまでの間隔をミリ秒単位で表します。 |
ServiceIntegrationsFailed |
失敗したサービスタスクの数。 |
ServiceIntegrationsScheduled |
スケジュールされたサービスタスクの数。 |
ServiceIntegrationsStarted |
開始されたサービスタスクの数。 |
ServiceIntegrationsSucceeded |
正常に完了したサービスタスクの数。 |
ServiceIntegrationsTimedOut |
閉鎖時にタイムアウトしたサービスタスクの数。 |
Step Functions サービス統合メトリクスのディメンション
ディメンション | 説明 |
---|---|
|
統合されたサービスのリソースの ARN。 |
サービスメトリクス
AWS/States
名前空間には、Step Functions サービスの次のメトリクスが含まれます。
メトリクス | 説明 |
---|---|
ThrottledEvents
|
スロットリングされたリクエストの数。 |
ProvisionedBucketSize |
1 秒あたりの利用可能なリクエスト数。 |
ProvisionedRefillRate |
バケットに許可される 1 秒あたりのリクエスト数。 |
ConsumedCapacity |
1 秒あたりのリクエスト数。 |
Step Functions サービスメトリックのディメンション
ディメンション | 説明 |
---|---|
|
データをフィルタリングして状態遷移メトリクスを表示します。 |
API のメトリクス
AWS/States
名前空間には、Step Functions API のため、以下のメトリクスが含まれます。
メトリクス | 説明 |
---|---|
ThrottledEvents
|
スロットリングされたリクエストの数。 |
ProvisionedBucketSize |
1 秒あたりの利用可能なリクエスト数。 |
ProvisionedRefillRate |
バケットに許可される 1 秒あたりのリクエスト数。 |
ConsumedCapacity |
1 秒あたりのリクエスト数。 |
Step Functions API メトリクスのディメンション
ディメンション | 説明 |
---|---|
|
指定された API 名の API にデータをフィルタリングします。 |
ベストエフォート型の CloudWatch メトリクス配信
CloudWatch メトリクスは、ベストエフォートで配信されます。
メトリクスの完全性や適時性は保証されません。特定のリクエストのデータポイントが、リクエストが実際に処理されたよりも後のタイムスタンプで返される場合があります。1 分間のデータポイントは、 を通じて使用可能になる前に遅れたり CloudWatch、まったく配信されなかったりすることがあります。 CloudWatchリクエストメトリクスを使用すると、ステートマシンの実行をほぼリアルタイムで把握できます。これは、実行に関するメトリクスのすべてを完全に報告するためのものではありません。
この機能はベストエフォート型であるため、請求情報とコスト管理ダッシュボード