共用方式為


在 Azure Logic Apps 中啟用和檢視 Application Insights 中標準工作流程的增強遙測資料

適用於:Azure Logic Apps (標準)

在 Application Insights 中,您可以啟用 Standard 邏輯應用程式資源的增強遙測收集,然後在工作流程完成執行之後檢視收集的數據。 這項功能可讓您簡化的體驗,以探索工作流程的深入解析,並更能控制數據源上的篩選事件,以協助您降低記憶體成本。 這些改進著重於即時效能計量,可提供您系統健康情況和行為的深入解析。 這可協助您主動偵測及解決稍早的問題。

透過連線到 Application Insights 的邏輯應用程式,您可以使用即時計量串流,透過 Azure 入口網站,以近乎即時的方式檢視記錄數據和其他計量。 您也有視覺效果,可協助您繪製連入要求、傳出要求,以及追蹤層級診斷數據表的整體健全狀況和存取權。

下列清單描述一些範例遙測改善:

  • 觸發程式和動作事件現在包含觸發程式或動作類型和 API 名稱,可讓您查詢特定連接器的使用方式。
  • 讓重試事件更容易追蹤。
  • 擷取觸發程式和動作失敗的例外狀況。
  • 更能控制篩選非工作流程相關事件。
  • 進階篩選可讓您更充分掌控事件的發出方式,包括觸發程式和動作。

本指南說明如何在 Standard 邏輯應用程式的 Application Insights 中開啟增強型遙測集合。

必要條件

  • Azure 帳戶和訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶

  • Application Insights 執行個體。 當您建立標準邏輯應用程式,或在邏輯應用程式部署之後,事先建立此資源。

  • 標準邏輯應用程式和工作流程,無論是在 Azure 入口網站或 Visual Studio Code 中。

    • 邏輯應用程式資源或專案必須使用預設啟用的 Azure Functions v4 執行階段。

    • 邏輯應用程式必須已啟用 Application Insights 以進行診斷記錄和追蹤。 您可以在建立邏輯應用程式時或在部署之後執行此動作。

在 Application Insights 中啟用增強型遙測

  1. Azure 入口網站中,開啟您的標準邏輯應用程式資源。

  2. 在邏輯應用程式功能表的 [開發工具] 之下,選取 [進階工具]。 在 [進階工具] 頁面上,選取 [開始],這會開啟 Kudu 工具。

  3. 在 [Kudu] 頁面上,從 [偵錯主控台] 功能表中選取 [CMD]。 在資料夾目錄資料表中,瀏覽至下列檔案,然後選取 [編輯]site/wwwroot/host.json

  4. host.json 檔案中,新增下列 JSON 程式碼:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
          "version": "[1, 2.00]"
       },
       "extensions": {
          "workflow": {
             "Settings": {
                "Runtime.ApplicationInsightTelemetryVersion": "v2"
             }
          }
       }
    }
    

    此組態會啟用預設的詳細資訊層級。 如需其他選項,請參閱在來源套用篩選

開啟 Application Insights

工作流程完成執行並經過幾分鐘之後,請開啟 Application Insights 資源。

  1. Azure 入口網站的邏輯應用程式功能表上,於 [設定] 底下選取 [Application Insights]

  2. 在 Application Insights 資源功能表上的 [監視] 底下,選取 [記錄]

在 Application Insights 中檢視增強的記錄

下列各節說明 Application Insights 中的資料表,您可以在其中尋找及檢視從工作流程執行產生的增強式遙測。

資料表名稱 描述
要求 工作流程執行中下列事件的詳細資料:

- 觸發程序和動作事件
- 重試嘗試
- 連接器使用方式
追蹤 工作流程執行中下列事件的詳細資料:

- 工作流程開始和結束事件
- 批次傳送和批次接收事件
例外狀況 工作流程執行中例外狀況事件的詳細資料
相依性 工作流程執行中相依性事件的詳細資料

要求資料表

要求資料表包含欄位,可追蹤標準工作流程執行中下列事件的相關資料:

  • 觸發程序和動作事件
  • 重試次數
  • 連接器使用方式

若要顯示資料如何進入這些欄位,假設您有下列範例標準工作流程,其開頭為要求觸發程序,後面接著撰寫動作和回應動作。

螢幕擷取畫面顯示 Azure 入口網站和標準工作流程設計工具,其中含有觸發程序和動作。

觸發程式的設定具有名為 自定義追蹤標識碼的參數。參數值會設定為從傳入訊息本文提取 orderId 屬性值的表示式:

螢幕擷取畫面顯示 Azure 入口網站、標準工作流程、已選取的 [要求] 觸發程序、[設定] 索引標籤和自訂追蹤 ID。

接下來,工作流程的撰寫動作設定已新增名為 solutionName 的追蹤屬性。 屬性值會設定為邏輯應用程式資源的名稱。

螢幕擷取畫面顯示 Azure 入口網站、標準工作流程、已選取的 [撰寫] 動作、[設定] 索引標籤和已追蹤的屬性。

撰寫動作後面接著會傳回呼叫者回應的回應動作。

下列清單包含您可以針對要求資料表建立和執行的範例查詢:

Task 步驟
檢視所有觸發程序和動作事件 查詢所有觸發程序和動作事件
只檢視觸發事件或動作事件 只查詢觸發程序或動作事件
檢視具有特定作業類型的觸發程序或動作事件 依作業類型查詢觸發程序或動作事件
檢視具有特定工作流程執行識別碼的觸發程序和動作事件 依工作流程執行識別碼查詢觸發程序和動作事件
檢視具有特定用戶端追蹤識別碼的觸發程序和動作事件 依用戶端追蹤識別碼查詢觸發程序和動作事件
檢視具有特定解決方案名稱的觸發程序和動作事件 依方案名稱查詢觸發程序和動作事件
使用重試嘗試檢視觸發程序和動作事件 重試嘗試的查詢觸發程序和動作事件
使用連接器使用方式檢視觸發程序和動作事件 查詢連接器使用方式的觸發程序和動作事件

查詢所有觸發程序和動作事件

在工作流程執行和幾分鐘之後,您可以針對要求資料表建立查詢,以檢視所有作業事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視所有觸發程序和動作事件,請建立並執行下列查詢:

    requests
    | sort by timestamp desc
    | take 10
    

    下列範例顯示 [結果] 索引標籤,其中包含每個資料列中已指出的資料行和資料:

    螢幕擷取畫面顯示工作流程執行中的 Application Insights、查詢、[結果] 索引標籤和作業事件。

    資料行 描述 範例
    name 工作流程作業名稱 在此範例中,資料列會顯示手動 (要求觸發程序)、撰寫回應
    成功 作業執行狀態 在此範例中,所有資料列都會針對成功執行顯示 True。 如果發生錯誤,則值為 False
    resultCode 作業執行狀態碼 在此範例中,所有資料列都會顯示 Succeeded (200)。
    duration 作業執行持續時間 每個作業各有不同。
  3. 若要檢視特定作業的詳細資料,請展開觸發程序或動作的資料列:

    下列範例顯示 [要求] 觸發程序的展開詳細資料:

    螢幕擷取畫面顯示 Application Insights、[要求] 觸發程序的 [結果] 索引標籤,以及詳細資料。

    屬性 說明 範例
    類別 作業類別目錄,取決於作業一律是 Workflow.Operations.TriggersWorkflow.Operations.Actions Workflow.Operations.Triggers
    clientTrackingId 自訂追蹤識別碼 (如果指定) 123456
    runId 工作流程執行執行個體的識別碼 08585358375819913417237801890CU00
    triggerName 觸發程序名稱 手動
    workflowId 執行觸發程序的工作流程識別碼 c7711d107e6647179c2e15fe2c2720ce
    workflowName 執行觸發程序的工作流程名稱 Request-Response-Workflow
    operation_Name 執行觸發程序的作業名稱。 在此情況下,此名稱與工作流程名稱相同。 Request-Response-Workflow
    operation_Id 剛執行之元件或工作流程的識別碼。 此識別碼與工作流程執行執行個體的 runId 值相同。 如果例外狀況或相依性存在,這個值會超出資料表,讓您可以將此觸發程序記錄連結到這些例外狀況或相依性。 08585358375819913417237801890CU00
    operation_ParentId 呼叫觸發程序之工作流程的可連結識別碼 f95138daff8ab129

    下列範例顯示撰寫動作的展開詳細資料:

    螢幕擷取畫面顯示 Application Insights、[撰寫] 動作的 [結果] 索引標籤,以及詳細資料。

    屬性 說明 範例
    類別 作業類別目錄,取決於作業一律是 Workflow.Operations.TriggersWorkflow.Operations.Actions Workflow.Operations.Actions
    clientTrackingId 自訂追蹤識別碼 (如果指定) 123456
    actionName 動作名稱 組成
    runId 工作流程執行執行個體的識別碼 08585358375819913417237801890CU00
    workflowId 執行動作之工作流程的識別碼 c7711d107e6647179c2e15fe2c2720ce
    workflowName 執行動作之工作流程的名稱 Request-Response-Workflow
    solutionName 追蹤的屬性名稱 (如果指定) LA-AppInsights
    operation_Name 執行動作之作業的名稱。 在此情況下,此名稱與工作流程名稱相同。 Request-Response-Workflow
    operation_Id 剛執行之元件或工作流程的識別碼。 此識別碼與工作流程執行執行個體的 runId 值相同。 如果例外狀況或相依性存在,這個值會超出資料表,讓您可以將此動作記錄連結到這些例外狀況或相依性。 08585358375819913417237801890CU00
    operation_ParentId 呼叫動作之工作流程的可連結識別碼 f95138daff8ab129

只查詢觸發程序或動作事件

您可以根據作業類別和工作流程名稱,針對要求資料表建立查詢,以檢視作業事件的子集。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視特定工作流程中的所有觸發程序事件,請將 customDimensions.Category 屬性值設定為 Workflow.Operations.Triggers 以及 operation_Name 設定為工作流程名稱來建立並執行查詢,例如:

    requests
    | where customDimensions.Category == "Workflow.Operations.Triggers" and operation_Name == "Request-Response-Workflow"
    

    螢幕擷取畫面顯示僅限觸發程序的 [要求] 資料表查詢。

  3. 若要檢視特定工作流程中的所有動作事件,請將 customDimensions.Category 屬性值設定為 Workflow.Operations.Actions 以及 operation_Name 設定為工作流程名稱來建立查詢,例如:

    requests
    | where customDimensions.Category == "Workflow.Operations.Actions" and operation_Name == "Request-Response-Workflow"
    

    螢幕擷取畫面顯示僅限動作的 [要求] 資料表查詢。

依作業類型查詢觸發程序或動作事件

您可以針對要求資料表建立查詢,以檢視特定觸發程序或動作類型的事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視具有特定觸發程序類型的所有作業事件,請建立並執行查詢,並將 customDimensions.triggerType 值設定為您想要的觸發程序類型,例如:

    requests
    | where customDimensions.triggerType == "Request"
    

    螢幕擷取畫面顯示 [要求] 觸發程序類型的 [要求] 資料表查詢。

  3. 若要檢視具有特定動作類型的所有作業事件,請將 customDimensions.actionType 值設定為您想要的動作類型來建立並執行查詢,例如:

    requests
    | where customDimensions.actionType == "Compose"
    

    螢幕擷取畫面顯示 [撰寫] 動作類型的 [要求] 資料表查詢。

依工作流程執行識別碼查詢觸發程序和動作事件

您可以根據工作流程執行識別碼,針對要求資料表建立查詢,以檢視作業事件的子集。 此工作流程執行識別碼與您在工作流程的執行歷程記錄中找到的識別碼相同。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視具有特定工作流程執行識別碼的所有作業事件,請建立並執行查詢,並將 operation_Id 值設定為工作流程執行識別碼,例如:

    requests
    | where operation_Id == "08585287554177334956853859655CU00"
    

    螢幕擷取畫面顯示以工作流程執行識別碼為依據的 [要求] 資料表查詢。

依用戶端追蹤識別碼查詢觸發程序和動作事件

您可以根據工作流程名稱和用戶端追蹤識別碼,針對要求資料表建立查詢,以檢視作業事件的子集。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視特定工作流程中具有特定用戶端追蹤識別碼的所有作業事件,請將 operation_Name 值設定為工作流程名稱,以及 clientTrackingId 屬性值設定為您想要的值來建立並執行查詢,例如:

    requests
    | where operation_Name == "Request-Response-Workflow"
    | extend correlation = todynamic(tostring(customDimensions.correlation))
    | where correlation.clientTrackingId == "123456"
    

    螢幕擷取畫面顯示使用作業名稱和用戶端追蹤 ID 的查詢結果。

依方案名稱查詢觸發程序和動作事件

您可以根據工作流程名稱和方案名稱,針對要求資料表建立查詢,以檢視作業事件的子集。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視特定工作流程中具有特定用戶端追蹤識別碼的所有作業事件,請將 operation_Name 值設定為工作流程名稱,以及 solutionName 屬性值設定為您想要的值來建立並執行查詢,例如:

    requests
    | where operation_Name == "Request-Response-Workflow" and customDimensions has "trackedProperties"
    | extend trackedProperties = todynamic(tostring(customDimensions.trackedProperties))
    | where trackedProperties.solutionName == "LA-AppInsights"
    

    螢幕擷取畫面顯示使用作業名稱和解決方案名稱的查詢結果。

重試次數

為了顯示此資料如何進入要求資料表,下列範例標準工作流程會使用呼叫不會解析之 URL 的 HTTP 動作。 工作流程也有一個重試原則設定為固定間隔,每 60 秒重試三次。

螢幕擷取畫面顯示 Azure 入口網站、標準工作流程、已選取的 [HTTP] 動作、[設定] 索引標籤和重試原則。

重試嘗試的查詢觸發程序和動作事件

您可以針對要求資料表建立查詢,以使用重試嘗試來檢視作業事件的子集。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要只檢視具有重試歷程記錄的觸發程序和動作事件,請在 Application Insights 中建立並執行下列查詢:

    requests
    | extend retryHistory = tostring(tostring(customDimensions.retryHistory))
    | where isnotempty(retryHistory)
    
  3. 若要使用重試原則檢視特定作業的重試嘗試,請展開該作業的資料列。

    下列範例顯示 HTTP 動作的展開詳細資料:

    螢幕擷取畫面顯示 Application Insights、[HTTP] 動作的 [結果] 索引標籤,以及詳細資料。

    successresultCode 屬性值表示 HTTP 動作失敗。 除了查詢所有觸發程序和動作事件的要求資料表中所述的屬性,記錄包含下列資訊,其中包括三次重試嘗試:

    屬性 說明 範例
    retryHistory 一或多個重試嘗試的歷程記錄詳細資料
    code 特定重試嘗試的錯誤類型
    error 發生之特定錯誤的詳細資料

連接器使用方式的查詢觸發程序和動作事件

您可以根據特定的連接器使用方式,針對要求資料表建立查詢,以檢視作業事件的子集。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要使用特定連接器類型來檢視所有觸發程序事件,請使用下列屬性和值建立並執行查詢:

    requests
    | where customDimensions.Category == "Workflow.Operations.Triggers" and customDimensions.triggerType =="ApiConnectionWebhook" and customDimensions.apiName =="commondataservice"
    
    屬性 範例值
    customDimensions.Category Workflow.Operations.Triggers
    customDimensions.triggerType 作業類型,例如 ApiConnectionWebhook
    customDimensions.apiName JSON 格式的連接器 API 名稱,例如 Microsoft Dataverse 連接器的 commondataservice

    螢幕擷取畫面顯示 Application Insights、具有 ApiConnectionWebhook 連線之 Microsoft Dataverse 觸發程序事件的 [結果] 索引標籤。

  3. 若要檢視具有特定連接器使用方式的所有動作事件,請將 customDimensions.Category 值設定為 Workflow.Operations.ActionscustomDimensions.triggerType 值設定為作業類型,以及 customDimensions.apiName 設定為 JSON 格式的連接器 API 名稱來建立並執行查詢,例如:

    屬性 範例值
    customDimensions.Category Workflow.Operations.Actions
    customDimensions.triggerType 作業類型,例如 ApiConnection
    customDimensions.apiName JSON 格式的連接器 API 名稱,例如 Microsoft Office 365 Outlook 連接器的 office365
    requests
    | where customDimensions.Category == "Workflow.Operations.Actions" and customDimensions.actionType == "ApiConnection" and customDimensions.apiName == "office365"
    

    螢幕擷取畫面顯示 Application Insights、具有 ApiConnectionWebhook 連線之 Microsoft Office 365 Outlook 動作的 [結果] 索引標籤。

針對觸發程序和動作,Application Insights 會區分存在的連線類型。 您可以根據連線是否有 ApiConnectionApiConnectionWebhook要求等內建基本類型,或內建服務提供者型 ServiceProvider 類型,在 [actionType] 和 [triggerType] 欄位中看到不同的值。

追蹤資料表

追蹤資料表包含欄位,可追蹤標準工作流程執行中下列事件的相關資料:

下列清單包含您可以針對追蹤資料表建立和執行的範例查詢:

Task 步驟
檢視所有工作流程執行的開始和結束事件 查詢所有工作流程執行的開始和結束事件
檢視特定工作流程執行的開始和結束事件 查詢工作流程執行的開始和結束事件
檢視所有工作流程執行中的批次傳送和接收事件 查詢所有工作流程執行中的批次傳送和批次接收事件

查詢所有工作流程執行的開始和結束事件

您可以針對追蹤資料表建立查詢,以檢視所有工作流程執行的所有開始和結束事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 請將 customDimensions.Category 值設定為 Workflow.Operations.Runs 來建立並執行查詢,例如:

    traces
    | where customDimensions.Category == "Workflow.Operations.Runs"
    

    螢幕擷取畫面顯示 Application Insights、所有工作流程執行之開始和事件的 [結果] 索引標籤。

查詢特定工作流程執行的開始和結束事件

您可以針對追蹤資料表建立查詢,以檢視特定工作流程執行的開始和結束事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 請將 customDimensions.Category 值設定為 Workflow.Operations.Run,並將 operation_Id 值設定為工作流程執行識別碼來建立並執行查詢,例如:

    traces
    | where customDimensions.Category == "Workflow.Operations.Runs"
    | and operation_Id == "08585287571846573488078100997CU00"
    

    螢幕擷取畫面顯示 Application Insights、特定流程執行之開始和事件的 [結果] 索引標籤。

查詢所有工作流程執行中的批次傳送和批次接收事件

您可以針對追蹤資料表建立查詢,以檢視所有工作流程執行中的批次傳送和批次接收事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 請將 customDimensions.Category 值設定為 Workflow.Operations.Run,並將 operation_Id 值設定為工作流程執行識別碼來建立並執行查詢,例如:

    traces
    | where customDimensions.Category == "Workflow.Operations.Batch"
    

    螢幕擷取畫面顯示 Application Insights、所有工作流程執行中批次傳送和批次接收事件的 [結果] 索引標籤。

例外狀況資料表

例外狀況資料表包含欄位,可追蹤標準工作流程執行中例外狀況事件的相關資料。 若要顯示資料如何進入這些欄位,假設您有下列範例標準工作流程,其開頭為要求觸發程序,後面接著撰寫動作和回應動作。 撰寫動作會使用將值除以零的運算式,這會產生例外狀況:

螢幕擷取畫面顯示 Azure 入口網站、標準工作流程設計工具、[要求] 觸發程序、具有例外狀況產生運算式的 [撰寫] 動作,以及 [回應] 動作。

查詢所有工作流程執行中的例外狀況事件

您可以針對例外狀況資料表建立查詢,以檢視所有工作流程執行中的例外狀況事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視所有例外狀況事件,請在 Application Insights 中建立並執行下列查詢:

    exceptions
    | sort by timestamp desc
    
  3. 若要檢視特定例外狀況的詳細資料,請展開該例外狀況的資料列:

    下列範例顯示撰寫動作的展開例外狀況,以及例外狀況的詳細資料:

    螢幕擷取畫面顯示 Application Insights、例外狀況事件的 [結果] 索引標籤 (其中含有已展開 [撰寫] 動作的例外狀況事件),以及例外狀況詳細資料。

    屬性 說明
    problemId 例外狀況類型,或發生例外狀況的簡短描述
    outerMessage 例外狀況的更詳細描述
    details 例外狀況的詳細資訊和最完整的資訊
    clientTrackingId 用戶端追蹤識別碼 (如果指定)
    workflowId 發生例外狀況之工作流程的識別碼
    workflowName 發生例外狀況之工作流程的名稱
    runId 工作流程執行執行個體的識別碼
    actionName 例外狀況失敗之動作的名稱
    operation_Name 發生例外狀況之工作流程的名稱
    operation_Id 剛執行之元件或工作流程的識別碼。 此識別碼與工作流程執行執行個體的 runId 值相同。 此值超出資料表,因此您可以將此例外狀況記錄與工作流程執行執行個體連結。
    operation_ParentId 呼叫動作之工作流程的識別碼,您可以在要求資料表中連結到動作的識別碼
  4. 若要檢視特定工作流程的例外狀況,請建立並執行下列查詢:

    exceptions
    | where operation_Name contains "Request-Response-Workflow-Exception"
    

相依性資料表

相依性資料表包含欄位,可追蹤標準工作流程執行中相依性事件的相關資料。 當某個資源呼叫另一個資源,且這兩個資源都使用 Application Insights 時,就會發出這些事件。 Azure Logic Apps 的範例包括透過 HTTP、資料庫或檔案系統呼叫另一個服務的服務。 Application Insights 會測量相依性呼叫的持續時間,以及這些呼叫是否成功或失敗,以及相依性名稱等資訊。 您可以調查特定的相依性呼叫,然後將其與要求和例外狀況相互關聯。

若要顯示資料如何進入這些欄位,假設您有下列使用 HTTP 動作透過 HTTP 呼叫子工作流程的標準父工作流程範例:

螢幕擷取畫面顯示 Azure 入口網站、標準工作流程設計工具,其中含有使用 [HTTP] 動作呼叫子工作流程的上層工作流程。

查詢特定工作流程中的相依性事件

您可以針對相依性資料表建立查詢,以檢視特定工作流程執行中的相依性事件。

  1. 如有必要,請選取您想要檢閱的時間範圍。 根據預設,此值是過去 24 小時。

  2. 若要檢視父工作流程與子工作流程之間的相依性事件,請建立並執行下列查詢:

    union requests, dependencies
    | where operation_Id contains "<runId>"
    

    此查詢會使用 union 運算子,從要求資料表和相依性資料表傳回記錄。 查詢也會使用 operation_Id 屬性值,藉由指定您想要的工作流程 runId 值來提供記錄之間的連結,例如:

    union requests, dependencies
    | where operation_Id contains "08585355753671110236506928546CU00"
    

    下列範例顯示指定工作流程的相依性事件,包括來自要求資料表之父工作流程中作業事件的記錄,以及相依性資料表的相依性記錄:

    螢幕擷取畫面顯示 Application Insights、含有特定工作流程之相依性事件的 [結果] 索引標籤。

    針對作業事件記錄,itemType 資料行會將其記錄類型顯示為要求。 針對相依性記錄,itemType 資料行會指出記錄類型為相依性

    屬性 說明
    runId 工作流程執行執行個體的識別碼
    actionName 發生相依性事件所在動作的名稱
    operation_Id 指定工作流程的識別碼。 此識別碼與工作流程執行執行個體的 runId 值相同。 這個值超出資料表,讓您可以連結此相依性記錄與工作流程執行執行個體。
    operation_ParentId 發生相依性事件所在動作的識別碼,這也會將作業事件記錄和相依性事件記錄連結在一起

使用查詢時,您也可以在 Application Insights 中使用應用程式對應時,將父工作流程的相依性呼叫視覺化至子工作流程。 查詢中的 operation_Id 值會提供連結,讓此視覺效果成為可能。

若要開啟應用程式對應,請在 Application Insights 資源功能表上的 [調查] 底下,選取 [應用程式對應]

螢幕擷取畫面顯示 Application Insights 和應用程式對應,其中包括上層工作流程與子工作流程之間的相依性。

篩選事件

在 Application Insights 中,您可以透過下列方式篩選事件:

  • 如先前各節所述,建立並執行查詢。

  • 藉由指定要在發出事件之前評估的準則來篩選來源。

    藉由在來源套用篩選,您可以減少所需的儲存體數量,以及因此產生的營運成本。

在來源套用篩選

在要求資料表或追蹤資料表中,記錄具有名為 customDimensions 的節點,其中包含類別屬性。 例如,在要求資料表中,批次觸發程序事件的要求記錄看起來類似下列範例:

螢幕擷取畫面顯示 Application Insights,其中含有批次訊息觸發事件的 [要求] 資料表和記錄。

在 [要求] 資料表中,下列類別屬性值可協助您區分和關聯不同的詳細資訊層級:

類別值 描述
Workflow.Operations.Triggers 識別觸發程序事件的要求記錄
Workflow.Operations.Actions 識別動作事件的要求記錄

針對每個類別值,您可以在邏輯應用程式資源或專案的 host.json 檔案中,獨立設定詳細資訊層級。 例如,若要只傳回發生錯誤的觸發程序或動作事件的記錄,請在 host.json 檔案中新增下列記錄 JSON 物件,其中包含具有所需詳細資訊層級的 logLevel JSON 物件:

{
   "logging": {
      "logLevel": {
         "Workflow.Operations.Actions": "Error",
         "Workflow.Operations.Triggers": "Error"
      }
   }
}

針對追蹤資料表記錄,下列範例顯示您可以變更事件詳細資訊層級的方式:

{
   "logging": {
      "logLevel": {
         "Workflow.Host": "Warning",
         "Workflow.Jobs": "Warning",
         "Workflow.Runtime": "Warning"
      }
   }
}

下列範例會將記錄的預設詳細資訊層級設定為警告,但會將詳細資訊層級保留在觸發程序、動作和工作流程執行事件的資訊層級:

{
   "logging": {
      "logLevel": {
         "default": "Warning",
         "Workflow.Operations.Actions": "Information",
         "Workflow.Operations.Runs": "Information",
         "Workflow.Operations.Triggers": "Information"
      }
   }
}

如果您未指定任何 logLevel 值,則預設的詳細資訊層級為資訊。 如需詳細資訊,請參閱設定記錄等級

拿掉記憶體相依性錯誤

若要篩選掉記憶體相依性錯誤,例如 404 找不到錯誤和 412 前置條件失敗錯誤,請將 Host.Workflow 記錄層級設定None,例如:

{
   "logging": {
      "logLevel": {
         "Workflow.Host": "Warning",
         "Workflow.Jobs": "Warning",
         "Workflow.Runtime": "Warning",
         "Host.Workflow": "None"
      }
   }
}
  1. Azure 入口網站中,開啟您的標準邏輯應用程式資源。

  2. 在邏輯應用程式功能表的 [開發工具] 之下,選取 [進階工具]。 在 [進階工具] 頁面上,選取 [開始],這會開啟 Kudu 工具。

  3. 在 [Kudu] 頁面上,從 [偵錯主控台] 功能表中選取 [CMD]。 在資料夾目錄資料表中,瀏覽至下列檔案,然後選取 [編輯]site/wwwroot/host.json

  4. host.json 檔案中,新增記錄 JSON 物件,並將 logLevel 值設定為您想要的詳細資訊層級:

    {
       "logging": {
          "logLevel": {
             "Workflow.Operations.Actions": "<verbosity-level>",
             "Workflow.Operations.Triggers": "<verbosity-level>"
          }
       }
    }
    

在 Application Insights 中檢視工作流程計量

透過 Application Insights 中的遙測增強功能,您也可以在 [計量] 儀表板中取得工作流程深入解析。

開啟 [計量] 儀表板並設定基本篩選

  1. 在 Azure 入口網站中,如果尚未開啟,請開啟 Application Insights 資源。

  2. 在 Application Insights 資源功能表上的 [監視] 底下,選取 [計量]

  3. 從 [範圍] 清單中,選取您的 Application Insights 執行個體。

  4. 從 [計量命名空間] 清單中,選取 [workflow.operations]

  5. 從 [計量] 清單中,選取計量,例如 [完成的執行]

  6. 從 [彙總] 清單中,選取類型,例如 [計數] 或 [平均值]

    當您完成時,[計量] 儀表板會顯示已完成工作流程執行的圖表。

    螢幕擷取畫面顯示 Application Insights,其中含有呈現一段時間內已完成工作流程執行之數目的 [計量] 儀表板和圖表。

根據特定工作流程進行篩選

當您在 [計量] 儀表板中啟用多維度計量時,可以將 Application Insights 中擷取的整體事件子集設為目標,並根據特定工作流程來篩選事件。

  1. 在您的 Application Insights 資源上,啟用多維度計量

  2. 在 Application Insights 中,開啟 [計量] 儀表板

  3. 在圖表工具列上,選取 [新增篩選]

  4. 從 [屬性] 清單中,選取 [工作流程]

  5. 從 [運算子] 清單中,選取等號 (=)。

  6. 從 [值] 清單中,選取您想要的工作流程。

    螢幕擷取畫面顯示 Application Insights,其中含有 [計量] 儀表板,以及具有多維度計量的圖表。

檢視「即時」記錄資料和計量

啟用 Application Insights 增強式遙測之後,您可以在 Azure 入口網站中檢視來自 Application Insights 執行個體的近即時記錄資料和其他計量。 您可以使用此視覺效果來繪製輸入要求、輸出要求和整體健康情況。 您也會取得追蹤層級診斷的資料表。

  1. 在 Azure 入口網站中,如果尚未開啟,請開啟 Application Insights 資源。

  2. 在 Application Insights 資源功能表上的 [調查] 底下,選取 [即時計量]

    [即時計量] 頁面會顯示記錄資料和其他計量,例如:

    螢幕擷取畫面顯示 Azure 入口網站和 Application Insights 功能表,其中含有名為 [即時計量] 的選取項目。

如需詳細資訊,請參閱即時計量︰延遲僅 1 秒的監視與診斷

注意

由於標準邏輯應用程式工作流程是以 Azure Functions 為基礎,即時計量支援這些邏輯應用程式工作流程。

從應用程式記錄檔串流和檢視偵錯輸出

啟用 Application Insights 增強式遙測之後,您可以在 Azure 入口網站中,針對應用程式的記錄檔串流詳細資訊偵錯資訊。 這項資訊相當於在本機 Visual Studio Code 環境中偵錯工作流程所產生的輸出。

  1. 在 Azure 入口網站中,開啟您的標準邏輯應用程式資源。

  2. 在邏輯應用程式資源功能表上的 [監視] 底下,選取 [記錄資料流]

    [記錄資料流] 頁面會連線到 Application Insights 執行個體,並顯示偵錯輸出。 例如,下列輸出包含其他資訊之間的要求和回應呼叫:

    螢幕擷取畫面顯示 Azure 入口網站和標準邏輯應用程式功能表,其中含有名為 [記錄串流] 的選取項目。

下一步

啟用或開啟 Application Insights