バイセル開発部の松榮です。
コロナでなかなか外出できないので友人とも長く会えてないので
早くこのコロナが落ち着くといいなと切に願ってます。
今回はAWSのAlarmをslackで通知を受け取るという設定をしました。
(設定が漏れていて検知が出来なかったので改めて設定したという話しです)
やりたい事
RDSのCPUの使用率上昇の検知をslack上に流したい
構成イメージ
手順
-
通知するチャンネルを用意
-
AWS SNSの設定
-
AWS Chatbotの設定
-
CloudWatch アラームの設定
-
テストでアラート発砲
詳しい説明
SNSの設定
ここで気をつけるのはスタンダードを設定する事
それ以外は気にする所はありません。
Chatbotの設定
まずはSlackの登録が出来てない場合はslackの設定をします
画面に従って進めるだけで難しい事は何もないです。(2,3分で終わります)
クライアントが出来たらチャンネル接続
-
設定の詳細
-
設定の名前はわかりやすいものを入力
-
ログの記録は別に要らないので不要
-
-
Slackチャンネル
-
投稿したいチャンネルに併せてパブリックかプライベートを指定
-
パブリックならチャンネル名を入力しようとすると補完されるので直ぐにわかると思います
-
ここまで出来たら
SNS→Chatbot→Slackまで出来たのであとはAlarmの設定のみ
アラームの設定
アラームの作り方は割愛。
好きな閾値で好きなリソースを監視しましょう。
ここではアクションについてのみ説明します。
-
トリガーをOKとアラーム状態の2つ設定しています
-
理由はアラーム時と復帰時の両方に通知が来て欲しい為
-
-
SNSトピックの選択
-
既存のSNSトピックを選択を選び
-
先程作ったSNSの名前を選択
-
作業以上です!
テストでアラート発砲
テストしないと不安なので早速テスト。
aws cliからAlarmのステータスを変更出来るのでcli叩きましょう。
最近はローカルでcli叩くのもアレですよね。ってことで CloudShell。
aws cloudwatch set-alarm-state --alarm-name "アラームの名前" --state-value "ALARM" --state-reason "理由"
というわけで実行すると、slackへ通知が来ます
バッチリOKですね
まとめ
cloudwatchからchatbotを使うことでslackへの通知が非常に簡単に出来ました。
他にもメトリックの画像も流してくれるのもありがたいと感じました。
アラートの検知をお手軽に実施したいという時の参考になれば幸いです。