共用方式為


透過使用 Logic Apps 自訂警示通知

本文說明如何建立邏輯應用程式,並將其與 Azure 監視器警示整合。 您可以使用 Azure Logic Apps 建置和自訂工作流程以進行整合。 使用 Logic Apps 自訂警示通知。 您可以:

  • 藉由使用您自己的電子郵件主旨和本文格式,自訂警示電子郵件。

  • 查閱受影響資源的標籤或擷取記錄查詢搜尋結果,以自訂警示中繼資料。 如需如何存取包含警示數據的搜尋結果數據列的詳細資訊,請參閱:

  • 藉由使用 Outlook、Microsoft Teams、Slack 和 PagerDuty 等現有連接器,以便與外部服務整合。 您也可以為自己的服務設定邏輯應用程式。

在此範例中,建立邏輯應用程式,以使用一般警示結構描述從警示傳送詳細資料。

建立邏輯應用程式

  1. Azure 入口網站中建立新的邏輯應用程式。 在頁面頂端的 [搜尋 ] 列中,輸入 邏輯應用程式 ,然後從下拉功能表中選取它。

  2. 在 [邏輯應用程式] 頁面上,選取 [新增]

  3. 在 [取用] 底下,選取 [多租使用者]

  4. 在下一個頁面中,選取您的邏輯應用程式的 訂閱資源群組

  5. 設定 邏輯應用程式名稱 ,然後選擇 區域

  6. 選取 [檢閱+建立]>[建立]

    [建立邏輯應用程式] 頁面的螢幕快照。

  7. 部署完成後選取 [移至資源]

設定觸發程序

  1. [邏輯應用程式] 頁面上,選取頂端動作列中的 [編輯 ]。

  2. 選取 [新增觸發程式],搜尋 [收到 HTTP 要求時],然後從搜尋結果中選取它。

    醒目提示 [收到 HTTP 要求時] 的 [新增觸發程式] 功能表螢幕擷取畫面。

  3. 將一般警示結構描述從下列 JSON 貼到 [要求本文 JSON 結構描述] 欄位中:

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    [收到 HTTP 要求時] 功能表的螢幕擷取畫面,其中醒目提示 [要求本文 JSON 結構描述] 欄位。

  4. (選擇性)。 您可以擷取警示引發時受影響資源的相關資訊,例如資源標籤,以自訂警示通知。 然後,您可以將這些資源標記包含在警示承載中,並使用邏輯運算式中的資訊來傳送通知。 若要執行此步驟,我們將:

    • 為受影響的資源識別碼建立變數。
    • 將資源識別碼分割成陣列,以便使用其各種元素 (例如訂用帳戶和資源群組)。
    • 使用 Azure Resource Manager 連接器來讀取資源的中繼資料。
    • 擷取資源的標籤,然後可在邏輯應用程式的後續步驟中使用。
    1. 選取 +>[新增動作] 圖示以插入新步驟。

    2. 在 [搜尋] 欄位中,搜尋並選取 [初始化變數]

    3. 在 [名稱] 字段中,輸入變數的名稱,例如 AffectedResource

    4. 類型欄位中,選取陣列

    5. 在 [ 值] 欄位中,選取 fx 以開啟 [函式] 彈出視窗。 在頂端的空白欄位中輸入字串 split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/') ,然後選取 [ 新增]。

      「初始化變數」窗格中「參數」索引標籤的螢幕擷圖。

    6. 選取 +>新增動作 以插入另一個步驟。

    7. 在 [ 搜尋] 欄位中,搜尋並選取 [Azure Resource Manager>] [查看更多>讀取資源]。

    8. 選取 驗證 方法並 登入

    9. 使用來自 變數的陣列值,填入 [讀取資源]AffectedResource 動作的欄位。 在每個欄位中,選取欄位並向下捲動至 [輸入自訂值]。 選取 fx 以開啟 [函式] 彈出視窗。 在頂端的空白欄位中輸入此資料表的對應字串,然後選取 [ 新增]。

      欄位 字串值
      訂用帳戶 variables('AffectedResource')[2]
      資源群組 variables('AffectedResource')[4]
      資源提供者 variables('AffectedResource')[6]
      短資源識別碼 concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      用戶端 API 版本 資源類型的 API 版本

      若要尋找資源類型的 API 版本,請選取資源概觀頁面右上方的 JSON 檢視 連結。

      頁面頂端會顯示 [資源 JSON]ResourceID 以及 API 版本

    動態內容現在包含受影響資源的標記。 您可以在設定通知時使用這些標記,如下列步驟所述。

設定動作

選取 +>[新增動作] 圖示以插入新步驟。

  1. 在搜尋欄位中,搜尋 傳送電子郵件 (V2)

  2. [Office 365 Outlook] 下,從動作清單中選取 [ 傳送電子郵件 ][V2 ]。

    [新增動作] 功能表的螢幕快照,其中已醒目提示 [傳送電子郵件 (V2)]。

  3. 系統提示您建立連線時,登入 Office 365。

  4. 於 [收件者] 欄位中輸入警示要傳送至的電子郵件地址。

  5. 在 [主旨] 欄位中,從 [動態內容] 清單中選擇欄位,輸入靜態文字並包含從警示承載取得的內容,以建立主旨文字。

    例如:

    • 警示:從 [動態內容] 清單中選取 [alertRule]
    • 具有嚴重性:動態內容 清單中選取 嚴重性
    • 具有條件:從 [動態內容] 清單中選取 [monitorCondition]
  6. 從 [動態內容] 清單中選擇欄位,輸入靜態文字並包含從警示承載取得的內容,以建立電子郵件本文

    例如:

    • 監視條件:[動態內容] 列表中選取 [monitorCondition]。
    • 引發日期:從 [動態內容] 清單中選取 [firedDateTime]
    • 受影響的資源:從 [動態內容] 清單中選取 [alertTargetIDs]
  7. 選擇 [儲存]。

    [傳送電子郵件 (V2)] 功能表的螢幕快照,其中已醒目提示 [收件者]、[主旨] 和 [內文] 字段。

您已建立邏輯應用程式,以將電子郵件傳送至指定的位址,其中包含觸發電子郵件的警示詳細數據。

下一個步驟是建立動作群組以觸發邏輯應用程式。

建立動作群組

若要觸發邏輯應用程式,請建立動作群組。 然後建立使用該動作群組的警示。

  1. 移至 [Azure 監視器] 頁面,然後從左側窗格選取 [警示]

  2. 選擇動作群組>建立

  3. 選取 [訂用帳戶] 和 [資源群組] 和 [區域] 的值。

  4. 輸入 [動作群組名稱] 和 [顯示名稱] 的名稱。

  5. 選取動作索引標籤。

    [建立動作群組] 頁面上 [基本數據] 索引標籤的螢幕快照。

  6. 在 [ 動作類型] 的 [動作] 索引標籤中,選取 [邏輯應用程式]

  7. 在 [邏輯應用程式] 區段中,從下拉式清單中選取邏輯應用程式。

  8. 將 [啟用一般警示結構描述] 設定為 [是]。 如果您選取 [否],警示類型決定使用哪一個警示結構描述。 如需警示結構描述的詳細資訊,請參閱內容特定警示結構描述

  9. 選取 [確定]

  10. 在 [名稱] 欄位中輸入名稱。

  11. 選取 [檢閱+建立]>[建立]

    [建立動作群組] 頁面上 [動作] 索引標籤的螢幕快照。

測試您的動作群組

  1. 移至 [Azure 監視器] 頁面,然後從左側窗格選取 [警示]

  2. 移至 [動作群組 ],然後選取邏輯應用程式。

  3. 選取頂端動作列中的 [ 測試 ]。

  4. 從 [選取樣本類型] 下拉式清單中選取 [範例警示類型]

  5. 選取 [測試]

    動作群組詳細資料測試頁面的螢幕擷取畫面。

    下列電子郵件傳送至指定的帳戶:

    測試頁面所傳送範例電子郵件的螢幕快照。

藉由使用您的動作群組建立規則

  1. 為其中一個資源建立警示規則

  2. 在規則的 [ 動作] 索引標籤上,選擇 [使用動作群組]。

  3. 從清單中選取您的動作群組。

  4. 選擇 [選取]

  5. 完成規則的建立。

    顯示 [建立警示規則] 窗格和 [選取動作群組] 窗格上 [動作] 索引標籤的螢幕快照。

下一步