はじめに
ClowdwatchからSlackへ通知する方法はいくつかあるが、どれもコーディングを必要とする。
代表的な例は、ClowdwatchとLambdaを使用してSlackへ通知する方法である。
Lambdaを使用して通知を送ると通知の文面などをカスタマイズできるが、そこまでの必要がない場合、
Chatbotを使用することでコーディングなしでClowdwatchの通知を送る事ができる。
今回の例では、EC2インスタンスのCPU使用率が閾値を超えた場合にアラームを飛ばすように実装する
### Chatbot設定
1.Chatbotページからチャットクライアント「Slack」を選択
2.Slackにリダイレクトされるので、使用したいSlackのチャンネルを選択して「Allow」
5.アクセス許可では任意のロール名を指定する(指定したいロールがある場合は、IAMロールのプルダウンから選択する)
6.Chatbot管理画面でチャネルの作成ができたことを確認
Amazon SNSの設定
Amazon SNSはClowdwatchとSlackを連携する機能で、Clowdwatchのアラームを拾ってChatbotへ渡して上げることができる。
2.スタンダードを指定し、名前を決定する
他の項目は特に指定がなければデフォルトのままで良い
3.トピックが作成されたので、トピックに紐づくサブスクリプションの作成を行う
4.プロトコルを指定
直接Slackを指定したいができないため、仮でEメールを選択し、メールアドレスを入力する。(Eメール認証があるため、仮であっても正しいメールアドレスを入れること)
5.届いたメールでメール認証を行い、AmazonSNSでサブスクリプションが作成されたことを確認する
ChatbotにSNS通知を紐付ける
1.Chatbotページに行き、先程作成したチャネル名をクリックする(この例だとslack-alert)
2.右上「編集」ボタンから編集ページへ遷移する
3.通知-オプションで先程作成したSNSトピックを選択する(この例だとclowdwatch-slack-sns)
Clowdwatch
アラームの作成
Clowdwatchからアラームを作成したいメトリクスを指定しても良いが、項目が沢山あり、探すのが大変なので、今回はEC2からメトリクスの作成を行う。
1.EC2画面でインスタンスを選択し、下部モニタリングタブからCPU使用率の右上3点・・・をクリック、「メトリクスで表示」を選択
3.Clowdwatchのメトリクスと条件の指定に遷移するので、期間、閾値などを指定する
今回の例では、5分間隔でチェックを行い、CPU使用率が10%以上のときにアラームを飛ばすように設定する
6.プレビュー画面で設定が間違っていなければ作成する