📈

SlackからCloudWatch メトリクスを確認したい

2023/09/21に公開

こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。

AWS Expert Online for JAWS-UG#29 Amazon CloudWatch でできる n 個のこと に参加しました。
CloudWatch 使い慣れている気になっていましたが、知らない機能、便利な機能がたくさんあり、とても参考になりました。

やってみること、やりたいこと

AWS サポート エキスパート 2名の方に CloudWatch の便利機能を紹介してもらったのですが、そのなかで特に気になった機能があるので試してみます。
それは Chatbot から CloudWatch ダッシュボードを表示する機能です。調べてみたら 2023年5月22日 にリリースされたようです。

やってみた

環境構築してみます。公式の Getting started with AWS Chatbot に書いてある手順通り進めればOKです。

SNS Topic 作成

スタンダードタイプでトピックを作成します。Chatbot は FIFO には対応していません。マネコンから作ると FIFO がデフォルトチェックになっているので気を付けてください。

image

Chatbot クライアント設定

Chatbot のクライアントを作ります。今回は Slack です。Chatbot で使うワークスペースに予めログインしておいてください。社内ポリシーによっては Slack 管理者の協力が必要かもしれません。事前にご確認ください。

image

Slack チャンネル設定画面中に SNS トピックを指定する箇所があります。前の手順で作ったトピックを指定します。

image

テストメッセージ送信

Chatbot クライアント設定が完了したらテストメッセージを送信しておきます。
設定したクライアント画面を開くと テストメッセージを送信 ボタンがありますので、こちらをクリックします。
以下のようなメッセージが Slack に飛んでくると思います。送信されない場合はどこかが誤っているので修正します。

AWS Chatbot Notification | Test Message | Account: xxxxxxxxxxxx
This is a test message from Chatbot configuration: RyoYoshii_sandbox sent to SNS topic: RyoYoshii_chatbot.
If the configuration has more than one SNS topic specified, you should see a test message for each one. If any are missing, visit Troubleshooting in the AWS Documentation.

CloudWatch ダッシュボード作成

Slack でメトリクスを表示するために CloudWatch ダッシュボードを作ります。
Slack で表示するためというよりは、日々の運用で活かすためにダッシュボードを作りましょう。

今回は ECS クラスターの CPU とメモリ使用率をブログ用に作ってみました。

img

Slack からダッシュボードを呼ぶ

作成したダッシュボードを Slack から呼び出してみます。
Slack チャンネルには AWS Chatbot アプリが追加されているはずです。このアプリが AWS とのインターフェイスになっています。
ダッシュボードを呼び出すコマンドは以下です。

@aws cloudwatch list-dashborads --region リージョン --dashboard-name-prefix ダッシュボード名

リージョン指定があったり少々長いコマンドです。毎回これを打つのは面倒なのでエイリアス登録して短く覚えやすいコマンドにしておきましょう。
alias create コマンドでエイリアスを登録します。

@aws alias create show-cwdb cloudwatch list-dashborads --region リージョン --dashboard-name-prefix ダッシュボード名

エイリアス実行は run エイリアス名 です。

@aws run show-cwdb


スレッドで Chatbot とやりとりが開始します。間違いや追加パラメータが無ければ [Run] command をクリックします。

img



ダッシュボードが見つかりました。show をクリックします。

img



ダッシュボード上のメトリクス2つがドロップダウンリストに出ました。 CpuUtilized を選んでみます。

img



メトリクスが表示されました!
表示する時間、メトリクス期間、統計を画面下部で選択できます。欲しい情報に合わせて変更しましょう。

img

まとめ

サービスの異常、または、異常になりそうな可能性を検知した際に Slack 上から簡単にメトリクスを確認できるのは便利です。
CloudWatch を開いてスクショを Slack に貼る、といった手間をかけずに関係者に対してメトリクスを示すことができるも Good です。

Discussion