Microsoft AZ-140: 監視、診斷與疑難排解 — 學習指南
屬於 Microsoft Azure Virtual Desktop Specialty AZ-140 — 學習指南. 使用經過驗證的解答練習: Microsoft 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
在 Azure Virtual Desktop (AVD) 中進行監控、診斷與疑難排解,是結合了資源層級的平台記錄、客體內部遙測資料以及分析功能,以利及早偵測問題、快速隔離根本原因並驗證使用者體驗。一個穩固的架構會使用 Azure Monitor、Log Analytics、Azure Monitor Agent、資料收集規則以及精心策劃的活頁簿,並針對服務健康狀態和影響使用者的狀況設定主動式警示。本節將說明如何設計監控管線、啟用診斷功能、從工作階段主機收集正確的資料、使用 Kusto 查詢語言 (KQL) 進行分析,以及應對最常見的操作問題,包括用戶端連線能力、AVD 代理程式失敗、FSLogix 設定檔問題和資源瓶頸。
適用於 AVD Insights 的 Azure Monitor 與 Log Analytics 架構
Azure Virtual Desktop Insights 是一個建立在 Azure Monitor 活頁簿和 Log Analytics 之上的解決方案,它將 AVD 平台資源記錄與客體作業系統的遙測資料相互關聯,以提供健康狀態、容量和使用者體驗的檢視。其有效性取決於兩個資料平面:
- 來自 AVD 資源(主機集區、工作區、應用程式群組及 AVD 服務)的平台/資源記錄,透過診斷設定傳送。
- 來自工作階段主機的客體遙測資料,透過 Azure Monitor Agent (AMA) 和資料收集規則 (DCR) 傳送,包括 Windows 事件記錄和效能計數器。
工作區的架構與設計考量:
- 集中式與每個登陸區域 (per-landing-zone) 的工作區:單一且區域相近的工作區可簡化查詢、警示和治理。對於非常龐大的資產或有嚴格資料主權要求的環境,可能需要多個工作區。避免因延遲和成本而進行不必要的跨區域資料擷取。
- 資料保留與成本:根據您的調查時間範圍和法規需求來設定保留期限。典型的操作保留期為 30-90 天,長期資料則可封存至儲存體。僅在適當情況下啟用基本記錄;AVD 診斷記錄最好作為分析記錄,以獲得更佳的查詢效能。
- 多租用戶/多訂閱:使用 Azure Monitor 以資源為中心的存取方式和 Azure RBAC,授予維運團隊限定範圍的查詢權限。在需要時,將記錄串流至 Event Hubs 以供 SIEM 使用。
- 相依性可見度:啟用 VM insights 或收集效能計數器,以便將 CPU、記憶體、磁碟和網路與 AVD 工作階段和連線資料相互關聯。
AVD Insights 活頁簿同時依賴診斷設定和客體內部遙測資料;若缺少任何一項,視覺化圖表將會不完整。
啟用診斷與收集遙測資料
AVD 資源的診斷設定
為下列每種資源類型啟用診斷設定,並將資料傳送到您的 Log Analytics 工作區。您也可以選擇性地將資料封存至儲存體以供長期保留,或串流至 Event Hubs 以進行外部分析。
- 主機集區:啟用 Connection、HostRegistration、Checkpoint、Management、Error 和 NetworkData 等類別。這些類別會擷取連線嘗試、代理程式註冊狀態變更、工作階段檢查點及管理作業。
- 應用程式群組與工作區:啟用 Management 和 Error,以擷取摘要發佈、指派及組態變更。
- AVD 服務層級記錄:在可用情況下,啟用 Error 和 Management,以深入了解與您租用戶相關的服務作業。
工作階段主機上的 Azure Monitor Agent 與 DCR
- 代理程式選擇:使用 Azure Monitor Agent (AMA)。舊版的 Log Analytics 代理程式 (MMA) 已被取代,應予以移除,以避免重複和混淆。
- 資料收集規則 (DCRs):撰寫 DCR 以收集:
- Windows 事件記錄:
- Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
- Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
- Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
- Microsoft-FSLogix-Apps/Operational and Admin
- System and Application (用於核心作業系統、網路、VSS、SMB、儲存體及設定檔事件)
- 效能計數器:
- Processor(_Total)% Processor Time
- System\Processor Queue Length
- Memory\Available MBytes, Memory\Committed Bytes
- LogicalDisk(_Total)\Avg. Disk sec/Read, Avg. Disk sec/Write, Disk Transfers/sec, Free Megabytes
- Network Interface(*)\Bytes Total/sec, Output Queue Length
- Terminal Services\Active Sessions, Inactive Sessions, Total Sessions
- RemoteFX Graphics(*)\Frames Skipped/Second (server, network, client)
- Heartbeat (由 AMA 啟用),用於監控主機存留狀態。
- Windows 事件記錄:
- 範圍與治理:將 DCR 指派給主機集區的資源群組,或使用標籤指派給動態 VM 範圍。避免使用會收集相同計數器或事件通道的重疊 DCR,以防止資料重複和額外成本。
- VM insights:可選擇性地啟用 VM insights,以獲得精心策劃的效能與相依性檢視;它也會填入 InsightsMetrics 資料表,以進行更豐富的效能趨勢分析。
營運分析與故障排除技巧
活頁簿與儀表板
- 使用 AVD Insights 活頁簿來取得精選的總覽:連線成功/失敗率、工作階段分佈、主機註冊狀態,以及工作階段主機效能。為業務單位或主機集區建立自訂活頁簿,其中包含與服務等級協定 (SLA) 一致的關鍵效能指標(例如:首次失敗偵測時間、登入持續時間代理指標、工作階段密度)。
用於常見調查的 Kusto 查詢
- 依階段與訊息區分的連線失敗:
AzureDiagnostics
| where Category == "Connection"
| extend p = parse_json(Properties)
| summarize Attempts = count(), Failures = countif(tostring(p.Status) != "Success")
by FailureStage = tostring(p.FailureStage),
FailureMessage = tostring(p.FailureMessage)
| order by Failures desc
- 每台主機的工作階段計數與容量壓力:
Perf
| where ObjectName == "Terminal Services" and CounterName in ("Active Sessions","Total Sessions")
| summarize Avg=count(), AvgValue=avg(CounterValue) by bin(TimeGenerated, 5m), Computer, CounterName
- 代理程式註冊健康狀態:
AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| summarize Latest = arg_max(TimeGenerated, tostring(p.RegistrationState), tostring(p.Details))
by ResourceId
| where Latest_RegistrationState != "Registered"
- 高 CPU 使用率偵測:
Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| summarize AvgCPU = avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| where AvgCPU > 85
- FSLogix 錯誤:
Event
| where Source == "Microsoft-FSLogix-Apps"
| project TimeGenerated, Computer, EventID, RenderedDescription
| order by TimeGenerated desc
連線診斷與常見用戶端問題
- 需驗證的階段:
- 摘要探索:工作區擷取需要網際網路存取與成功的 Azure AD 驗證。條件式存取或時間偏差可能會阻擋權杖取得;請驗證裝置合規性政策與 NTP 同步。
- Broker 與閘道協商:確保防火牆與代理伺服器允許對 AVD 服務端點的對外 TCP 443 連線。SSL 檢測可能會中斷 WebSocket 連線;請將 AVD 端點從攔截中排除。
- RDP 傳輸:當啟用用於公用或受控網路的 RDP Shortpath 時,請依設計允許 UDP 3390。若被封鎖,用戶端會降級回 TCP,這可能會降低使用者體驗。
- 症狀與原因:
- 頻繁斷線或視訊品質不佳:UDP 被封鎖或高封包遺失率;請驗證 QoS 與 WAN 容量,並優先處理即時流量。
- 「沒有可用的資源」:主機註冊失敗或容量耗盡;請確認代理程式健康狀態與工作階段限制。
- 登入緩慢:設定檔容器附加延遲、GPO 處理,或在設定檔路徑上的防毒軟體即時掃描。
Windows 事件日誌、遠端桌面元件與 AVD 代理程式
- 關鍵服務:Remote Desktop Services (TermService)、Remote Desktop Services Infrastructure Agent (RdAgent),以及 Remote Desktop Agent Loader (RDAgentBootLoader)。
- 磁碟上的代理程式日誌:C:\ProgramData\Microsoft\RDInfra\RDAgent\Logs 與 C:\ProgramData\Microsoft\RDInfra\RDAgentBootLoader\Logs。
- 相關的事件通道:
- RdpCoreTS/Operational 用於傳輸與協定錯誤。
- TerminalServices-LocalSessionManager/Operational 用於工作階段生命週期。
- TerminalServices-RemoteConnectionManager/Operational 用於連線授權與代理。
- 代理程式註冊的故障排除:
- 驗證 DNS、時間同步與對外的 443 連線。
- 確保工作階段主機能夠解析並連線到 AVD 服務端點。
- 如果主機是手動上線且權杖已過期,請重新產生並套用一個最新的註冊權杖。
FSLogix 日誌與設定檔故障排除
- 日誌:C:\ProgramData\FSLogix\Logs\Profile*.log 與事件檢視器中的 Microsoft-FSLogix-Apps。
- 常見的失敗模式:
- VHD(X) 發生存取被拒或共用違規:修復共用與 NTFS ACL;如果不允許多重工作階段重疊,請確保每個使用者設定檔僅允許一個活動工作階段。
- 磁碟已滿或延遲突增:監控儲存容量與 IOPS。對於大型、IOPS 密集的環境,通常需要 Premium 或 Azure NetApp Files。
- Cloud Cache:檢視 CCDLocations 與快取磁碟機容量;WAN 不穩定會拉長登入時間。
- 最佳實務:
- 將 VHD(X) 附加路徑從防毒軟體的存取時掃描中排除。
- 使用 redirections.xml 將大型、易變的資料夾排除在設定檔容器之外。
- 驗證用於 Azure Files AD DS 驗證的 Kerberos;DNS 與 SPN 必須正確。
CPU、記憶體、磁碟與網路分析
- CPU:高的 % Processor Time 且持續的 System\Processor Queue Length > 每 vCPU 2,表示有 CPU 爭用。請增加 vCPU 或降低工作階段密度。
- 記憶體:低的 Memory\Available MBytes 與高的分頁活動 (Memory\Pages/sec) 會導致停滯;請增加 RAM 或降低工作階段密度。注意重度應用程式的認可限制與工作集。
- 磁碟:在設定檔與暫存路徑上的讀/寫延遲閾值通常 < 5–10 ms;請監控 LogicalDisk\Avg. Disk sec/Read 與 Write。儲存體等級不匹配會表現為登入時間過長與應用程式 I/O 遲緩。
- 網路:Network Interface\Bytes Total/sec 與 Output Queue Length 顯示飽和。高的 TCP 重傳與封包遺失會降低 RDP 品質;請確認 AVD 流量的 QoS 優先順序。
主動式儀表板、警示與服務健康狀態
- 儀表板:發佈活頁簿以顯示每台主機的會話密度與設定最大值的對比、代理程式狀態計數(Registered vs. Unregistered)、最常見的連線失敗訊息,以及效能熱圖。
- 警示:
- 註冊失敗:
AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| where tostring(p.RegistrationState) != "Registered"
- 容量壓力(範例閾值:平均作用中會話數在 10 分鐘內與主機限制相差 1 以內):
Perf
| where ObjectName == "Terminal Services" and CounterName == "Active Sessions"
| summarize AvgActive = avg(CounterValue) by Computer, bin(TimeGenerated, 10m)
| join kind=leftouter (
// Replace 20 with your per-host maximum sessions
datatable(Computer:string, MaxSessions:int) [
// Populate from CMDB or tag-driven mapping
]
) on Computer
| where AvgActive >= MaxSessions - 1
- 影響使用者的事件:當 AVD 連線屬性中可取得連線失敗、FSLogix 附加錯誤或登入持續時間等指標時,針對其遽增情況觸發警示。
- 資源爭用:針對持續 CPU > 85%、Memory\Available MBytes < 500 MB、Disk Avg. sec/Write 或 Read > 20 ms 的情況發出警示。
- 動作群組:將警示路由至電子郵件、Teams、ITSM、Automation runbooks 或 Functions,以進行自動擴展或修復。
- 服務健康狀態:為 Azure Virtual Desktop、Storage、Azure Files、Azure NetApp Files 和 Azure AD 設定 Azure Service Health 警示,以便在使用者發現之前,就得知可能影響登入、設定檔或會話的服務中斷或維護事件。
實務問題情境
Adobe Inc. 回報其共用型 Windows 11 Enterprise 多重會話主機集區在尖峰時段出現間歇性的 Azure Virtual Desktop 中斷連線與登入時間過長的問題。該集區在 Azure Files Premium 上使用 FSLogix。
- 驗證服務與網路先決條件
- 原因:排除任何主機修復都無法解決的外部因素。
- 動作:
- 檢查 Azure Service Health,確認目標區域是否有影響 Desktop Virtualization 或 Storage 的事件。
- 確認分支機構的防火牆允許對外 TCP 443 流量,且未對 AVD 端點進行 SSL 檢測;在適用情況下,驗證 UDP 3390 已被允許,以透過 Shortpath 改善 RDP 品質。
- 驗證診斷管線
- 原因:AVD Insights 需要資源記錄檔與客體內遙測資料,才能將故障與資源瓶頸相互關聯。
- 動作:
- 確保主機集區、工作區及應用程式群組已啟用診斷設定,並將 Connection、HostRegistration、Checkpoint、Management、Error 與 NetworkData 等類別傳送到中央的 Log Analytics 工作區。
- 確認所有會話主機皆已安裝 AMA,且 DCR 正在收集與 RDP 相關的事件記錄檔及效能計數器。
- 分析連線失敗與代理程式健康狀態
- 原因:頻繁中斷連線通常與傳輸方式降級或代理程式註冊不穩定有關。
- 動作:
- 執行 AVD Connection 查詢以識別失敗階段與訊息;隔離與 proxy 或權杖相關的錯誤。
- 查詢 HostRegistration 以找出 Unregistered 的主機;若存在,則重新啟動 RDAgentBootLoader 與 RdAgent,驗證 DNS 與時間同步,並在註冊權杖過期時重新註冊主機。
- 調查登入延遲與 FSLogix 設定檔附加問題
- 原因:設定檔操作是造成登入時間過長的主要因素。
- 動作:
- 檢閱 Microsoft-FSLogix-Apps 記錄檔,尋找存取遭拒、共用違規或掛接逾時等問題;驗證共用與 NTFS ACLs,並將 VHD(X) 路徑從防毒軟體掃描中排除。
- 檢查 Azure Files Premium 指標與 VM 效能計數器以了解磁碟延遲;若 IOPS 持續超過容量,則增加檔案共用輸送量或將設定檔遷移至 Azure NetApp Files。
- 識別資源瓶頸與容量壓力
- 原因:主機超載會在資源爭用下導致效能下降與中斷連線的症狀。
- 動作:
- 使用效能計數器偵測持續 CPU > 85%、可用記憶體過低或磁碟延遲過高等情況;降低每台主機的會話限制或向外擴展主機。
- 啟用或調整自動擴展,以便在尖峰時段前增加容量;驗證清空模式 (drain mode) 的行為,以在向內縮減期間保護作用中的會話。
- 實作主動式警示與儀表板
- 原因:透過偵測早期預警訊號來防止問題再次發生。
- 動作:
- 針對 HostRegistration 狀態不是 Registered、連線失敗次數增加,以及 FSLogix 錯誤遽增等情況建立警示。
- 建立一個容量儀表板,顯示每台主機的作用中會話數與最大會話數的對比,以及資源熱圖;與營運團隊和服務擁有者分享。
此方法結合了用於外部相依性的 Azure Service Health、用於平台可見度的診斷設定、用於主機遙測的 AMA+DCR、用於隔離故障領域的 KQL 驅動分析,以及橫跨網路、代理程式健康狀態、設定檔與容量的針對性修復——確保 Adobe Inc. 能夠穩定使用者體驗並防止未來問題重演。
← 安全性、合規性與端點保護 · 所有領域 · 復原能力、復原與移轉 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →