教學課程:在計量建議程式中啟用異常通知
重要
從 2023 年 9 月 20 日起,您將無法建立新的計量建議程式資源。 計量建議程式服務將於 2026 年 10 月 1 日淘汰。
在本教學課程中,您會了解如何:
- 在計量建議程式中建立勾點
- 使用 Azure Logic Apps 來傳送通知
- 將通知傳送給 Microsoft Teams
- 透過 SMTP 伺服器來傳送通知
必要條件
建立計量建議程式資源
若要匯出計量建議程式的功能,您可能需要在 Azure 入口網站中建立計量建議程式資源,以部署您的計量建議程式執行個體。
在計量建議程式中建立勾點
計量建議程式中的勾點是一個橋接器,可讓客戶訂閱計量異常,並透過不同通道傳送通知。 計量建議程式中有四種類型的勾點:
- 電子郵件勾點
- Webhook
- Teams 勾點
- Azure DevOps 勾點
每種勾點類型都會對應至特定通道,而且會透過此通道來通知異常。
使用 Azure Logic Apps、Teams 和 SMTP 傳送通知
使用 Azure Logic Apps 來傳送電子郵件通知
計量建議程式支援兩個傳送電子郵件通知的常見選項。 其中一個是使用 Webhook 和 Azure Logic Apps 來傳送電子郵件警示,另一個則是設定 SMTP 伺服器,並使用其直接傳送電子郵件警示。 本節將著重於第一個選項,而這對於沒有可用 SMTP 伺服器的客戶來說較為容易。
步驟 1: 在計量建議程式中建立 Webhook
Webhook 是計量建議程式服務中所有可用資訊的進入點,並在觸發警示時呼叫使用者提供的 API。 所有警示都可以透過 Webhook 予以傳送。
選取計量建議程式工作區中的 [勾點] 索引標籤,然後選取 [建立勾點] 按鈕。 選擇 [Webhook] 的勾點類型。 填入必要參數,然後選取 [確定]。 如需詳細步驟,請參閱建立 Webhook。
需要填寫 [端點] 額外參數,這可以在完成下面的步驟 3 之後完成。
步驟 2: 建立使用量邏輯應用程式資源
在 Azure 入口網站中,依照建立範例使用量邏輯應用程式工作流程中的指示,建立具有空白工作流程的使用量邏輯應用程式資源。 當您看到工作流程設計工具開啟時,請回到本教學課程。
步驟 3: 新增 [收到 HTTP 要求時] 的觸發程序
Azure Logic Apps 會使用各種動作來觸發已定義的工作流程。 針對此使用案例,其使用命名為收到 HTTP 要求時的觸發程序。
在 [收到 HTTP 要求時] 的對話方塊中,選取 [使用範例承載來產生結構描述]。
將下列範例 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 中的 [端點]。
步驟 4: 使用 'HTTP' 動作新增下一個步驟
透過 Webhook 推送的訊號只包含時間戳、alertID、configurationID 等有限資訊。需要使用訊號中提供的回呼 URL 來查詢詳細資訊。 此步驟是查詢詳細的警示資訊。
選擇 'GET' 方法
從 [URI] 中的 [動態內容] 清單中,選取 [callBackURL]。
在 [標頭] 中輸入 'Content-Type' 索引鍵,並輸入 'application/json' 值
在 [標頭] 中輸入 'x-api-key' 索引鍵,然後在您的計量建議程式工作區中按一下 [API 金鑰] 索引標籤來取得此項目。 此步驟是確保工作流程有足夠的 API 呼叫權限。
步驟 5: 將下一個步驟新增至 [剖析 JSON]
您需要剖析 API 的回應,以更輕鬆地格式化電子郵件內容。
注意
本教學課程只分享快速範例,最終電子郵件格式需要進一步設計。
- 從 [內容] 的 [動態內容] 清單中,選取 [本文]
- 選取 [使用範例承載來產生結構描述]。 將下列範例 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 呼叫傳回許多資訊,但並非所有資訊都有用。 選擇您關心且想要包含在警示電子郵件中的項目。
以下 HTML 資料表範例會選擇要在警示電子郵件中包含的 'timestamp'、'metricGUID' 和 'dimension'。
步驟 7: 將最終步驟新增至 [傳送電子郵件]
有數個選項可以傳送電子郵件,包括 Microsoft 託管和第三方供應項目。 客戶可能需要具有其所選擇選項的租用戶/帳戶。 例如,選擇 [Office 365 Outlook] 作為伺服器時。 系統將會送出登入程序,來建置連線和授權。 系統將會建立 API 連線,以使用電子郵件伺服器來傳送警示。
填入您想要包含在電子郵件的 [本文] 和 [主旨] 中的內容,並在 [收件者] 中填入電子郵件地址。
下一步
請前往下一篇文章以了解如何建立。