この記事では、ロジック アプリを作成し、Azure Monitor アラートと統合する方法について説明します。 Azure Logic Apps を使用すると、統合のためにワークフローをビルドおよびカスタマイズできます。 Logic Apps を使用してアラート通知をカスタマイズします。 次のようにすることができます。
独自のメールの件名と本文の形式を使用して、アラート メールをカスタマイズします。
影響を受けるリソースのタグを検索するか、ログ クエリ検索結果をフェッチして、アラート メタデータをカスタマイズします。 アラート データを含む検索結果行にアクセスする方法については、次を参照してください。
Outlook、Microsoft Teams、Slack、PagerDuty などの既存のコネクタを使用して、外部サービスと統合します。 独自のサービス用にロジック アプリを構成することもできます。
この例では、一般的なアラート スキーマを使用してアラートから詳細を送信するロジック アプリを作成します。
ロジック アプリを作成します
Azure portal で、新しいロジック アプリを作成します。 ページの上部にある 検索 バーに「 Logic Apps 」と入力し、ドロップダウン メニューから選択します。
[ロジック アプリ] ページで [追加] を選択します。
[従量課金] で、[マルチテナント] を選択します。
次のページで、ロジック アプリの サブスクリプション と リソース グループ を選択します。
ロジック アプリ名を設定し、リージョンを選択します。
[確認と作成]>[作成] の順に選択します。
デプロイが完了したら、[リソースに移動] を選びます。
トリガーを設定する
[ ロジック アプリ ] ページで、上部のアクション バーの [編集] を選択します。
[ トリガーの追加] を選択し、[ HTTP 要求が受信されたとき] を検索して、検索結果から選択します。
次の JSON から共通アラート スキーマを [要求本文の JSON スキーマ] フィールドに貼り付けます。
{ "type": "object", "properties": { "schemaId": { "type": "string" }, "data": { "type": "object", "properties": { "essentials": { "type": "object", "properties": { "alertId": { "type": "string" }, "alertRule": { "type": "string" }, "severity": { "type": "string" }, "signalType": { "type": "string" }, "monitorCondition": { "type": "string" }, "monitoringService": { "type": "string" }, "alertTargetIDs": { "type": "array", "items": { "type": "string" } }, "originAlertId": { "type": "string" }, "firedDateTime": { "type": "string" }, "resolvedDateTime": { "type": "string" }, "description": { "type": "string" }, "essentialsVersion": { "type": "string" }, "alertContextVersion": { "type": "string" } } }, "alertContext": { "type": "object", "properties": {} } } } } }
(省略可能)。 アラート通知をカスタマイズするには、アラートが発生した、影響を受けているリソース (リソースのタグなど) に関する情報を抽出します。 その後、これらのリソース タグをアラート ペイロードに含め、通知を送信するための論理式で情報を使用できます。 この手順を実行するには、次のことを行います。
- 影響を受けるリソース ID の変数を作成します。
- さまざまな要素 (サブスクリプション、リソース グループなど) を使用できるように、リソース ID を 配列に分割します。
- Azure Resource Manager コネクタを使用して、リソースのメタデータを読み取ります。
- リソースのタグをフェッチします。このタグは、ロジック アプリの後続の手順で使用できます。
[+]>[アクションの追加] の順に選んで、新しいステップを挿入します。
[検索] フィールドで検索し、[変数の初期化] を選択します。
[名前] フィールドに、変数の名前 (AffectedResources など) を入力します。
[種類] フィールドで、[配列] を選択します。
[ 値 ] フィールドで 、fx を選択して関数ポップアップ ウィンドウを開きます。 上部の空のフィールドに文字列
split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/')
を入力し、[ 追加] を選択します。[+]>[アクションの追加] の順に選んで、別のステップを挿入します。
[検索] フィールドで、Azure Resource Manager を検索して選択します>詳細については>リソースの読み取りを参照してください。
認証方法とサインインを選択します。
[リソースの読み取り] アクションのフィールドに、
AffectedResource
変数の配列値を設定します。 各フィールドで、フィールド内を選択し、下にスクロールしてカスタム値を入力します。 fx を選択して関数ポップアップ ウィンドウを開きます。 上部の空のフィールドに、このテーブルの対応する文字列を入力し、[ 追加] を選択します。フィールド 文字列値 サブスクリプション variables('AffectedResource')[2]
リソース グループ variables('AffectedResource')[4]
リソース プロバイダー variables('AffectedResource')[6]
短いリソース ID concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
クライアント API バージョン リソースの種類の API バージョン リソースの種類の API バージョンを確認するには、リソースの概要ページの右上にある JSON ビュー リンクを選択します。
[リソース JSON] ページが開き、ページの上部に [ResourceID] と [API バージョン] が表示されます。
動的コンテンツには、影響を受けたリソースのタグが含まれるようになりました。 これらのタグは、次の手順で説明するように通知を構成するときに使用できます。
アクションを設定する
[+]>[アクションの追加] の順に選んで、新しいステップを挿入します。
[検索] フィールドで、[ 電子メールの送信 (V2)] を検索します。
Office 365 Outlook で、アクションの一覧から [メールの送信 (V2)] を選択します。
接続の作成を求めるメッセージが表示されたら、Office 365 にサインインします。
[宛先] フィールドにアラートの送信先のメール アドレスを入力します。
静的テキストを入力し、[動的コンテンツ] 一覧からフィールドを選択してアラート ペイロードから取得したコンテンツを含めることで、[件名] フィールドに件名のテキストを作成します。
次に例を示します。
- アラート:[動的コンテンツ] 一覧から [alertRule] を選択します。
- 重大度:重大度 を 動的コンテンツ 一覧から選択します。
- 条件あり:[動的コンテンツ] 一覧から [monitorCondition] を選択します。
静的テキストを入力し、[動的コンテンツ] 一覧からフィールドを選択してアラート ペイロードから取得したコンテンツを含めることで、メールの本文を作成します。
次に例を示します。
- 監視条件:[動的コンテンツ] ボックスの一覧から monitorCondition を選択します。
- 発生日:[動的コンテンツ] 一覧から [firedDateTime] を選択します。
- 影響を受けるリソース:動的コンテンツ 一覧から alertTargetIDs を選択します。
[保存] を選択します。
指定したアドレスに電子メールを送信するロジック アプリを作成し、それをトリガーしたアラートの詳細を示しました。
次の手順では、ロジック アプリをトリガーするアクション グループを作成します。
アクション グループを作成する
ロジック アプリをトリガーするには、アクション グループを作成します。 次に、そのアクション グループを使用するアラートを作成します。
[Azure Monitor] ページに移動し、左側のペインから [アラート] を選択します。
[アクション グループ]>[作成] を選択します。
[サブスクリプション]、[リソース グループ]、[リージョン] の値を選択します。
[アクション グループ名] と [表示名] に名前を入力します。
[Actions](アクション) タブを選択します。
[アクションの種類] の [アクション] タブで、[ロジック アプリ] を選択します。
[ロジック アプリ] セクションで、ドロップダウンからロジック アプリを選択します。
[共通アラート スキーマを有効にする] に [はい] を設定します。 [いいえ] を選択すると、使用するアラート スキーマがアラートの種類によって決まります。 アラート スキーマの詳細については、コンテキスト固有のアラート スキーマに関する記事を参照してください。
[OK] を選択します。
[名前] フィールドに名前を入力します。
[確認と作成]>[作成] の順に選択します。
アクション グループをテストする
[Azure Monitor] ページに移動し、左側のペインから [アラート] を選択します。
アクション グループに移動し、ロジック アプリを選択します。
上部のアクション バーで [ テスト ] を選択します。
[サンプルの種類を選択] ドロップダウンからサンプル アラートの種類を選択します。
[Test] を選択します。
指定したアカウントに次のメールが送信されます。
アクション グループを使用してルールを作成する
いずれかのリソースのアラート ルールを作成します。
ルールの [ アクション ] タブで、[ アクション グループの使用] を選択します。
一覧からアクション グループを選択します。
[選択] を選択します。
ルールの作成を完了します。