chakimar Blog

AWS Chatbotを使ってCloudWatch Logsのエラーログをslackに通知する

February 28, 2020

Chatbotができる前はLambdaを作って連携する必要があったが、Chatbotのおかげで設定だけで対応できるようになった。

アーキテクチャ

architecture

手順

  1. SNS Topicの作成
  2. Chatbotの設定
  3. メトリクスフィルターの作成
  4. アラームの作成

SNS Topicの作成

SNSのコンソールからトピックの作成を行う

sns console

名前を入力して、それ以外はそのままでOK

create topic01

トピックを作成したらARNをメモしておく

create topic02

Chatbotの設定

chatbotを初めて使う場合はクライアント設定を行う。2回目以降は新しいチャネル設定を行う。

chatbot console

Slackを選択 chatbot setting01

ワークスペースを選んで許可する chatbot setting02

設定名を入力する。ログの記録はお好みで。 chatbot setting03

チャンネルを選択する chatbot setting04

ロールを追加する ポリシーテンプレートは 通知のアクセス許可だけでOK chatbot setting05

先ほど作成したSNS Topicを選択する chatbot setting06

slackの該当チャネルで /invite @awsコマンドを入力する chatbot setting07

メトリクスフィルターの作成

監視したいロググループを選択しメトリクスフィルターを作成 create metrics filter01

フィルタパターンに ERRORなどの監視したい文字列を入力する create metrics filter02

メトリクス名を入力し作成 create metrics filter03

アラームの作成

メトリクスの画面からアラームを作成 create alarm01

期間を好みに変える create alarm02

しきい値の種類を 静的
条件を 以上
よりもを 1
欠落データの処理を 欠落データを適正(しきい値を超えていない)として処理にする create alarm03

アラーム状態トリガーを アラーム状態、 SNSトピックの選択を トピックARNの使用、 通知の送信先に作成したSNS TopicのARNを入力する。他は変更しなくて良い。 create alarm04

アラーム名を入力してアラームを作成する create alarm05

slackメッセージのサンプル

該当メッセージがログに出力されると以下のようなメッセージが飛んでくる slack message sample