1. はじめに
ロジックアプリで自動化を検討する際に、何かのトリガーに自動で Log Analytics workspace に Kusto クエリーを送って通知したいニーズがあると思います。おそらく、以下のようなニーズでこの記事を観ている方がいらっしゃるのではないかと思います。
- 監査目的に、定期的に監査クエリーを実行して結果を担当部門に通知する
- Azure リソースの状態遷移時に、Azure アクティビティログに対してクエリーを自動発砲して通知する
- Microsoft Sentinel のインシデントトリガーを用いて、セキュリティインシデント時にエンティティの履歴を検索して抽出する
本記事ではロジックアプリの作り方、通知方針についてご紹介いたします。
2. 方法
2023.7 現在、ロジックアプリから Log Analytics に自動クエリーするコネクタとしては以下の二通りになります。
コネクタ | 内容 | 通知先 |
---|---|---|
クエリを実行して結果を一覧表示する V2 | - KQL を実行し、結果を JSON として取得する - JSON (Text) として受信するので、後段の通知先へ整形し易い |
Teams メール ITSM 基盤など |
クエリを実行して結果を視覚化する V2 | - KQL を実行し、結果をイメージ (jpg) として受け取る - イメージは base64 形式 - サイズが大きくなるため、Teams コネクタに貼り付けが出来ない |
O365 コネクタなど |
3. 詳細
3.1 「クエリーを実行して結果を一覧表示する V2」を用いる
概要
ロジックアプリの構成例
Teams への通知例
3.2 「クエリを実行して結果を視覚化する V2」 を用いる
概要
- こちらはクエリー結果をイメージ化 (jpg) するコネクタです。
- base64 エンコードされて値が得られますが、対応する通知先を考慮して用いる必要があります。
- 2023.7 現在、Microsoft Team コネクタは 28KB の制約があります。
- 画像通知を Teams に送りたいところなのですが、基本的にコネクタ経由は無理のようです。
ロジックアプリの構成例
- ロジックアプリのフローとしては、以下のように設定しています。
メール通知例
-
以下はロジックアプリで実行したイメージ例です。
-
メール例
-
添付ファイル例(コネクタによってイメージ化された KQL クエリー結果)
4. まとめ
以上、ロジックアプリでクエリー発砲する方法をまとめてみました。
イメージ化は見栄えが良いので Teams 投稿などに用いたいところですが、現在のコネクタ制約が残念なところですね。将来の改善を期待したいところです。監視トリガーの際に自動クエリー発砲することで、運用監視の一次作業が終わるような活用を皆様ご検討いただければと思います。
*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。