分享方式:


將診斷數據傳送至適用於 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 虛擬桌面之前,您需要:

  • Log Analytics 工作區。 如需詳細資訊,請參閱在 Azure 入口網站 中建立Log Analytics工作區或使用PowerShell建立Log Analytics工作區。 建立工作區之後,請依照將 Windows 電腦 連線 中的指示移至 Azure 監視器以取得下列資訊:

    • 工作區標識碼
    • 工作區的主鍵

    稍後在安裝程式中,您將需要此資訊。

  • 從您的工作階段主機存取特定 URL,以進行診斷運作。 如需詳細資訊,請參閱 Azure 虛擬桌面的必要 URL,您可以在其中看到診斷輸出的專案

  • 請務必檢閱 Azure 監視器的許可權管理,為監視和維護 Azure 虛擬桌面環境的人員啟用資料存取。 如需詳細資訊,請參閱 開始使用 Azure 監視器的角色、許可權和安全性。

將診斷數據推送至您的工作區

您可以將診斷數據從 Azure 虛擬桌面物件推送至工作區的 Log Analytics。 當您第一次建立物件時,您可以立即設定此功能。

若要設定新物件的Log Analytics:

  1. 登入 Azure 入口網站並移至 Azure 虛擬桌面

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

  3. 選取 畫面左側功能表中的 [診斷設定 ]。

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

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

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

    重要

    請記得針對您想要監視的每個 Azure Resource Manager 物件啟用診斷。 啟用診斷之後,數據將可供活動使用。 第一次設定可能需要數小時的時間。

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

  6. 選取 [儲存]

注意

Log Analytics 可讓您選擇將數據串流至 事件中樞或在 記憶體帳戶中封存。 若要深入瞭解這項功能,請參閱 將 Azure 監視數據串流至事件中樞 ,並將 Azure 資源記錄封存至記憶體帳戶

如何存取 Log Analytics

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

存取 Log Analytics 工作區上的 Log Analytics

  1. 登入 Azure 入口網站。

  2. 搜尋 Log Analytics 工作區

  3. 在 [服務] 底下,選取 [Log Analytics 工作區]。

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

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

存取 Azure 監視器上的 Log Analytics

  1. 登入 Azure 入口網站。

  2. 搜尋並選取 [監視]

  3. 選取 [記錄] 。

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

  5. 您已準備好查詢診斷。 所有診斷數據表都有 「WVD」 前置詞。

注意

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

傳送診斷事件的步調

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

Log Analytics 只會報告這些中繼狀態中的連線活動:

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

範例查詢

透過 Azure 監視器 Log Analytics UI 存取範例查詢:

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

深入瞭解 Azure 監視器 Log Analytics 中已儲存查詢中的範例查詢介面。

下列查詢清單可讓您檢閱單一用戶的連線資訊或問題。 您可以在 Log Analytics 查詢編輯器執行這些查詢。 針對每個查詢,將 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 檢查點。
  • ResourcesAlias數據表中的數據WVDConnections行會顯示使用者是否已連線到完整桌面或已發佈的應用程式。 數據行只會顯示他們在連線期間開啟的第一個應用程式。 用戶開啟的任何已發佈應用程式會在 中 WVDCheckpoints追蹤。
  • 下表 WVDErrors 顯示管理錯誤、主機註冊問題,以及使用者訂閱應用程式或桌面清單時所發生的其他問題。
  • 數據表 WVDErrors 也可協助您識別系統管理工作可以解決的問題。 ServiceError的值應該一律等於false這些類型的問題。 如果 ServiceError 等於 true,您必須將問題呈報給 Microsoft。 請確定您為呈報的錯誤提供 CorrelationID
  • 偵錯連線問題時,在某些情況下,即使連線事件完成,用戶端資訊也可能遺失。 這適用於 WVDConnectionsWVDCheckpoints 數據表。

下一步