本文說明如何建立邏輯應用程式,並將其與 Azure 監視器警示整合。 您可以使用 Azure Logic Apps 建置和自訂工作流程以進行整合。 使用 Logic Apps 自訂警示通知。 您可以:
藉由使用您自己的電子郵件主旨和本文格式,自訂警示電子郵件。
查閱受影響資源的標籤或擷取記錄查詢搜尋結果,以自訂警示中繼資料。 如需如何存取包含警示數據的搜尋結果數據列的詳細資訊,請參閱:
藉由使用 Outlook、Microsoft Teams、Slack 和 PagerDuty 等現有連接器,以便與外部服務整合。 您也可以為自己的服務設定邏輯應用程式。
在此範例中,建立邏輯應用程式,以使用一般警示結構描述從警示傳送詳細資料。
建立邏輯應用程式
在 Azure 入口網站中建立新的邏輯應用程式。 在頁面頂端的 [搜尋 ] 列中,輸入 邏輯應用程式 ,然後從下拉功能表中選取它。
在 [邏輯應用程式] 頁面上,選取 [新增]。
在 [取用] 底下,選取 [多租使用者]。
在下一個頁面中,選取您的邏輯應用程式的 訂閱 和 資源群組。
設定 邏輯應用程式名稱 ,然後選擇 區域。
選取 [檢閱+建立]>[建立]。
部署完成後選取 [移至資源]。
設定觸發程序
在 [邏輯應用程式] 頁面上,選取頂端動作列中的 [編輯 ]。
選取 [新增觸發程式],搜尋 [收到 HTTP 要求時],然後從搜尋結果中選取它。
將一般警示結構描述從下列 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": {} } } } } }(選擇性)。 您可以擷取警示引發時受影響資源的相關資訊,例如資源標籤,以自訂警示通知。 然後,您可以將這些資源標記包含在警示承載中,並使用邏輯運算式中的資訊來傳送通知。 若要執行此步驟,我們將:
- 為受影響的資源識別碼建立變數。
- 將資源識別碼分割成陣列,以便使用其各種元素 (例如訂用帳戶和資源群組)。
- 使用 Azure Resource Manager 連接器來讀取資源的中繼資料。
- 擷取資源的標籤,然後可在邏輯應用程式的後續步驟中使用。
選取 +>[新增動作] 圖示以插入新步驟。
在 [搜尋] 欄位中,搜尋並選取 [初始化變數]。
在 [名稱] 字段中,輸入變數的名稱,例如 AffectedResource。
在類型欄位中,選取陣列。
在 [ 值] 欄位中,選取 fx 以開啟 [函式] 彈出視窗。 在頂端的空白欄位中輸入字串
split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/'),然後選取 [ 新增]。選取 +>新增動作 以插入另一個步驟。
在 [ 搜尋] 欄位中,搜尋並選取 [Azure Resource Manager>] [查看更多>讀取資源]。
選取 驗證 方法並 登入。
使用來自 變數的陣列值,填入 [讀取資源]
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 版本。
動態內容現在包含受影響資源的標記。 您可以在設定通知時使用這些標記,如下列步驟所述。
設定動作
選取 +>[新增動作] 圖示以插入新步驟。
在搜尋欄位中,搜尋 傳送電子郵件 (V2) 。
在 [Office 365 Outlook] 下,從動作清單中選取 [ 傳送電子郵件 ][V2 ]。
系統提示您建立連線時,登入 Office 365。
於 [收件者] 欄位中輸入警示要傳送至的電子郵件地址。
在 [主旨] 欄位中,從 [動態內容] 清單中選擇欄位,輸入靜態文字並包含從警示承載取得的內容,以建立主旨文字。
例如:
- 警示:從 [動態內容] 清單中選取 [alertRule]。
- 具有嚴重性:從 動態內容 清單中選取 嚴重性。
- 具有條件:從 [動態內容] 清單中選取 [monitorCondition]。
從 [動態內容] 清單中選擇欄位,輸入靜態文字並包含從警示承載取得的內容,以建立電子郵件本文。
例如:
- 監視條件:從 [動態內容] 列表中選取 [monitorCondition]。
- 引發日期:從 [動態內容] 清單中選取 [firedDateTime]。
- 受影響的資源:從 [動態內容] 清單中選取 [alertTargetIDs]。
選擇 [儲存]。
您已建立邏輯應用程式,以將電子郵件傳送至指定的位址,其中包含觸發電子郵件的警示詳細數據。
下一個步驟是建立動作群組以觸發邏輯應用程式。
建立動作群組
若要觸發邏輯應用程式,請建立動作群組。 然後建立使用該動作群組的警示。
移至 [Azure 監視器] 頁面,然後從左側窗格選取 [警示]。
選擇動作群組>建立。
選取 [訂用帳戶] 和 [資源群組] 和 [區域] 的值。
輸入 [動作群組名稱] 和 [顯示名稱] 的名稱。
選取動作索引標籤。
在 [ 動作類型] 的 [動作] 索引標籤中,選取 [邏輯應用程式]。
在 [邏輯應用程式] 區段中,從下拉式清單中選取邏輯應用程式。
將 [啟用一般警示結構描述] 設定為 [是]。 如果您選取 [否],警示類型決定使用哪一個警示結構描述。 如需警示結構描述的詳細資訊,請參閱內容特定警示結構描述。
選取 [確定]。
在 [名稱] 欄位中輸入名稱。
選取 [檢閱+建立]>[建立]。
測試您的動作群組
移至 [Azure 監視器] 頁面,然後從左側窗格選取 [警示]。
移至 [動作群組 ],然後選取邏輯應用程式。
選取頂端動作列中的 [ 測試 ]。
從 [選取樣本類型] 下拉式清單中選取 [範例警示類型]。
選取 [測試]。
下列電子郵件傳送至指定的帳戶:
藉由使用您的動作群組建立規則
為其中一個資源建立警示規則。
在規則的 [ 動作] 索引標籤上,選擇 [使用動作群組]。
從清單中選取您的動作群組。
選擇 [選取]。
完成規則的建立。
![[建立邏輯應用程式] 頁面的螢幕快照。](media/alerts-logic-apps/create-logic-app.png)
![醒目提示 [收到 HTTP 要求時] 的 [新增觸發程式] 功能表螢幕擷取畫面。](media/alerts-logic-apps/logic-apps-designer.png)
![[收到 HTTP 要求時] 功能表的螢幕擷取畫面,其中醒目提示 [要求本文 JSON 結構描述] 欄位。](media/alerts-logic-apps/configure-http-request-received.png)

![[新增動作] 功能表的螢幕快照,其中已醒目提示 [傳送電子郵件 (V2)]。](media/alerts-logic-apps/choose-operation-outlook.png)
![[傳送電子郵件 (V2)] 功能表的螢幕快照,其中已醒目提示 [收件者]、[主旨] 和 [內文] 字段。](media/alerts-logic-apps/configure-email.png)
![[新增動作] 功能表的螢幕快照,其中已醒目提示 [在聊天或頻道中張貼訊息]。](media/alerts-logic-apps/choose-operation-teams.png)
![[在聊天或頻道中張貼訊息] 功能表的螢幕快照,其中已醒目提示 [張貼為]、[張貼]、[群組聊天] 和 [訊息]。](media/alerts-logic-apps/configure-teams-message.png)
![[建立動作群組] 頁面上 [基本數據] 索引標籤的螢幕快照。](media/alerts-logic-apps/create-action-group.png)
![[建立動作群組] 頁面上 [動作] 索引標籤的螢幕快照。](media/alerts-logic-apps/create-action-group-actions.png)


![顯示 [建立警示規則] 窗格和 [選取動作群組] 窗格上 [動作] 索引標籤的螢幕快照。](media/alerts-logic-apps/select-action-groups.png)