チュートリアル: Metrics Advisor で異常通知を有効化する

重要

2023 年 9 月 20 日以降は、新しい Metrics Advisor リソースを作成できなくなります。 Metrics Advisor サービスは、2026 年 10 月 1 日に廃止されます。

このチュートリアルでは、次の作業を行う方法について説明します。

  • Metrics Advisor でフックを作成する
  • Azure Logic Apps を使用して通知を送信する
  • Microsoft Teams 宛てに通知を送信する
  • SMTP サーバー経由で通知を送信する

前提条件

Metrics Advisor リソースを作成する

Metrics Advisor の機能を利用するには、Azure portal で Metrics Advisor リソースを作成して、Metrics Advisor インスタンスをデプロイする必要があります。

Metrics Advisor でフックを作成する

Metrics Advisor におけるフックとは、顧客がメトリックの異常にサブスクライブし、さまざまなチャンネルを介して通知を送信できるブリッジを指します。 Metrics Advisor には、次の 4 種類のフックがあります。

  • email hook
  • Webhook
  • Teams フック
  • Azure DevOps フック

フックの種類は、それぞれ異常が通知される具体的なチャンネルに対応しています。

Azure Logic Apps、Teams、SMTP で通知を送信する

Azure Logic Apps を使用して電子メール通知を送信する

Metrics Advisor でサポートされている電子メール通知を送信する方法には、2 つの一般的なオプションがあります。 1 つは、Webhook と Azure Logic Apps を使用して電子メール アラートを送信する方法で、もう 1 つは、SMTP サーバーを設定し、それを使用して電子メール アラートを直接送信する方法です。 このセクションでは、使用できる SMTP サーバーをお持ちないお客様にとって使いやすい、最初のオプションに焦点を当てます。

手順 1: Metrics Advisor で Webhook を作成する

Webhook は、Metrics Advisor サービスから使用できるすべての情報のエントリ ポイントであり、アラートがトリガーされたときにユーザー指定の API を呼び出します。 アラートはすべて、Webhook を介してを送信できます。

Metrics Advisor のワークスペースで [フック] タブを選択し、 [フックの作成] ボタンを選択します。 フックの種類として、 [Webhook] を選択します。 必要なパラメーターを入力して、 [OK] を選択します。 詳しい手順については、Webhook の作成に関するセクションを参照してください。

エンドポイント のパラメーターを 1 つ追加で入力する必要がありますが、これは以下の手順 3 を完了した後に行うことができます。

手順 2: 従量課金のロジック アプリ リソースを作成する

従量課金ロジック アプリ ワークフローの例を作成する」の手順に従い、Azure portal で、従量課金ロジック アプリ リソースと空のワークフローを作成します。 ワークフロー デザイナーが開いたら、このチュートリアルに戻ります。

手順 3:[HTTP 要求の受信時] のトリガーを追加する

  • Azure Logic Apps では、定義したワークフローをトリガーするために、さまざまなアクションが使用されます。 このユース ケースでは、[HTTP 要求の受信時] というトリガーを使用します。

  • [HTTP 要求の受信時] のダイアログで、 [サンプルのペイロードを使用してスキーマを生成する] を選択します。

    Screenshot that shows the When an HTTP request dialog box and the Use sample payload to generate schema option selected.

    次のサンプル JSON をテキスト ボックスにコピーして、 [完了] を選択します。

    {
    "properties": {
        "value": {
            "items": {
                "properties": {
                    "alertInfo": {
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "anomalyAlertingConfigurationId": {
                                "type": "string"
                            },
                            "createdTime": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "alertType": {
                        "type": "string"
                    },
                    "callBackUrl": {
                        "type": "string"
                    },
                    "hookId": {
                        "type": "string"
                    }
                },
                "required": [
                    "hookId",
                    "alertType",
                    "alertInfo",
                    "callBackUrl"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
     }
    
  • メソッドとして [POST] を選択し、 [保存] を選択します。 HTTP 要求トリガーの URL が表示されるようになりました。 コピー アイコンを選択してコピーし、手順 1 の エンドポイント に入力します。

    Screenshot that highlights the copy icon to copy the URL of your HTTP request trigger.

手順 4: "HTTP" アクションを使用して次のステップを追加する

Webhook を介してプッシュされるシグナルには、Timestamp、AlertID、ConfigurationID などの限られた情報だけが含まれます。詳細情報は、シグナルで指定されたコールバック URL を使用して照会する必要があります。 このステップでは、詳細なアラート情報に対してクエリを実行します。

  • メソッドとして [GET] を選択します。

  • [URI] の [動的コンテンツ] リストから [CallBackURL] を選択します。

  • [ヘッダー] にキーとして [Content-Type] を入力し、[application/json] の値を入力します

  • [ヘッダー] にキーとして [x-api-key] を入力し、Metrics Advisor ワークスペース内の [API キー] タブをクリックしてこれを取得します。 このステップは、API を呼び出すための十分なアクセス許可がワークフローに付与されていることを確認するために必要です。

    Screenshot that highlights the api-keys

手順 5: "JSON を解析する" 次のステップを追加する

電子メールの内容を簡単に書式設定するためには、API の応答を解析する必要があります。

Note

このチュートリアルでは簡単な例のみを紹介するため、最終的な電子メールの形式 はさらに設計する必要があります。

  • [コンテンツ] の [動的なコンテンツ] リストから [本文] を選択します
  • [サンプルのペイロードを使用してスキーマを生成する] を選択します。 次のサンプル JSON をテキスト ボックスにコピーして、 [完了] を選択します。
{
    "properties": {
        "@@nextLink": {},
        "value": {
            "items": {
                "properties": {
                    "properties": {
                        "properties": {
                            "IncidentSeverity": {
                                "type": "string"
                            },
                            "IncidentStatus": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "rootNode": {
                        "properties": {
                            "createdTime": {
                                "type": "string"
                            },
                            "detectConfigGuid": {
                                "type": "string"
                            },
                            "dimensions": {
                                "properties": {
                                },
                                "type": "object"
                            },
                            "metricGuid": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "properties": {
                                "properties": {
                                    "AnomalySeverity": {
                                        "type": "string"
                                    },
                                    "ExpectedValue": {}
                                },
                                "type": "object"
                            },
                            "seriesId": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            },
                            "value": {
                                "type": "number"
                            }
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "rootNode",
                    "properties"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}

手順 6: "HTML テーブルを作成する" 次のステップを追加する

API 呼び出しから多くの情報が返された場合でも、シナリオによってはすべての情報が有用とは限りません。 アラート 電子メールに含める、必要な項目を選択するようにしましょう。

アラート 電子メールに含める [Timestamp]、[MetricGUID]、および [ディメンション] を選択する HTML テーブルの例を次に示します。

Screenshot of html table example

手順 7: "電子メールを送信する" 最終ステップを追加する

Microsoft によってホストされているものとサードパーティー オファリングの両方に、電子メールを送信するためのオプションがいくつかあります。 お客様は、選択したオプションのテナントまたはアカウントを持っている必要があります。 たとえば、サーバーとして [Office 365 Outlook] を選択する場合などです。 接続と認証を行うためのサインイン プロセスが実行されます。 電子メール サーバーを使用してアラートを送信するための API 接続が確立されます。

電子メールの [本文]、[件名] に含める内容を入力し、[宛先] に電子メール アドレスを入力します。

Screenshot of send an email

次のステップ

次の記事に進み、作成方法を確認します。