Microsoft AZ-140: Monitoring, Diagnostics and Troubleshooting — Study Guide

Part of the Microsoft Azure Virtual Desktop Specialty AZ-140 — Study Guide. Practice with verified answers in the Microsoft exam hub, or take timed practice tests on ExamRoll.io.

Overview

Monitoring, diagnostics, and troubleshooting in Azure Virtual Desktop (AVD) combine resource-level platform logs, in-guest telemetry, and analytics to detect issues early, isolate root causes quickly, and validate user experience. A solid architecture uses Azure Monitor, Log Analytics, Azure Monitor Agent, data collection rules, and curated workbooks, with proactive alerting on service health and user-impacting conditions. This section explains how to design the monitoring pipeline, enable diagnostics, collect the right data from session hosts, analyze it with Kusto Query Language (KQL), and respond to the most common operational problems, including client connectivity, AVD agent failures, FSLogix profile issues, and resource bottlenecks.

Azure Monitor and Log Analytics Architecture for AVD Insights

Azure Virtual Desktop Insights is a solution built on Azure Monitor Workbooks and Log Analytics that correlates AVD platform resource logs with guest OS telemetry to provide health, capacity, and user-experience views. Its effectiveness depends on two data planes:

Workspace architecture and design considerations:

AVD Insights workbooks rely on both diagnostic settings and in-guest telemetry; if either is missing, visualizations will be incomplete.

Enabling Diagnostics and Collecting Telemetry

Diagnostic settings on AVD resources

Enable diagnostic settings for each of the following resource types and send to your Log Analytics workspace. Optionally archive to storage for long-term retention and stream to Event Hubs for external analytics.

Azure Monitor Agent and DCRs on session hosts

Operational Analysis and Troubleshooting Techniques

Workbooks and dashboards

Kusto queries for common investigations

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"
Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| summarize AvgCPU = avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| where AvgCPU > 85
Event
| where Source == "Microsoft-FSLogix-Apps"
| project TimeGenerated, Computer, EventID, RenderedDescription
| order by TimeGenerated desc

Connection diagnostics and common client issues

Windows event logs, Remote Desktop components, and AVD agent

FSLogix logs and profile troubleshooting

CPU, memory, disk, and network analysis

Proactive Dashboards, Alerts, and Service Health

AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| where tostring(p.RegistrationState) != "Registered"
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

Practical Problem Scenario

Adobe Inc. reports intermittent Azure Virtual Desktop disconnections and long logons during peak hours for a pooled Windows 11 Enterprise multi-session host pool using FSLogix on Azure Files Premium.

  1. Verify service and network prerequisites
  1. Validate diagnostics pipeline
  1. Analyze connection failures and agent health
  1. Investigate logon delays and FSLogix profile attach issues
  1. Identify resource bottlenecks and capacity pressure
  1. Implement proactive alerting and dashboards

This approach combines Azure Service Health for external dependencies, diagnostic settings for platform visibility, AMA+DCR for host telemetry, KQL-driven analysis to isolate failure domains, and targeted remediation across networking, agent health, profiles, and capacity—ensuring Adobe Inc. stabilizes user experience and prevents future regressions.


Security · All domains · Resilience

Practice these questions → · Timed practice on 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.

Pass your exam →

Browse Microsoft →

Related guides

All-in-one access

One subscription. Every exam.

Every plan unlocks unlimited answer search, practice tests, AI explanations, and the full resource library — in 20+ languages.

Monthly
24.87
Just €0.83/day
Everything included:
  • Unlimited answer search
  • Unlimited practice tests
  • AI-powered explanations
  • Full resource library
  • 20+ languages
  • Weekly content updates
  • Rewards & referrals
  • Priority support
Start free trial

No credit card required*

Best value
12 months
179.87
Just €0.49/daySave 40%
Everything included:
  • Unlimited answer search
  • Unlimited practice tests
  • AI-powered explanations
  • Full resource library
  • 20+ languages
  • Weekly content updates
  • Rewards & referrals
  • Priority support
Start free trial

No credit card required*

✓ Free plan included · ✓ Cancel anytime · ✓ All plans unlock the full product