共用方式為


將診斷資料傳送至適用於 Azure 虛擬桌面的 Log Analytics

重要

本內容適用於具有 Azure Resource Manager Azure 虛擬桌面物件的 Azure 虛擬桌面。 如果您使用不含 Azure Resource Manager 物件的 Azure 虛擬桌面 (傳統),請參閱此文章

Azure 虛擬桌面會使用 Azure 監視器進行監視和警示,與其他 Azure 服務一樣。 系統管理員能藉此透過單一介面來辨識問題。 服務會建立使用者和系統管理動作的活動記錄。 每個活動記錄都屬於下列類別:

類別 描述
管理活動 使用 API 或 PowerShell 變更 Azure 虛擬桌面物件的嘗試是否成功。
摘要 使用者是否可以成功訂閱工作區。
連線 當使用者啟動並完成與服務的連線時。
主機註冊 工作階段主機是否已在連線時成功向服務進行註冊。
錯誤 使用者是否在從事特定活動時遇到問題。
檢查點 在活動的存留期中達到的特定步驟。
代理程式健全狀況狀態 監視每個工作階段主機上所安裝 Azure 虛擬桌面代理程式的健康情況和狀態。
網路 使用者工作階段的平均網路資料,以監視詳細資料,包括預估來回行程時間。
連線圖形 來自 Azure 虛擬桌面圖形串流的效能資料。
工作階段主機管理活動 工作階段主機的管理活動。
Autoscale 調整作業。

因為診斷角色服務本身是 Azure 虛擬桌面的一部分,所以在診斷結果中不會顯示未觸達 Azure 虛擬桌面的連線。 當使用者遇到網路連線問題時,可能是發生了 Azure 虛擬桌面連線問題。

Azure 監視器可讓您在同一個工具內,分析 Azure 虛擬桌面資料,並檢閱虛擬機器 (VM) 效能計數器。 本文將告訴您如何為 Azure 虛擬桌面環境啟用診斷的詳細資訊。

注意

若要了解如何在 Azure 中監視 VM,請參閱使用Azure 監視器來監視 Azure 虛擬機器。 此外,請務必檢閱 Azure 虛擬桌面深入解析詞彙,以進一步了解工作階段主機上的使用者體驗。

必要條件

在您可以搭配 Log Analytics 使用 Azure 虛擬桌面之前,您需要:

將診斷資料推送至工作區

您可以將診斷資料從 Azure 虛擬桌面物件推送至工作區的記錄分析。 您可以在第一次建立物件時,當下設定此功能。

若要為新物件設定記錄分析:

  1. 登入 Azure 入口網站,然後移至 [Azure 虛擬桌面]

  2. 瀏覽至您要擷取記錄和事件的 [物件] (例如主機集區、應用程式群組或工作區)。

  3. 在畫面控制項左側,選取功能表中的 [診斷設定]

  4. 在畫面控制項右側出現的功能表中,選取 [新增診斷設定]

    [診斷設定] 頁面中顯示的選項會根據您正在編輯的物件種類而有所不同。

    例如,當您為應用程式群組啟用診斷時,您會看到設定檢查點、錯誤及管理的選項。 這些類別對於工作區會設定摘要,以追蹤使用者何時訂閱應用程式的清單。 如需深入了解診斷設定,請參閱建立診斷設定以收集 Azure 中的資源記錄和計量

    重要

    請記得針對您想要監視的每個 Azure Resource Manager 物件啟用 [診斷]。 啟用 [診斷] 之後,資料將可用於活動。 首次設定可能需要數小時的時間。

  5. 輸入設定組態的名稱,然後選取 [傳送至記錄分析]。 您使用的名稱不應該有空格,而且必須符合 Azure 命名慣例。 在記錄中,您可以選取您想要新增至記錄分析的所有選項,例如檢查點、錯誤、管理等等。

  6. 選取 [儲存]

注意

記錄分析可讓您選擇將資料串流至事件中樞,或將其封存於儲存體帳戶中。 若要深入了解這項功能,請參閱將 Azure 監視資料串流至事件中樞,以及將 Azure 資源記錄封存至儲存體帳戶

如何存取記錄分析

您可以在 Azure 入口網站 或 Azure 監視器上存取 Log Analytics 工作區。

存取 Log Analytics 工作區上的記錄分析

  1. 登入 Azure 入口網站。

  2. 搜尋 [Log Analytics 工作區]

  3. 從 [服務] 中選取 [Log Analytics 工作區]

  4. 從清單中選取您為 Azure 虛擬桌面物件設定的工作區。

  5. 在工作區中選取 [記錄]。 您可以使用 Search 函式來篩選出功能表清單。

存取 Azure 監視器上的記錄分析

  1. 登入 Azure 入口網站。

  2. 搜尋並選取 [監視]

  3. 選取 [記錄] 。

  4. 請遵循記錄頁面中的指示來設定查詢的範圍。

  5. 您已準備好進行查詢診斷。 所有診斷資料表都有 "WVD" 前置詞。

注意

如需儲存在 Azure 監視器記錄中之資料表的詳細資訊,請參閱 Azure 監視器資料參考。 與 Azure 虛擬桌面相關的所有資料表都會加上前置詞「WVD」。

傳送診斷事件的步調

診斷事件會在完成時傳送至 Log Analytics。

記錄分析只會報告這些中繼狀態中的連線活動:

  • 已啟動:當使用者在遠端桌面用戶端中選取並連線至應用程式或桌面時。
  • 已連線:當使用者成功連線至裝載應用程式或桌面的 VM 時。
  • 已完成:當使用者或伺服器中斷活動發生的工作階段連線時。

範例查詢

透過 Azure 監視器記錄分析 UI 存取範例查詢:

  1. 移至您的 Log Analytics 工作區,然後選取 [記錄]。 會自動顯示範例查詢 UI。
  2. 將篩選變更為 [類別]
  3. 選取 [Azure 虛擬桌面] 以檢閱可用的查詢。
  4. 選取 [執行] 以執行選取的查詢。

深入了解 Azure 監視器記錄分析中已儲存查詢中的範例查詢介面。

下列查詢清單可讓您檢閱單一使用者的連線資訊或問題。 您可以在記錄分析查詢編輯器中執行這些查詢。 針對每個查詢,將 userupn 取代為您想要查閱之使用者的 UPN。

若要尋找單一使用者的所有連線:

WVDConnections
|where UserName == "userupn"
|take 100
|sort by TimeGenerated asc, CorrelationId

若要尋找使用者每天連線的次數:

WVDConnections
|where UserName == "userupn"
|take 100
|sort by TimeGenerated asc, CorrelationId
|summarize dcount(CorrelationId) by bin(TimeGenerated, 1d)

若要依使用者尋找工作階段持續時間:

let Events = WVDConnections | where UserName == "userupn" ;
Events
| where State == "Connected"
| project CorrelationId , UserName, ResourceAlias , StartTime=TimeGenerated
| join (Events
| where State == "Completed"
| project EndTime=TimeGenerated, CorrelationId)
on CorrelationId
| project Duration = EndTime - StartTime, ResourceAlias
| sort by Duration asc

若要尋找特定使用者的錯誤:

WVDErrors
| where UserName == "userupn"
|take 100

若要找出其他使用者是否發生特定錯誤:

WVDErrors
| where CodeSymbolic =="ErrorSymbolicCode"
| summarize count(UserName) by CodeSymbolic

注意

  • 當使用者啟動完整的桌面工作階段時,其工作階段中的應用程式使用方式不會追蹤為 WVDCheckpoints 資料表中的檢查點。
  • WVDConnections 資料表中的 ResourcesAlias 資料行會顯示使用者是否已連線到完整桌面或已發佈的應用程式。 資料行只會顯示使用者在連線期間開啟的第一個應用程式。 使用者開啟的任何已發佈應用程式會在 WVDCheckpoints 中追蹤。
  • WVDErrors 資料表會顯示管理錯誤、主機註冊問題,以及使用者訂閱應用程式或桌面清單時所發生的其他問題。
  • WVDErrors 資料表也可協助您識別系統管理工作可以解決的問題。 ServiceError 上的值應該對於這些類型的問題一律等於 false。 如果 ServiceError 等於 true,您必須將問題呈報給 Microsoft。 請確定您為呈報的錯誤提供 CorrelationID
  • 偵錯連線問題時,在某些情況下,可能會遺漏用戶端資訊,即使線上活動已完成也有可能發生。 這適用於 WVDConnectionsWVDCheckpoints 資料表。

下一步