Stepfunctionsから実行したlambdaのエラーでcloudwatchアラームが発生しません

0

Stepfunctionsから実行したlambdaのエラーでcloudwatchアラームが発生しません。 Lambdaを直接実行した際にはアラームが発生します。 この原因は何でしょうか?

cloudwatchアラートは以下の設定をしております。 メトリクス名:Errors 統計:合計 期間:1分 閾値の種類:静的 閾値:1以上 データポイント:1/1 欠落データの処理:欠落データを見つかりませんとして処理

Lambdaの処理時間は一律30秒ほどです。

また、cloudwatchのグラフ上ではErrorsが検知されていないのですが、 Lambda上のモニタリングタブではErrorsがカウントされています。 この違いは何でしょうか

1回答
0

この問題には複数の要因が考えられます。

  1. メトリクスの遅延: CloudWatchメトリクスの取り込みに遅延がある可能性があります。Lambda関数の実行時間が30秒ほどであることを考慮すると、メトリクスデータがCloudWatchに到達する前にアラームの評価が行われている可能性があります。

  2. 欠落データの処理: アラームの設定で「欠落データを見つかりませんとして処理」としていますが、これによりアラームが発生しにくくなっている可能性があります。Step Functionsから実行した場合、何らかの理由でメトリクスデータが欠落していると、アラームが発生しない可能性があります。

  3. メトリクスの集計期間: アラームの期間を1分に設定していますが、Step Functionsからの実行の場合、この1分の間にエラーが集計されていない可能性があります。

  4. Lambda上のモニタリングとCloudWatchグラフの違い: Lambda上のモニタリングタブはより直接的なエラー情報を表示している可能性がありますが、CloudWatchグラフはメトリクスの集計と遅延の影響を受けやすいです。

改善策として以下が考えられます:

  1. アラームの評価期間を長くする(例:5分)
  2. 欠落データの処理を「不良として処理」に変更する
  3. メトリクス数学を使用して、遅延や欠落データを処理する(例:FILL関数を使用)
  4. Step Functionsの実行時間を確認し、必要に応じて調整する

これらの調整を行い、Step Functionsから実行した場合でもアラームが適切に発生するか確認してください。
Sources
Elevating Your AWS Observability: Unlocking the Power of Amazon CloudWatch Alarms | AWS Cloud Operations Blog
Reduce code duplication in load testing and synthetic monitoring using Amazon CloudWatch Synthetics | AWS Cloud Operations Blog

profile picture
回答済み 2ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン