はじめに
Power Platform推進チームの鈴木です。 本日はLogicAppsを使って、AzureMonitorによるサーバアラートを受け取る処理を検証してみたいと思います。 Power Platform推進チームがなんでLogic Apps?と思われるかもしれませんが、Power Platformの一つであるPower AutomateとLogicAppsはどちらもデザイナー画面を中心にノーコード・ローコードで自動化や色々なサービス(コネクタ)との連携を実現できるシロモノです。 私が担当しているお仕事ではLogicAppsを使うことが多いので、今回はLogicAppsによる自動化処理について、学習してみます。
やりたいこと
- AzureMonitorでWindowsサーバのEventログを採取する
- Eventログを定期的に検索し、エラーログだけLogicAppsへ転送する
- 転送したエラーログをLogicAppsで二次加工し、別の処理に活用する
やってみる
さっそく以下の順番で実施します。
なお、AzureMonitorによるEventログは、事前にAzureMonitorのデータ収集ルールで設定してあります。
1.LogicAppsを作成し、HTTP受信トリガーのワークフローを作成する
2.アクショングループを作成する
3.アラートルールを作成する
1.LogicAppsを作成し、HTTP受信トリガーのワークフローを作成する
AzurePortalからLogicAppsを作成します。今回の検証は、消費プランを選択しました。
次にデザイナー画面でHTTP受信トリガーを作成していきます。デザイナーのトップ画面から[HTTP要求の受信時]を選択します。
HTTP受信トリガーが作成されました。HTTP受信トリガーでは、任意のHTTPリクエストを受け取ることが可能です。
LogicAppsでHTTPリクエストを受け取るためには、リクエストに応じたJSONスキーマを事前に定義しておく必要があります。
今回は、AzureMonitorのログアラートを受け取るため、Microsoftが用意しているLog Alert V2の共通スキーマを用います。
リンク先のJSONサンプルをコピーしたら、HTTP受信トリガーの[サンプルのペイロードを使用してスキーマを生成する]ウインドウを開き、JSONサンプルを張り付けてください。 自動的にリクエスト本文のスキーマが生成されます。
設定したら、一度ワークフローを保存します。
こうすることでHTTP受信トリガーには、HTTPリクエストを受け取るためのURLが生成されます。
2.アクショングループを作成する
次にアクショングループを作成します。
アクショングループは、AzureMonitorがキックするアラートをメールやSMSなどのアラートアクションに変換する、ハブのような役割を持ちます。
AzurePortalからモニター画面を開き、左メニューから[アラート]を選択します。
中央ペインから[アクショングループ]を選択します。
[作成]ボタンからウィザードに従い、アクショングループを作成していきます。 設定する項目のポイントは以下の通りです。
- [通知]タブは選ばない
- [アクション]タブで、作成済みのLogicAppsを選択する
- 共通アラートスキーマを有効にする
ウィザードに従い、アクショングループ作成が完了すると、下図のようにアクショングループ一覧に作成したアクショングループが表示されます。
3.アラートルールを作成する
最後にアラートルールを設定します。
AzurePortalからモニター画面を開き、左メニューから[アラート]を選択。中央ペインから[アラートルール]を選択します。
[作成]ボタンからウィザードに従い、アラートルールを作成していきます。 設定する項目のポイントは以下の通りです。
[スコープ]タブでは、Eventログを格納したLog Analyticsワークスペースを指定
[アクション]タブでは、作成済みのアクショングループを選択する
ウィザードに従い、アラートルール作成が完了すると、下図のようにアラートルール一覧に作成したアラートルールが表示されます。
動かしてみる
ここまで設定をすると、アラートルールで設定した時間間隔に従って、アラートログがLogicAppsへ飛ぶようになります。
※もし、LogicAppsがワークフロー結果が失敗となる場合は、HTTP受信トリガーのJSONスキーマ設定を見直してみてください。
まとめ
今回は、LogicAppsでAzureMonitorのアラートルールを受け取る方法を検証しました。 受け取ったアラートルールは、アラート情報を整理し、LogicAppsで二次加工することにより、TeamsやSharePointなどMicrosoft365への連携も可能です。 次回の投稿では、受け取ったアラートルールの二次加工にフォーカスを当てて、検証してみたいと思います。