webhook を使用してクラシック メトリック アラートが Azure 以外のシステムに通知するように設定するHave a classic metric alert notify a non-Azure system using a webhook

webhook を使用して、後処理やカスタム アクションのために、Azure アラート通知を他のシステムにルーティングすることができます。You can use webhooks to route an Azure alert notification to other systems for post-processing or custom actions. アラートで webhook を使用して、SMS メッセージを送信するサービス、バグのログ記録、チャット/メッセージング サービスを介したチームへの通知、またはその他のさまざまなアクションに対して、アラートをルーティングできます。You can use a webhook on an alert to route it to services that send SMS messages, to log bugs, to notify a team via chat or messaging services, or for various other actions.

この記事では、Azure メトリック アラートで webhook を設定する方法について説明します。This article describes how to set a webhook on an Azure metric alert. また、webhook に対する HTTP POST のペイロードの概要についても説明します。It also shows you what the payload for the HTTP POST to a webhook looks like. Azure アクティビティ ログ アラート (イベントでのアラート) の設定とスキーマについては、「Azure アクティビティ ログ アラートでの webhook の呼び出し」を参照してください。For information about the setup and schema for an Azure activity log alert (alert on events), see Call a webhook on an Azure activity log alert.

Azure アラートでは、HTTP POST を使用して、JSON 形式のアラート コンテンツを、アラートの作成時に指定した webhook URI に送信します。Azure alerts use HTTP POST to send the alert contents in JSON format to a webhook URI that you provide when you create the alert. スキーマは、この記事の後半で定義されます。The schema is defined later in this article. この URI は、有効な HTTP または HTTPS エンドポイントである必要があります。The URI must be a valid HTTP or HTTPS endpoint. Azure では、アラートがアクティブ化された場合に要求ごとに 1 つのエントリがポストされます。Azure posts one entry per request when an alert is activated.

Azure Portal を介して webhook を構成するConfigure webhooks via the Azure portal

webhook URI を追加または更新するには、Azure Portal[Create/Update Alerts](アラートの作成/更新) に移動します。To add or update the webhook URI, in the Azure portal, go to Create/Update Alerts.

[アラート ルールの追加] ウィンドウ

また、Azure PowerShell コマンドレットクロスプラットフォーム CLI、または Azure Monitor REST API を使用して、webhook URI にポストするアラートを構成することもできます。You can also configure an alert to post to a webhook URI by using Azure PowerShell cmdlets, a cross-platform CLI, or Azure Monitor REST APIs.

webhook の認証Authenticate the webhook

webhook は、トークンベースの承認を使用して認証できます。The webhook can authenticate by using token-based authorization. webhook URI は、トークン ID を使用して保存されます。The webhook URI is saved with a token ID. 次に例を示します。https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalueFor example: https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue

ペイロード スキーマPayload schema

POST 操作には、すべてのメトリックベースのアラートについて以下の JSON ペイロードとスキーマが含まれます。The POST operation contains the following JSON payload and schema for all metric-based alerts:

{
    "status": "Activated",
    "context": {
        "timestamp": "2015-08-14T22:26:41.9975398Z",
        "id": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.insights/alertrules/ruleName1",
        "name": "ruleName1",
        "description": "some description",
        "conditionType": "Metric",
        "condition": {
            "metricName": "Requests",
            "metricUnit": "Count",
            "metricValue": "10",
            "threshold": "10",
            "windowSize": "15",
            "timeAggregation": "Average",
            "operator": "GreaterThanOrEqual"
        },
        "subscriptionId": "s1",
        "resourceGroupName": "useast",
        "resourceName": "mysite1",
        "resourceType": "microsoft.foo/sites",
        "resourceId": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1",
        "resourceRegion": "centralus",
        "portalLink": "https://portal.azure.com/#resource/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1"
    },
    "properties": {
        "key1": "value1",
        "key2": "value2"
    }
}
フィールドField MandatoryMandatory 値の固定セットFixed set of values メモNotes
statusstatus YY "Activated"、"Resolved"Activated, Resolved 設定した条件に基づいたアラートの状態。The status for the alert based on the conditions you set.
contextcontext YY アラート コンテキスト。The alert context.
timestamptimestamp YY アラートがトリガーされた時刻。The time at which the alert was triggered.
idid YY すべてのアラート ルールには一意の ID があります。Every alert rule has a unique ID.
namename YY アラートの名前。The alert name.
descriptiondescription YY アラートの説明。A description of the alert.
conditionTypeconditionType YY "Metric"、"Event"Metric, Event 2 つの種類のアラート (メトリックとイベント) がサポートされています。Two types of alerts are supported: metric and event. メトリック アラートは、メトリックの条件に基づいています。Metric alerts are based on a metric condition. イベント アラートは、アクティビティ ログのイベントに基づいています。Event alerts are based on an event in the activity log. この値を使用して、アラートがメトリックとイベントのどちらに基づいているかを確認できます。Use this value to check whether the alert is based on a metric or on an event.
conditioncondition YY conditionType の値に基づいて確認する特定のフィールド。The specific fields to check based on the conditionType value.
metricNamemetricName メトリック アラートの場合For metric alerts ルールによる監視対象を定義するメトリックの名前。The name of the metric that defines what the rule monitors.
metricUnitmetricUnit メトリック アラートの場合For metric alerts "Bytes"、"BytesPerSecond"、"Count"、"CountPerSecond"、"Percent"、"Seconds"Bytes, BytesPerSecond, Count, CountPerSecond, Percent, Seconds メトリックで使用できる単位。The unit allowed in the metric. 使用できる値を参照してください。See allowed values.
metricValuemetricValue メトリック アラートの場合For metric alerts アラートの原因となったメトリックの実際の値。The actual value of the metric that caused the alert.
thresholdthreshold メトリック アラートの場合For metric alerts アラートがアクティブ化されるしきい値。The threshold value at which the alert is activated.
windowSizewindowSize メトリック アラートの場合For metric alerts しきい値に基づいてアラート アクティビティを監視するために使用される期間。The period of time that's used to monitor alert activity based on the threshold. 値は 5 分~ 1 日の範囲で指定する必要があります。The value must be between 5 minutes and 1 day. 値は ISO 8601 の期間の形式である必要があります。The value must be in ISO 8601 duration format.
timeAggregationtimeAggregation メトリック アラートの場合For metric alerts "Average"、"Last"、"Maximum"、"Minimum"、"None"、"Total"Average, Last, Maximum, Minimum, None, Total 収集されたデータの経時的な結合方法。How the data that's collected should be combined over time. 既定値は Average です。The default value is Average. 使用できる値を参照してください。See allowed values.
operatoroperator メトリック アラートの場合For metric alerts 設定したしきい値と現在のメトリック データを比較するために使用される演算子。The operator that's used to compare the current metric data to the set threshold.
subscriptionIdsubscriptionId YY Azure サブスクリプション ID です。The Azure subscription ID.
resourceGroupNameresourceGroupName YY 影響を受けるリソースのリソース グループの名前。The name of the resource group for the affected resource.
resourceNameresourceName YY 影響を受けるリソースのリソース名。The resource name of the affected resource.
resourceTyperesourceType YY 影響を受けるリソースの種類。The resource type of the affected resource.
resourceIdresourceId YY 影響を受けるリソースのリソース ID。The resource ID of the affected resource.
resourceRegionresourceRegion YY 影響を受けるリソースのリージョンまたは場所。The region or location of the affected resource.
portalLinkportalLink YY ポータルのリソースの概要ページへの直接リンク。A direct link to the portal resource summary page.
propertiesproperties NN 省略可能Optional イベントに関する詳細を含むキー/値のペアのセット。A set of key/value pairs that has details about the event. たとえば、「 Dictionary<String, String> 」のように入力します。For example, Dictionary<String, String>. properties フィールドは省略可能です。The properties field is optional. カスタム UI またはロジック アプリベースのワークフローでは、ユーザーは、ペイロードを使用して渡すことのできるキー/値のペアを入力できます。In a custom UI or logic app-based workflow, users can enter key/value pairs that can be passed via the payload. webhook URI 自体を (クエリ パラメーターとして) 使用して、カスタム プロパティを webhook に戻すこともできます。An alternate way to pass custom properties back to the webhook is via the webhook URI itself (as query parameters).

注意

properties フィールドは、Azure Monitor REST API を使用してのみ設定できます。You can set the properties field only by using Azure Monitor REST APIs.

次の手順Next steps