AzureのアラートをSlackに通知する方法

こんにちは。

Azureのサービスでは、メモリの使用率などが設定した閾値を超えたときや下回ったときに通知できるサービスが備わっています。
この記事ではCentOSにアラート設定をして、そのアラートをSlackに通知方法をご紹介します。

Azureのアラートはwebhookに対応しており、Logic Appでwebhookを受け、それをslackに流します。

大まかな流れとして

  1. アラート検知
  2. Logic Apps
  3. slack

です。

 

事前準備

・Slackに通知用のChannelを作成しておく。
・監視対象のリソースの「監視」を有効にしておく。

SS020

「監視」はリソース作成後でも有効化できます。
https://docs.microsoft.com/ja-jp/azure/virtual-machines/virtual-machines-linux-vm-monitoring

事前準備が終わったら設定していきます。

 

Logic Appの設定

設定上の都合でLogic Appの設定から行います。

Azure Portal から「Logic Apps」を新規で作成します。
SS010

 

デプロイメントが成功したら、「Logic Apps デザイナー」を開き、「空のLogicApp」を選択します。
SS011

 

トリガーは「要求」を選択します。
SS018

「要求本文の JSON スキーマ」は、このような便利なサイトがあるのでこちらから作成します。
http://jsonschema.net/

 

jsonschema.net」の左側の「JSON」の部分に次のサイトのPayload schemeを貼り付けます。

https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/insights-webhooks-alerts

 

そして、「Generate Scheme」を選択すると、JSON スキーマを作成してくれます。

設定はデフォルトのままで大丈夫です。

こんな感じです。
SS017

この画面右側のJSON スキーマを「Logic Apps デザイナー」の「要求本文の JSON スキーマ」に貼り付けます。

 

Slackの設定

次に新しいステップでslackを選択して、接続します。

Channel名は「azure」
メッセージテキストは次のようにしました。

SS019

MetricNameは、監視する内容の名前
statusは、Alertのステータス
resourceNameは監視対象のリソース名

です。

詳しくは「Configure a webhook on an Azure metric alert」をご覧ください。

 

「詳細なオプションを表示する」を選択するとBotの名前やBotのアイコンなどを設定することができます。

保存をするとHTTP POSTのURLをが生成されるので、これをメモしておきます。

 

アラートの設定

次にアラートの設定をします。

設定は簡単で、Azure Portalから監視したいリソースを選択して、「監視中」の「アラートルール」を選択します。
SS021

 

「アラートの追加」を選択して、必要事項をこんな感じで入力します。
SS023

期間は、どのくらいの期間メトリックルールが適応された後にトリガーが引かれるかです。
この場合、閾値が1を5分間超えていたらトリガーが引かれます。

 

通知手段は、メールとWebhookがあります。Webhookに先程Logic Appで生成した「HTTP POSTのURL」を貼り付けます。
SS025

以上で設定が完了です。

 

これでアラートの条件が満たされたら、slackに通知が来るはずです。

SS026

 

因みに閾値がより下回った場合にも通知が来ます。

SS028

終わり。

 

まとめ

設定はとても簡単でした。Azureルールに合致したらWebhookで自動的に何かアクションできるので、これ以外にもいろいと活用できそうですね。

こちらもどうぞ

Logic Appsを使って、Backlogとslackを連携してみた。

Be the first to comment

コメント投稿

Your email address will not be published.


*