分享方式:


教學課程:在計量建議程式中啟用異常通知

重要

從 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 要求時] 的對話方塊中,選取 [使用範例承載來產生結構描述]

    顯示已選取 [收到 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 中的 [端點]

    螢幕擷取畫面,其中醒目提示複製圖示以複製 HTTP 要求觸發程序的 URL。

步驟 4: 使用 'HTTP' 動作新增下一個步驟

透過 Webhook 推送的訊號只包含時間戳、alertID、configurationID 等有限資訊。需要使用訊號中提供的回呼 URL 來查詢詳細資訊。 此步驟是查詢詳細的警示資訊。

  • 選擇 'GET' 方法

  • 從 [URI] 中的 [動態內容] 清單中,選取 [callBackURL]。

  • 在 [標頭] 中輸入 'Content-Type' 索引鍵,並輸入 'application/json' 值

  • 在 [標頭] 中輸入 'x-api-key' 索引鍵,然後在您的計量建議程式工作區中按一下 [API 金鑰] 索引標籤來取得此項目。 此步驟是確保工作流程有足夠的 API 呼叫權限。

    螢幕擷取畫面,其中醒目提示 api-key

步驟 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'。

螢幕擷取畫面:HTML 資料表範例

步驟 7: 將最終步驟新增至 [傳送電子郵件]

有數個選項可以傳送電子郵件,包括 Microsoft 託管和第三方供應項目。 客戶可能需要具有其所選擇選項的租用戶/帳戶。 例如,選擇 [Office 365 Outlook] 作為伺服器時。 系統將會送出登入程序,來建置連線和授權。 系統將會建立 API 連線,以使用電子郵件伺服器來傳送警示。

填入您想要包含在電子郵件的 [本文] 和 [主旨] 中的內容,並在 [收件者] 中填入電子郵件地址。

螢幕擷取畫面:傳送電子郵件

下一步

請前往下一篇文章以了解如何建立。