次の方法で共有


Logic Apps を使用してアラート通知をカスタマイズする

この記事では、ロジック アプリを作成し、Azure Monitor アラートと統合する方法について説明します。 Azure Logic Apps を使用すると、統合のためにワークフローをビルドおよびカスタマイズできます。 Logic Apps を使用してアラート通知をカスタマイズします。 次のようにすることができます。

  • 独自のメールの件名と本文の形式を使用して、アラート メールをカスタマイズします。

  • 影響を受けるリソースのタグを検索するか、ログ クエリ検索結果をフェッチして、アラート メタデータをカスタマイズします。 アラート データを含む検索結果行にアクセスする方法については、次を参照してください。

  • Outlook、Microsoft Teams、Slack、PagerDuty などの既存のコネクタを使用して、外部サービスと統合します。 独自のサービス用にロジック アプリを構成することもできます。

この例では、一般的なアラート スキーマを使用してアラートから詳細を送信するロジック アプリを作成します。

ロジック アプリを作成します

  1. Azure portal で、新しいロジック アプリを作成します。 ページの上部にある 検索 バーに「 Logic Apps 」と入力し、ドロップダウン メニューから選択します。

  2. [ロジック アプリ] ページで [追加] を選択します。

  3. [従量課金] で、[マルチテナント] を選択します。

  4. 次のページで、ロジック アプリの サブスクリプションリソース グループ を選択します。

  5. ロジック アプリ名を設定し、リージョンを選択します

  6. [確認と作成]>[作成] の順に選択します。

    [ロジック アプリの作成] ページのスクリーンショット。

  7. デプロイが完了したら、[リソースに移動] を選びます。

トリガーを設定する

  1. [ ロジック アプリ ] ページで、上部のアクション バーの [編集] を選択します。

  2. [ トリガーの追加] を選択し、[ HTTP 要求が受信されたとき] を検索して、検索結果から選択します。

    [HTTP 要求が受信されたとき] が強調表示されている [トリガーの追加] メニューのスクリーンショット。

  3. 次の 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": {}
                    }
                }
            }
        }
    }
    

    [要求本文の JSON スキーマ] フィールドが強調表示されている [HTTP 要求を受信したとき] メニューのスクリーンショット。

  4. (省略可能)。 アラート通知をカスタマイズするには、アラートが発生した、影響を受けているリソース (リソースのタグなど) に関する情報を抽出します。 その後、これらのリソース タグをアラート ペイロードに含め、通知を送信するための論理式で情報を使用できます。 この手順を実行するには、次のことを行います。

    • 影響を受けるリソース ID の変数を作成します。
    • さまざまな要素 (サブスクリプション、リソース グループなど) を使用できるように、リソース ID を 配列に分割します。
    • Azure Resource Manager コネクタを使用して、リソースのメタデータを読み取ります。
    • リソースのタグをフェッチします。このタグは、ロジック アプリの後続の手順で使用できます。
    1. [+]>[アクションの追加] の順に選んで、新しいステップを挿入します。

    2. [検索] フィールドで検索し、[変数の初期化] を選択します。

    3. [名前] フィールドに、変数の名前 (AffectedResources など) を入力します。

    4. [種類] フィールドで、[配列] を選択します。

    5. [ ] フィールドで 、fx を選択して関数ポップアップ ウィンドウを開きます。 上部の空のフィールドに文字列 split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/') を入力し、[ 追加] を選択します。

      [変数の初期化] ウィンドウの [パラメーター] タブのスクリーンショット。

    6. [+]>[アクションの追加] の順に選んで、別のステップを挿入します。

    7. [検索] フィールドで、Azure Resource Manager を検索して選択します>詳細については>リソースの読み取りを参照してください

    8. 認証方法とサインインを選択します

    9. [リソースの読み取り] アクションのフィールドに、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 バージョン] が表示されます。

    動的コンテンツには、影響を受けたリソースのタグが含まれるようになりました。 これらのタグは、次の手順で説明するように通知を構成するときに使用できます。

アクションを設定する

[+]>[アクションの追加] の順に選んで、新しいステップを挿入します。

  1. [検索] フィールドで、[ 電子メールの送信 (V2)] を検索します。

  2. Office 365 Outlook で、アクションの一覧から [メールの送信 (V2)] を選択します。

    [メールの送信 (V2)]が強調表示されている [アクションの追加] メニューのスクリーンショット。

  3. 接続の作成を求めるメッセージが表示されたら、Office 365 にサインインします。

  4. [宛先] フィールドにアラートの送信先のメール アドレスを入力します。

  5. 静的テキストを入力し、[動的コンテンツ] 一覧からフィールドを選択してアラート ペイロードから取得したコンテンツを含めることで、[件名] フィールドに件名のテキストを作成します。

    次に例を示します。

    • アラート:[動的コンテンツ] 一覧から [alertRule] を選択します。
    • 重大度:重大度動的コンテンツ 一覧から選択します。
    • 条件あり:[動的コンテンツ] 一覧から [monitorCondition] を選択します。
  6. 静的テキストを入力し、[動的コンテンツ] 一覧からフィールドを選択してアラート ペイロードから取得したコンテンツを含めることで、メールの本文を作成します。

    次に例を示します。

    • 監視条件:[動的コンテンツ] ボックスの一覧から monitorCondition を選択します。
    • 発生日:[動的コンテンツ] 一覧から [firedDateTime] を選択します。
    • 影響を受けるリソース:動的コンテンツ 一覧から alertTargetIDs を選択します。
  7. [保存] を選択します。

    [送信先]、[件名]、[本文] が強調表示されている [電子メールの送信 (V2)]メニューのスクリーンショット。

指定したアドレスに電子メールを送信するロジック アプリを作成し、それをトリガーしたアラートの詳細を示しました。

次の手順では、ロジック アプリをトリガーするアクション グループを作成します。

アクション グループを作成する

ロジック アプリをトリガーするには、アクション グループを作成します。 次に、そのアクション グループを使用するアラートを作成します。

  1. [Azure Monitor] ページに移動し、左側のペインから [アラート] を選択します。

  2. [アクション グループ]>[作成] を選択します。

  3. [サブスクリプション][リソース グループ][リージョン] の値を選択します。

  4. [アクション グループ名][表示名] に名前を入力します。

  5. [Actions](アクション) タブを選択します。

    [アクション グループの作成] ページの [基本] タブのスクリーンショット。

  6. [アクションの種類][アクション] タブで、[ロジック アプリ] を選択します。

  7. [ロジック アプリ] セクションで、ドロップダウンからロジック アプリを選択します。

  8. [共通アラート スキーマを有効にする][はい] を設定します。 [いいえ] を選択すると、使用するアラート スキーマがアラートの種類によって決まります。 アラート スキーマの詳細については、コンテキスト固有のアラート スキーマに関する記事を参照してください。

  9. [OK] を選択します。

  10. [名前] フィールドに名前を入力します。

  11. [確認と作成]>[作成] の順に選択します。

    [アクション グループの作成] ページの [アクション] タブのスクリーンショット。

アクション グループをテストする

  1. [Azure Monitor] ページに移動し、左側のペインから [アラート] を選択します。

  2. アクション グループに移動し、ロジック アプリを選択します。

  3. 上部のアクション バーで [ テスト ] を選択します。

  4. [サンプルの種類を選択] ドロップダウンからサンプル アラートの種類を選択します。

  5. [Test] を選択します。

    アクション グループの詳細の [テスト] ページのスクリーンショット。

    指定したアカウントに次のメールが送信されます。

    [テスト] ページによって送信されたサンプルメールのスクリーンショット。

アクション グループを使用してルールを作成する

  1. いずれかのリソースのアラート ルールを作成します。

  2. ルールの [ アクション ] タブで、[ アクション グループの使用] を選択します。

  3. 一覧からアクション グループを選択します。

  4. [選択] を選択します。

  5. ルールの作成を完了します。

    [アラート ルールの作成] ウィンドウと [アクション グループの選択] ウィンドウの [アクション] タブを示すスクリーンショット。

次のステップ