Azure Monitorのメトリックアラートをロジックアプリを使ってSlack通知
Azure MonitorのメトリックアラートをLogic Appを使ってSlackに通知してみました。
色々なやり方があるかと思いますが、今回は以下の感じで実施してみました。
-
-
- Azure Monitorで仮想マシンのCPU使用率を監視しCPU使用率が80%超えたらアラート
- Azure Monitorのアクショングループを利用してSlackへ通知
- アクショングループの指定はロジックアプリを指定
- ロジックアプリでAzure Monitorからアラートを受信しSlackへの通知する設定
-
Azure Logic Appsを作成
まず最初にロジックアプリを作成します。
作成手順 | |
ロジックアプリのメニューで追加(Consumption)を選択します |
![]() |
ロジックアップの作成で設定を行います。
設定する値の入力が完了したら確認および作成をクリックします。 |
![]() |
確認画面が表示されます。内容を確認し問題が無ければ作成をクリックします。これで作成作業は完了です。
ロジックアプリデザイナーを使ってメトリクスアラートをSlackへ通知するロジックアプリを作成
ロジックアップデザイナーを使って作成していきます。
作成手順 | |
ロジックアプリデザイナーのメニューを選択すると一般的なトリガーで開始するという項目が表示されます。 Azure Monitorのアクショングループで指定する場合はHTTP要求の受信時になります。選択しデザイナーでの設定作業を開始します。 |
![]() |
HTTP要求の受信時の設定画面が表示されます。 サンプルのペイロードを使用してスキーマを生成するを選択する。 |
![]() |
サンプルペイロードですが、今回はこちらのURLのものを利用しました。 サンプルペイロードを貼り付けたら完了をクリックします。 ※汎用的なサンプルペイロードもあり、こちらを利用しても設定可能です。表示したい項目によって選択をして下さい。 |
![]() |
要求本文のJSONスキーマが作成されていれば設定が完了です。 |
![]() |
これでトリガーの設定は完了です。新しいステップをクリックします。 |
|
Slackへの通知する為のアクションを作成します。 Slackの投稿メッセージを選択します。 |
![]() |
Slackのログイン画面が表示されますのでSlackへログインします。Slackのログインは通知するワークスペースに対して行います。
|
![]() |
Slackへログインが完了するとLogic-Appsアクセス許可が表示されます。許可するを選択します。 |
![]() |
投稿先のSlackのチャネルを選択します。 メッセージテキスト欄を選択します。 |
![]() |
選択できる項目が表示されます。通知したい内容を選択します。選択項目で何が表示されるかは、ペイロードの内容を見て確認します。 |
![]() |
今回はこんな感じで作ってみました。 | ![]() |
設定が終わったら、Logic Appsデザイナーで保存します。 |
![]() |
これでLogic Appの設定は完了です。
Azure MonitorでLogic Appsを呼び出すアクショングループを作成する
Azure Monitorのアクショングループを作成します。
作成手順 | |
モニターのメニューでアラートを選択します。 アクションの管理を選択します。 |
![]() |
アクショングループの追加を選択します。 | ![]() |
アクショングループの作成になります。 リソースグループ名、アクショングループ名、表示名を適時設定し次へをクリックします。
|
![]() |
Slackへの通知はアクションでの設定になります。今回は何も設定せずに次へクリックし進みます。(Mail通知等も一緒に行いたい場合は設定して下さい。) |
![]() |
アクションの設定になります。 アクションの種類でロジックアプリを選択します。 |
![]() |
作成したロジックアプリを選択します。 今回は”共通の警告スキーマを有効にします”はいいえを選択します。 ※ペイロードにより”共通の警告スキーマを有効にします”の設定は異なります。 例えばこちらのような汎用的なペイロードを選択した場合は、”共通の警告スキーマを有効にします”は”はい”を選択します。 |
![]() |
名前を入力し確認および作成をクリックします。 |
![]() |
確認画面で問題がない事を確認後に作成をクリックします。 |
![]() |
Azure Monitorを設定する
今回はAzure VMのCPU使用率をサンプルに設定を実施してみます。
作成手順 | |
モニターのメニューでアラートを選択します。 新しいアラートルールを選択します。 |
![]() |
アラートルールの作成が表示されます。 リソースの選択をクリックします。 |
![]() |
リソースの選択が表示されます。 監視対象の仮想マシンにチェックを入れて完了をクリックします。 |
![]() |
次にアラートの発出条件の設定を行います。 条件の追加をクリックします。 |
![]() |
シグナルロジックの構成になります。 今回はCPU使用率の設定を行いますので、Percentage CPUを選択します。 |
![]() |
引き続きシグナルロジックの構成で実際のアラート設定を行います。 今回は以下の条件で実施してみました。
※今回は検証なので、すぐ結果が分かるように1分間隔での監視にしています。 |
![]() |
引き続き、アクショングループの設定を行います。 アクショングループの追加をクリックします。 |
![]() |
アクショングループのリストが表示されますので、先ほど作成したアクショングループ(ロジックアプリ)を選択します。 |
![]() |
最後にアラートルールの詳細設定を行います。アラートルール名を入力後、アラートルールの保存先リソースグループ、重要度を選択します。 設定が終わったらアラートルールの作成をクリックします。 |
![]() |
これでアラートルールの作成が完了です。
実際にCPU使用率アラートを発生させてみる
今回はCent OSのAzure VMを利用して、CPU使用率を上昇させてみます。今回はシンプルにyesコマンドで実施してみました。
Azure VM上で以下のコマンドを実行します。
[root@test-vm ~]#yes >> /dev/null |
CPU使用率が上昇すると、以下のアラートがSlackのチャネルへ通知されます。
Slack通知内容 | |
アラート発生時 (CPU使用率がしきい値を上回った場合) |
メトリクスアラート |
アラート収束時 (CPU使用率がしきい値を下回った場合) |
メトリクスアラート メトリクス名:Percentage CPU |
同様にLogAnalyticsのクエリ結果を通知する事も可能です。