TL;DR
- CloudWatchとSNSを連携し、エラー通知を実装したい
- エラー発生時はとりあえず即検知!
- 複数環境ある場合は件名に環境名があるといいかも
はじめに
弊社では開発スタッフが自社サービス開発のために、さまざまな新機能を検証するための検証環境が存在するのですが、少し目を離すと検証環境でエラーが放置されているケースがたまに発生します。
検証環境なので特に大きな問題にはなりませんが、せめて何かしらの問題が発生していることは把握しておきたいので、CloudWatchのアラームとSimple Nortification Serviceを使ってアラームのメール通知を行おうと思います。
エラーログを検知する
私たちのサービスではECSにてAPIとWorkerでサービスを分けているため、どちらでエラーが発生したのかも含めて検知を行っていきます。
メトリクスフィルターを作成する
CloudWatchのログ管理から、対象のロググループのメトリクスフィルターを作成し、エラーログをまとめておきます。
今回はメトリクス値を1にしておきました。
SNSトピックを作成する
今回のアラートの通知先設定を行うために、SNS(Simple Nortification Service)でトピックを作成します。
トピックが作成できたら、実際の通知先メールアドレスをサブスクリプションで設定していきます。
今回は複数人にメール通知を行うため、サブスクリプションを複数作っておきます。
これで通知先のメールアドレス登録は完了です。
アラーム設定をする
続いて、作成したメトリクスフィルターからアラームを作成し、通知設定を行っていきます。
今回は検証環境で1つでもエラーが発生した際に確認を行いたいので、しきい値を「1以上」としておきました。
アクションの設定でアラーム状態になった時、先ほど作成したSNSトピックに通知するように設定すれば、エラー発生時にメール通知が飛んでくるようになります。
実際にアラートを送ってみた
試しにわざとエラーを起こしてメールを検証してみました。
良い感じにアラートメールが送られてきています。
複数環境を使い分けている場合は、環境名を通知に記載しておくと切り分けがしやすいので、試してみてください。
さいごに
MSOL Digitalでは、ミッション・ビジョンの実現に向けて、新たな仲間を募集しています。
少しでもご興味をお持ちいただけましたら、ぜひエントリーをご検討ください。
また、すぐに転職をお考えでない場合でも、カジュアル面談からのスタートも大歓迎です。
まずはお気軽にお話しできますと幸いです!
■エントリーページ
■カジュアル面談の申し込み





