監視和收集 Azure Logic Apps 中工作流程的診斷資料
適用於:Azure Logic Apps (使用量 + 標準)
若要在 Azure Logic Apps 中針對工作流程取得更豐富的偵錯和診斷資料,您可以記錄工作流程執行階段資料和事件,例如觸發事件、執行事件和動作事件,當您設定並使用 Azure 監視器記錄時,您可以將這些事件傳送至 Log Analytics 工作區、Azure 儲存體帳戶、Azure 事件中樞、另一個合作夥伴目的地,或所有這些目的地。
注意
Azure 監視器資源記錄不會 100% 遺失。 資源記錄是以存放區和轉寄結構為基礎,旨在每天以可負擔的成本大規模移動數 PB 的資料。 這項功能包括跨平台的內建備援和重試,但不提供交易式保證。 交易式監視可能會降低受監視服務的可靠性與效能。 此外,暫時性記錄錯誤必須在無法確認記錄傳遞時停止上游服務。 每當 Azure 監視器小組可以確認資料遺失的持續來源時,小組就會以最高優先順序考慮解決方案並加以防止。 不過,由於分散於 Azure 的暫時性、非重複服務問題,因此仍可能會發生少量資料遺失的情形,而且無法攔截到所有問題。
本操作指南會根據您是否有取用或標準邏輯應用程式資源,以說明如何完成下列工作。
在建立取用邏輯應用程式時,啟用 Log Analytics 並指定 Log Analytics 工作區。
-或-
針對現有的取用邏輯應用程式,在 Log Analytics 工作區中安裝 Logic Apps 管理解決方案。 此解決方案可提供邏輯應用程式執行的彙總資訊,並且會包含狀態、執行時間、重新提交狀態和相互關聯識別碼等具體詳細資料。
必要條件
Azure 帳戶和訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶。
如需取用邏輯應用程式資源,您需要 Azure 訂用帳戶的擁有者或參與者權限,以便從 Azure Marketplace 安裝 Logic Apps 管理解決方案。 如需詳細資訊,請參閱下列文件:
要傳送診斷資料的目的地資源:
邏輯應用程式資源和工作流程
啟用 Log Analytics
針對取用邏輯應用程式,您必須先啟用 Log Analytics。
在邏輯應用程式建立時啟用 Log Analytics
請在 Azure 入口網站的 [建立邏輯應用程式] 窗格中遵循下列步驟:
請務必在 [方案] 下選取 [取用],以便只顯示取用工作流程的選項。
請針對 [啟用 Log Analytics] 選取 [是]。
從 [Log Analytics 工作區] 清單中,選取您要從工作流程執行傳送資料的工作區。
完成建立邏輯應用程式資源作業。
完成時,邏輯應用程式會與您的 Log Analytics 工作區相關聯。 此步驟也會在您的工作區中自動安裝 Logic Apps 管理解決方案。
執行工作流程之後,請檢視工作流程執行狀態。
安裝 Logic Apps 管理解決方案
如果您在建立邏輯應用程式資源時開啟 Log Analytics,請略過本節。 您已在 Log Analytics 工作區中安裝了 Logic Apps 管理解決方案。 否則,請繼續進行現有取用邏輯應用程式的下列步驟:
在 Azure 入口網站搜尋方塊中輸入「Log Analytics 工作區」,然後從結果中選取 [Log Analytics 工作區]。
在 [Log Analytics 工作區] 下方,選取您的工作區。
在 [概觀] 窗格上,於 [開始使用 Log Analytics]>[設定監視解決方案] 底下,選取 [檢視解決方案]。
在 [概觀] 下選取 [新增],以將新的解決方案新增至工作區。
開啟 [Marketplace] 頁面之後,在搜尋方塊中輸入「Logic Apps 管理」,然後選取 [Logic Apps 管理]。
在 [Logic Apps 管理] 圖格上,從 [建立] 清單中,選取 [Logic Apps 管理]。
在 [建立 Logic Apps 管理 (預覽) 解決方案] 窗格上,選取要安裝解決方案的 Log Analytics 工作區。 選取 [檢閱 + 建立]、檢閱您的資訊,然後選取 [建立]。
在 Azure 將解決方案部署到包含 Log Analytics 工作區的 Azure 資源群組之後,該解決方案便會出現在 [概觀] 底下的工作區摘要窗格上。
新增診斷設定
在 Azure 入口網站中,開啟您的使用量邏輯應用程式資源。
在邏輯應用程式資源的功能表上,選取 [監視] 底下的 [診斷設定]。 在 [診斷設定] 頁面上,選取 [新增診斷設定]。
針對診斷設定名稱,請提供您想要用於設定的名稱。
在 [記錄]>[類別] 下,選取 [工作流程執行階段診斷事件]。 在 [計量] 底下,選取 [AllMetrics]。
在 [目的地詳細資料] 下,根據您想要傳送記錄的位置,選取一或多個目的地。
Destination 方向 傳送至 Log Analytics 工作區 選取用於 Log Analytics 工作區的 Azure 訂用帳戶和工作區。 封存至儲存體帳戶 選取用於 Azure 儲存體帳戶的 Azure 訂用帳戶和儲存體帳戶。 如需詳細資訊,請參閱將診斷資料傳送至 Azure 儲存體和 Azure 事件中樞。 串流至事件中樞 選取事件中樞命名空間、事件中樞和事件中樞原則名稱的 Azure 訂用帳戶。 如需詳細資訊,請參閱將診斷資料傳送至 Azure 儲存體和 Azure 事件中樞和Azure 監視器合作夥伴整合。 傳送至合作夥伴解決方案 選取 Azure 訂用帳戶和目的地。 如需詳細資訊,請參閱 Azure 原生 ISV 服務概觀。 下列範例會選取 Log Analytics 工作區作為目的地:
若要完成新增診斷設定作業,請選取 [儲存]。
檢視工作流程執行狀態
在工作流程開始執行後,便可以在 Log Analytics 工作區中檢視這些執行的相關資料。
在 Azure 入口網站中,開啟 Log Analytics 工作區。
在工作區功能表的在 [傳統] 底下,選取 [工作區摘要]。 在 [概觀] 頁面上,選取 [Logic Apps 管理]。
注意
如果在執行之後,[Logic Apps 管理] 圖格未立即顯示結果,請嘗試選取 [重新整理],或於短暫等候之後再試一次。
摘要頁面會顯示依名稱或執行狀態分組的工作流程。 該頁面也會顯示工作流程執行動作或觸發程序中失敗的詳細資料。
若要檢視特定工作流程或狀態的所有執行,請選取該工作流程或狀態的資料列。
此範例顯示特定工作流程的所有執行:
針對您在新增已追蹤屬性的動作,您可以使用資料行篩選來搜尋已追蹤屬性。 若要檢視屬性,請在 [已追蹤屬性] 資料行中,選取 [檢視]。
若要篩選您的結果,您可以執行用戶端和伺服器端篩選。
用戶端篩選:針對每個資料行,選取您想要的篩選條件,例如:
伺服器端篩選:若要選取特定時間範圍或限制出現的執行次數,請使用頁面頂端的範圍控制項。 根據預設,一次只能出現 1,000 筆記錄。
若要檢視特定執行的所有動作及其詳細資料,請選取邏輯應用程式工作流程執行的資料列。
下列範例顯示特定邏輯應用程式工作流程執行的所有動作和觸發程序:
將診斷資料傳送至 Azure 儲存體和 Azure 事件中樞
除了 Azure 監視器記錄外,您可以將收集的資料傳送至其他目的地,例如:
您可以接著使用其他服務 (如 Azure 串流分析和 Power BI) 的遙測和分析來進行即時監視,例如:
注意
只有在使用儲存體帳戶時,才會套用保留期間。
在診斷資料中包含自訂屬性
在工作流程中,觸發程序和動作可讓您新增下列自訂屬性,使其值與 Log Analytics 工作區中發出的診斷資料一起顯示。
自訂追蹤 ID
大部分觸發程序都有自訂追蹤 ID 屬性,您可以在其中使用運算式來指定追蹤 ID。 您可以使用這個運算式從接收的訊息承載取得資料,或產生唯一值,例如:
如果您未指定此自訂追蹤 ID,Azure 會自動產生此 ID,並讓整個工作流程執行的事件相互關聯,包括從父系工作流程呼叫的任何巢狀工作流程。 您可以使用觸發程序要求中的自訂識別碼值來傳遞 x-ms-client-tracking-id
標頭,在觸發程序中手動指定此識別碼。 您可以使用要求觸發程序、HTTP 觸發程序或 Webhook 型觸發程序。
追蹤的屬性
動作具有已追蹤屬性區段,您可以在該處輸入運算式或硬式編碼值來追蹤特定輸入或輸出,以指定自訂屬性名稱和值,例如:
追蹤的屬性只能追蹤單一動作的輸入和輸出,但您可以使用事件的 correlation
屬性來跨工作流程執行中的動作進行相互關聯。
已追蹤屬性只能參考其本身觸發程序或動作的參數、輸入和輸出。
在具有安全輸入、安全輸出或兩者的觸發程序或動作上,不允許已追蹤屬性。 已追蹤屬性也不允許參考具有安全輸入、安全輸出或兩者的另一個觸發程序或動作。
下列範例顯示自訂屬性出現在 Log Analytics 工作區的位置:
在 Log Analytics 工作區功能表上,於 [傳統] 底下,選取 [工作區摘要]。 在 [概觀] 頁面上,選取 [Logic Apps 管理]。
選取您要檢閱之工作流程的資料列。
在 [執行] 頁面上,於 [邏輯應用程式執行] 資料表中尋找 [追蹤 ID] 資料行和 [追蹤的屬性] 資料行。
請可以使用資料行篩選來搜尋追蹤屬性。 若要檢視屬性,請選擇 [檢視]。