監視の仕組み
関連 issues
監視対象
Backend
Backend は大きく2つのエラー監視しています。
- アプリケーション内の実行時エラー監視
- 実行時の想定外のエラーなどは Sentry に送信するように実装しています
- アプリケーション実行環境のサーバーエラー監視
- CloudWatch で
UnHealthyHostCountに対して Alarm を設定し、Elastic Transcoder などと同様に Lambda function 経由で Sentry にエラーを送信しています
- CloudWatch で
Frontend
- Next.js に Sentry を導入しています
Lambda functions
Issue:
主要な Lambda function には、Sentry が公式で提供する仕組み を利用したエラー監視の仕組みを導入しています。
具体的には、Sentry が提供する Sentry.AWSLambda.wrapHandler で Lambda function の handler をラップする形で監視しています。
AWS Elastic Transcoder
Issue:
AWS Elastic Transcoder は、CloudWatch のメトリクスが利用できるため、CloudWatch Alarm 利用してエラーを監視しています。
具体的には下記のような構成になっています。
- CloudWatch Alarm を利用して、Elastic Transcoder の
JobsErroredを監視し、1分間の間に1回でも Job のエラーがあった場合には SNS に通知を送る - SNS のサブスクライバーとして登録されている Lambda function が起動する
- Lambda function 内で Sentry にデータを送信する
AWS Elemental MediaConvert
Issue:
AWS Elemental MediaConvert も、基本的に Elastic Transcoder 同様に CloudWatch のメトリクスが利用できるため、CloudWatch Alarm 利用してエラーを監視しています。
具体的には下記のような構成になっています。
- CloudWatch Alarm を利用して、MediaConvert の
JobErroredCountを監視し、1分間の間に1回でも Job のエラーがあった場合には SNS に通知を送る - SNS のサブスクライバーとして登録されている Lambda function が起動する
- Lambda function 内で Sentry にデータを送信する