Share via


使用自動調整動作在 Azure 監視器中傳送電子郵件和 Webhook 警示通知

本文將告訴您如何設定通知,讓您可以根據 Azure 中的自動調整動作呼叫特定的 Web URL 或傳送電子郵件。

Webhooks

Webhook 可讓您在特定事件或觸發程序發生時,將 HTTP 要求傳送至特定 URL 端點 (回撥 URL)。 使用 Webhook 時,您可以啟用不同系統或應用程式之間的資訊自動交換,以自動化和簡化程序。 使用 Webhook 觸發發生自動調整事件時要執行的自訂程式碼、通知或其他動作。

電子郵件

當自動調整事件發生時,您可以將電子郵件傳送至任何有效的電子郵件位址。 執行該規則所在訂用帳戶的管理員和共同管理員也會收到通知。

設定通知

使用 Azure 入口網站、CLI、PowerShell 或 Resource Manager 範本來設定通知。

使用 Azure 入口網站設定通知。

選取 [自動調整設定] 頁面上的 [通知] 索引標籤來設定通知。

選取核取方塊,以傳送電子郵件給訂用帳戶管理員或共同管理員。 您也可以輸入要接收通知的電子郵件地址清單。

輸入 Webhook URI 來將通知傳送至 Web 服務。 您也可以將自訂標頭新增至 Webhook 要求。 例如,您可以在標頭、查詢參數中新增驗證權杖,或新增自訂標頭來識別要求的來源。

A screenshot showing the notify tab on the autoscale settings page.

Webhook 中的驗證

Webhook 可以使用權杖型驗證來驗證,您會在其中儲存 Webhook URI 並以權杖識別碼做為查詢參數。 例如: https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123

自動調整通知 Webhook 承載結構描述

產生自動調整通知時,Webhook 承載會包含下列中繼資料︰

{
    "version": "1.0",
    "status": "Activated",
    "operation": "Scale Out",
    "context": {
        "timestamp": "2023-06-22T07:01:47.8926726Z",
        "id": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/microsoft.insights/autoscalesettings/AutoscaleSettings-002",
        "name": "AutoscaleSettings-002",
        "details": "Autoscale successfully started scale operation for resource 'ScaleableAppServicePlan' from capacity '1' to capacity '2'",
        "subscriptionId": "123456ab-9876-a1b2-a2b1-123a567b9f8767",
        "resourceGroupName": "rg-001",
        "resourceName": "ScaleableAppServicePlan",
        "resourceType": "microsoft.web/serverfarms",
        "resourceId": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
        "portalLink": "https://portal.azure.com/#resource/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
        "resourceRegion": "West Central US",
        "oldCapacity": "1",
        "newCapacity": "2"
    },
    "properties": {
        "key1": "value1",
        "key2": "value2"
    }   
}
欄位 必要 描述
status Yes 表示已產生自動調整動作的狀態。
作業 Yes 若是增加執行個體,其為「擴增」。若是縮小執行個體,其為「縮減」。
內容 Yes 自動調整動作內容。
timestamp Yes 自動調整動作觸發時的時間戳記。
id Yes 自動調整設定的 Resource Manager 識別碼。
NAME Yes 自動調整設定的名稱。
詳細資料 Yes 說明自動調整服務所採取的動作和執行個體計數的變更。
subscriptionId Yes 正在調整的目標資源的訂用帳戶識別碼。
resourceGroupName Yes 正在調整的目標資源的資源群組。
resourceName Yes 正在調整的目標資源的名稱。
resourceType Yes 支援三個值:"microsoft.classiccompute/domainnames/slots/roles" (Azure 雲端服務角色)、"microsoft.compute/virtualmachinescalesets" (虛擬機器擴展集) 以及 "Microsoft.Web/serverfarms" (Azure 監視器的 Web 應用程式功能)。
resourceId Yes 正在調整的目標資源的 Resource Manager 識別碼。
portalLink Yes 連到目標資源摘要頁面的 Azure 入口網站連結。
oldCapacity Yes 自動調整採取調整動作時的當前 (舊) 執行個體計數。
newCapacity Yes 自動調整將資源調整後的新執行個體計數。
內容 No 選擇性。 <索引鍵, 值> 組 (例如,字典 <字串, 字串>)。 properties 欄位是選擇性的。 在自訂 UI 或邏輯應用程式的工作流程中,您可以輸入可使用承載傳遞的索引鍵和值。 另一個將自訂屬性傳回給連出 Webhook 呼叫的替代做法,是使用 Webhook URI 本身 (做為查詢參數)。