バイセル Tech Blog

バイセル Tech Blogは株式会社BuySellTechnologiesのエンジニア達が知見・発見を共有する技術ブログです。

AWS CloudWatch アラームからslackへ通知する

バイセル開発部の松榮です。

コロナでなかなか外出できないので友人とも長く会えてないので
早くこのコロナが落ち着くといいなと切に願ってます。

今回はAWSのAlarmをslackで通知を受け取るという設定をしました。
(設定が漏れていて検知が出来なかったので改めて設定したという話しです)

やりたい事

RDSのCPUの使用率上昇の検知をslack上に流したい

構成イメージ

 

f:id:bst-t-matsue:20210816151523p:plain

cloud watch Alarm構成図

手順

  • 通知するチャンネルを用意

  • AWS SNSの設定

  • AWS Chatbotの設定

  • CloudWatch アラームの設定

  • テストでアラート発砲

 

詳しい説明

SNSの設定

ここで気をつけるのはスタンダードを設定する事
それ以外は気にする所はありません。

f:id:bst-t-matsue:20210816151638p:plain

Chatbotの設定

まずはSlackの登録が出来てない場合はslackの設定をします

f:id:bst-t-matsue:20210816151705p:plain

画面に従って進めるだけで難しい事は何もないです。(2,3分で終わります)

クライアントが出来たらチャンネル接続

f:id:bst-t-matsue:20210818120711p:plain

  • 設定の詳細

    • 設定の名前はわかりやすいものを入力

    • ログの記録は別に要らないので不要

  • Slackチャンネル

    • 投稿したいチャンネルに併せてパブリックかプライベートを指定

    • パブリックならチャンネル名を入力しようとすると補完されるので直ぐにわかると思います

f:id:bst-t-matsue:20210818120749p:plain

先程作ったSNSトピックがあるリージョンを指定。とりあえず東京で。

ここまで出来たら

SNS→Chatbot→Slackまで出来たのであとはAlarmの設定のみ

アラームの設定

アラームの作り方は割愛。
好きな閾値で好きなリソースを監視しましょう。

ここではアクションについてのみ説明します。

f:id:bst-t-matsue:20210818120830p:plain

  • トリガーをOKアラーム状態の2つ設定しています

    • 理由はアラーム時と復帰時の両方に通知が来て欲しい為

  • SNSトピックの選択

    • 既存のSNSトピックを選択を選び

    • 先程作ったSNSの名前を選択

作業以上です!

テストでアラート発砲

テストしないと不安なので早速テスト。
aws cliからAlarmのステータスを変更出来るのでcli叩きましょう。

最近はローカルでcli叩くのもアレですよね。ってことで CloudShell。

 

f:id:bst-t-matsue:20210818234329p:plain

aws cloudwatch set-alarm-state --alarm-name "アラームの名前" --state-value "ALARM" --state-reason "理由"

というわけで実行すると、slackへ通知が来ます

f:id:bst-t-matsue:20210818121117p:plain

バッチリOKですね

 

まとめ 

cloudwatchからchatbotを使うことでslackへの通知が非常に簡単に出来ました。
他にもメトリックの画像も流してくれるのもありがたいと感じました。

アラートの検知をお手軽に実施したいという時の参考になれば幸いです。