BeeX Technical BlogDatadogで異常検知時に簡単にAWS内で後続処理を実行する方法

AWS Loft Osaka、なかなか快適です。那須です。

AWS外からのイベントをトリガーになにか処理をしたい時ってありますよね?
ちょっと前だとAPI Gateway等を通じてLambdaに流したりしていたのですが、ふとEventBridgeの存在を思い出しました。

Datadogを使ってモニタリングして、その結果をwebhookで連携していたのをEventBridgeに変えたら仕組みが少しだけシンプルになるなーと思ったのでやってみました。

 

今回やってみること

datadogで異常検知したら内容をメール通知してみます。
どんな内容で飛んでくるのかも知りたいのでJSONそのままを投げましょう。

今回はメール通知ですが、EC2インスタンスにAPIコールしたり、SSMでアクション実行したり、Kinesisストリームに投げたり、別アカウントのイベントバスに投げたり、、まあいろいろなターゲットが指定できますよ。

 

設定の流れ

ざっくり流れを書くとこんな感じです。

1. Datadog用のイベントバスを作成
2. EventBridgeでルール作成
3. Datadogのモニタリング設定で異常検知時にEventBridgeに投げるように指定

1. Datadog用のイベントバスを作成

まずはEventBridgeコンソールに行きましょう。
左のメニューからパートナーイベントソースをクリックします。

Datadogのところの設定を押すと…

設定の流れの概要が出てきます。
これに従ってイベントバス設定します。
AWSアカウント番号だけはメモしてきましょう。

DatadogのIntegrations画面で、Amazon EventBridgeをクリックします。

説明と一緒に設定画面が表示されます。
説明書きにもありますが、Datadogが使うIAMロールのポリシーにevents:CreateEventBusアクションが許可されている必要があるので、事前に調整しておきましょう。

では画面下のAdd Event Busをクリックします。

作成するイベントバスの名前とリージョンを指定して、Saveを押します。
ちなみに、2019年10月21日時点では東京リージョンは指定できませんでした。
早く東京リージョンにも来てほしいですね!

DatadogのIAMロールのポリシーに問題がなければ、このように指定したリージョンに指定した名前でイベントバスが作成されていることがEventBridgeコンソールで確認できますよ。

2. EventBridgeでルール作成

次にEventBridgeコンソールでルールを作成します。
まずはルールの名前を決めましょう。

パターンを定義します。
パターンは、何かしらのトリガーを基にして処理するのか、スケジュールで処理するのかのどちらかを指定します。
今回はイベントパターンです。
Datadog用のイベントバスを利用するので、サービス名でDatadogを指定しましょう。

イベントバスの選択のところで、さきほど作成したイベントバスを指定します。

ターゲットを指定します。
ここではメール通知するだけにしたのでSNSを指定していますが、他にも選択できるターゲットはたくさんありますよ。
最後に作成ボタンを押しましょう。

3. EventBridgeに投げる指定

DatadogのMonitor設定画面で、このように@awseventbridge-~と書くことで先程作成したEventBridgeのルールの通りに動きます。

実際にテストアラートを投げると、JSONが含まれたメールが飛んできました。

 

最後に

今まではAWS外からなにか処理を実行させようとするとwebhookが便利でしたが、EventBridgeを使うことで簡単に連携することができるようになっています。
今回はDatadogを例にしてやってみましたが、他にも連携できるサービスがいろいろあるので是非EventBridgeコンソールで確認してみてください。

関連サービス:クラウド・SAPシステム運用保守サービス

クラウド・SAPシステム運用保守サービス

日々変わり続けるクラウドの最新技術やトレンドを取り込み、貴社に最適な基幹クラウド向け運用保守サービスを提供します。

詳細を見る

カテゴリ

タグ

BeeX Technical Blogについてのお問い合わせ

BeeX Technical Blogのエントリにご質問が御座いましたらお気軽にお問合せください。

お電話でのお問い合わせ

☎ 03-6214-2830

受付時間 平日9:30〜18:00

フォームでのお問い合わせ

お問い合わせフォーム