Azureの料金アラートをSlack通知してみる
はじめに
Azureを使用していて、料金のアラートをメールでなくSlack等のツールに通知できればと思っていたので、その設定を行います。
設定
では早速設定してみます。
設定の概要は以下です。
- Logic Apps でSlackへ通知をするワークフローを作成
- アクショングループを作成
- 料金アラートを作成 + slackへ通知
Logic Apps の作成
Logic Apps を作成し、デザイナー
ページで以下のように設定します。
トリガーに HTTP 要求の受信時
を選択し、パラメーター
に以下の内容を入力します。
{
"properties": {
"data": {
"properties": {
"Budget": {
"type": "string"
},
"BudgetCreator": {
"type": "string"
},
"BudgetName": {
"type": "string"
},
"BudgetStartDate": {
"type": "string"
},
"BudgetType": {
"type": "string"
},
"NotificationThresholdAmount": {
"type": "string"
},
"ResourceGroup": {
"type": "string"
},
"SpendingAmount": {
"type": "string"
},
"SubscriptionId": {
"type": "string"
},
"SubscriptionName": {
"type": "string"
},
"Unit": {
"type": "string"
}
},
"type": "object"
},
"schemaId": {
"type": "string"
}
},
"type": "object"
}
次にアクションで、Slackのメッセージの投稿(V2)
を選択します。
チャンネル名は実際に飛ばしたいチャンネル名を選択し、メッセージテキストは適当に入力します。(以下例)
サブスクリプションのトータルコストが予算を超えました。Azure portal から確認ください。
サブスクリプション: @{triggerBody()?['data']?['SubscriptionName']}
予算: @{triggerBody()?['data']?['Budget']}
閾値: @{triggerBody()?['data']?['NotificationThresholdAmount']}
Action Group の作成
次に、アクショングループを作成します。
アクショングループを適当に作成していただきます。作成の際に「アクションタブ」で先ほど作成した、Logic Apps
を選択します。
作成後、テストを実施します。
作成したアクショングループを選択し、テストで、 課金アラート
を選択し、テストを実施します。
すると、以下のような内容で、Slack
に通知が飛んできます。
予算アラート の作成
最後に予算アラートを作成します。
「コストの管理と請求 -> サブスクリプション -> コスト管理 -> 予算」で新規で作成します。
名前、予算は適当に入力していただき、予算を作成していただきます。次に通知の設定で、以下のように設定します。
アクショングループで先ほど作成した、アクショングループを選択します。
これで作成していただき、予算オーバーするとアラートが飛んできます。
おわりに
予算の設定をしておかないといくら使用しているかがわからなく困るので、これで設定していれば、アラートがSlackに通知されるので、メールで飛ばしていた時よりもわかりやすくなったかなと。。。
また、Teamsを使用していればTeamsに飛ばすこともできるのでLogic AppsでTeamsを設定していただければ通知が飛ぶはずです。
Discussion