AVD Insights Workbooks
Complete the full lesson to earn 25 points
Work through each section, then tap “Mark as Complete” on the last one.
✦ Skip the page breaks and see fewer ads — read each lesson on a single page with Pro
Mastering Azure Virtual Desktop (AVD) Insights Workbooks
Introduction: Why Monitoring AVD Matters
Azure Virtual Desktop (AVD) is a sophisticated cloud-based infrastructure that allows organizations to provide remote desktops and applications to their users. Because AVD relies on a complex web of interconnected services—including Azure Active Directory, virtual machines, network connectivity, and storage—keeping the environment healthy is not just a matter of convenience; it is a critical operational requirement. If the monitoring is inadequate, issues such as slow logon times, connection failures, or resource exhaustion can go unnoticed for hours, directly impacting user productivity and your organization’s bottom line.
AVD Insights Workbooks serve as the primary dashboarding and diagnostic tool for administrators. They act as a centralized window into the health, performance, and usage patterns of your virtual desktop environment. By using these workbooks, you move away from reactive troubleshooting—where you wait for a user to complain about a problem—toward proactive maintenance, where you identify and resolve bottlenecks before they manifest as user-facing outages. This lesson explores how to configure, interpret, and leverage AVD Insights to maintain a healthy environment.
Understanding the AVD Insights Architecture
Before diving into the configuration, it is essential to understand how AVD Insights actually gathers data. At its core, the AVD Insights solution relies on the Azure Monitor Log Analytics workspace. When you enable diagnostics for your AVD host pools and workspaces, the service streams logs and metrics—such as connection attempts, session durations, and host performance data—into this workspace.
The Workbooks themselves are simply interactive reports built on top of Kusto Query Language (KQL). When you open an AVD Insights dashboard, the workbook executes a series of KQL queries against your Log Analytics workspace, processes the results, and renders them into the charts, graphs, and tables you see on your screen. This architecture is highly flexible, meaning that while the built-in templates are powerful, you can also customize them to meet specific business requirements.
The Data Flow Pipeline
To ensure your dashboards are populated, the following data flow must be active:
- Event Generation: The AVD service and the virtual machines (via the Log Analytics agent or Azure Monitor Agent) generate telemetry.
- Data Ingestion: This telemetry is sent to an Azure Log Analytics Workspace.
- Data Processing: Log Analytics indexes the data, making it searchable and queryable.
- Visualization: The AVD Insights Workbook queries the index and displays the visual representation to the administrator.
Callout: Workbook vs. Log Analytics It is important to distinguish between the two. Log Analytics is the storage and query engine where your raw data lives. AVD Insights Workbooks are the user interface—the "lens" through which you view that data. You can perform queries directly in Log Analytics, but the Workbooks provide a pre-built, structured experience that saves you from writing complex queries from scratch for standard administrative tasks.
Setting Up AVD Insights
Before you can view any data, you must ensure that your AVD environment is configured to send diagnostic data to a Log Analytics workspace. If you skip this step, your workbooks will remain empty, showing "No data found" errors.
Step-by-Step Configuration
- Create or Select a Log Analytics Workspace: Navigate to the Azure Portal, search for "Log Analytics workspaces," and create a new one if you do not already have one. Ensure it is in the same region as your AVD resources to avoid unnecessary latency and data egress costs.
- Enable Diagnostics for AVD Resources: Go to your AVD Host Pool resource. In the left-hand navigation pane, select "Diagnostic settings." Click "Add diagnostic setting."
- Configure Data Categories: Select all relevant categories, such as "Checkpoint," "Error," "Management," and "Connection." These provide the raw data required for the Insights workbooks.
- Route to Destination: Select "Send to Log Analytics workspace" and choose the workspace you created in step 1.
- Enable Virtual Machine Telemetry: For host performance data (CPU, RAM, Disk), ensure that the Azure Monitor Agent (AMA) is installed on your session host virtual machines and that they are connected to the same workspace.
Warning: Data Retention Costs Log Analytics charges based on the volume of data ingested and the duration for which you retain that data. While it is tempting to set a long retention period (like 90 or 365 days), this can lead to unexpected costs. Start with a 30-day retention period and adjust upward only if your compliance or auditing requirements necessitate it.
Exploring the AVD Insights Workbook Sections
Once the data is flowing, you can access the Insights by navigating to your AVD Host Pool and clicking on "Insights" in the left-hand menu. The interface is divided into several logical sections, each serving a specific purpose for an administrator.
1. Connection Diagnostics
This section is your first stop when users report that they cannot connect to their desktops. It shows you the success and failure rates of connection attempts. By drilling down into the failed connections, you can identify specific error codes.
- Common error codes: Look for errors related to identity (authentication failures), network (timeout issues), or resource availability (no available session hosts).
- Time-series analysis: Use the charts to identify if connection failures spike during specific times, which might indicate a scaling issue or a network bandwidth bottleneck during peak login hours.
2. Host Performance
This section provides a bird's-eye view of your virtual machine health. It tracks CPU usage, memory utilization, and disk latency.
- CPU/RAM Bottlenecks: If your session hosts are consistently hitting 90% CPU usage, users will experience "input lag," where their mouse movements or typing feel sluggish.
- Disk Latency: High disk latency is often the silent killer of AVD performance. If your storage backend (like Azure Files) is struggling, applications will hang, and users will report that the system is "frozen."
3. User Reports
This section helps you understand who is using the system and for how long. It tracks session duration and frequency. This is particularly useful for capacity planning—if you see that you have 50 hosts but only 10 are ever active, you are over-provisioning and wasting money.
4. Client Performance
This section tracks the performance of the client devices users are connecting from. It records the Round Trip Time (RTT) and bandwidth usage. If a user complains about a slow experience, check the RTT here. If the RTT is high, the issue is likely the user's internet connection or the distance between their location and the Azure region, rather than a problem with the AVD infrastructure itself.
Practical KQL Examples for Customizing Insights
While the standard workbooks are excellent, you will eventually find yourself needing to answer a question that isn't covered by the default views. Because AVD Insights is backed by Log Analytics, you can write custom KQL queries to extract deep insights.
Example 1: Finding Frequent Connection Failures
If you want to see which users are experiencing the most connection errors, you can use the following query in the Log Analytics interface:
WVDConnections
| where State == "Failed"
| summarize FailedCount = count() by UserName, ErrorCode
| sort by FailedCount desc
Explanation:
WVDConnectionsis the table containing connection telemetry.where State == "Failed"filters for unsuccessful attempts.summarizegroups the errors by the user and the specific error code.sortputs the most frequent offenders at the top.
Example 2: Identifying Session Hosts with High CPU
To proactively identify hosts that are struggling, you can query the performance data:
Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time"
| summarize AvgCPU = avg(CounterValue) by Computer, bin(TimeGenerated, 1h)
| where AvgCPU > 80
Explanation:
Perfis the table where performance metrics are stored.- We filter for processor usage.
- We bin the data by one-hour increments to look for sustained high usage rather than temporary spikes.
- We filter for any average CPU usage exceeding 80%, which is a typical threshold for performance degradation.
Callout: Proactive vs. Reactive A reactive administrator looks at the AVD Insights dashboard after a user submits a ticket. A proactive administrator creates alerts based on the queries above. By setting up Azure Monitor Alerts that trigger when these queries return results, you can receive an email or SMS notification before the users even realize there is a problem.
Best Practices for AVD Monitoring
Monitoring is not a "set it and forget it" task. To maintain a high-quality AVD environment, you should adopt these industry-standard practices.
Establish a Baseline
You cannot know if your performance is "bad" if you don't know what "good" looks like. During the first two weeks of a production rollout, track average CPU, RAM, and RTT. Use these numbers as your baseline. If performance metrics deviate significantly from this baseline in the future, you know you have an issue to investigate.
Implement Automated Scaling
One of the most common mistakes is failing to align compute resources with user demand. Use AVD Autoscale to automatically power off unused session hosts during off-peak hours and power them on during business hours. Use the Insights Workbooks to verify that your scaling plan is actually working. If you see many idle hosts during the day, your scaling plan is too conservative; if you see hosts hitting capacity limits early in the morning, it is too aggressive.
Monitor User Experience (UX) Metrics
Don't just monitor the server; monitor the experience. Look for metrics like "Input Delay" and "Frame Rate" if you have the appropriate agents installed. These metrics are far more representative of how a user feels about the system than server-side metrics like CPU usage.
Regularly Review Error Trends
Set a recurring calendar reminder to review the "Connection Diagnostics" section of the workbook at least once a week. You might find a pattern, such as a specific application update that caused a spike in crashes, or a new group of users who are having trouble authenticating. Identifying these trends early prevents them from snowballing into a major support crisis.
Common Pitfalls and How to Avoid Them
Even with the best tools, it is easy to fall into traps that make monitoring ineffective. Here are the most common mistakes I see in production environments.
1. Ignoring Data Ingestion Latency
Log data does not appear instantly. There is often a lag of several minutes between a user action and the appearance of that event in the Log Analytics workspace. Do not panic if you don't see an event immediately after a user reports an issue. Wait at least 15 minutes before assuming the monitoring pipeline is broken.
2. Over-Alerting
If you set alerts for every minor fluctuation in CPU or every single failed connection attempt, you will suffer from "alert fatigue." You will eventually start ignoring your alerts, which defeats the purpose of having them. Only set alerts for threshold breaches that actually indicate a service-impacting event.
3. Misinterpreting "Average" Metrics
When looking at performance charts, always look at the P95 or P99 (percentile) metrics rather than just the "Average." An average CPU usage of 40% might look healthy, but it could mask the fact that for 5% of the time, the CPU is at 100%, causing significant, intermittent stuttering for users.
4. Forgetting About Network Path Monitoring
AVD is highly sensitive to network latency. If your users are connecting from branch offices with poor internet, no amount of server-side optimization will fix their experience. Always include network connectivity testing (like checking the RTT in the Insights dashboard) as part of your troubleshooting workflow.
Comparison Table: Monitoring Options
| Feature | AVD Insights Workbooks | Custom Log Analytics Queries | Azure Monitor Alerts |
|---|---|---|---|
| Ease of Use | High (Built-in) | Low (Requires KQL) | Medium |
| Purpose | General Health Overview | Deep Dive Troubleshooting | Proactive Notifications |
| Customization | Low (Limited editing) | Infinite | High |
| Actionable | Passive (Needs user login) | Active (Manual analysis) | Active (Push notification) |
Step-by-Step: Setting Up a Proactive Alert
To move from passive monitoring to active, follow these steps to create an alert based on connection failures.
- Navigate to Log Analytics: Go to your workspace and select "Logs."
- Build the Query: Enter the following:
This query looks for more than 10 connection failures in any 5-minute window.WVDConnections | where State == "Failed" | summarize count() by bin(TimeGenerated, 5m) | where count_ > 10 - Save as Alert: Click the "+ New alert rule" button at the top of the query window.
- Configure Logic: Set the "Measurement" to "Table rows" and the "Threshold" to be greater than 0 (since the query already filters for the failures).
- Set Action Group: Create an Action Group (e.g., "IT-Operations-Team") and link it to an email address or a PagerDuty/webhook endpoint.
- Finalize: Give the alert a name like "High AVD Connection Failure Rate" and save it.
Now, instead of checking the workbook, you will be notified immediately when a cluster of users fails to connect.
Troubleshooting AVD Insights: The "No Data" Checklist
It is a common scenario: you have everything configured, but the workbook shows no data. Follow this checklist to resolve the issue:
- Check Diagnostic Settings: Ensure the AVD resources are actually pointing to the workspace. Sometimes, if you recreate a workspace, the diagnostic settings on the host pool do not update automatically.
- Verify Agent Status: On your session hosts, check the "Azure Monitor Agent" service. If it is stopped or in an error state, the host cannot send performance metrics.
- Check Time Synchronization: Ensure that the time on your session hosts is synchronized correctly. If there is a significant clock drift, the logs might be rejected by the ingestion service.
- Verify Log Analytics Permissions: Ensure that the identity running the AVD service has the "Log Analytics Contributor" role on the workspace.
- Check Quotas and Limits: If your workspace has hit a daily data ingestion limit, it will stop accepting logs until the next day. Check the "Usage and estimated costs" section of the workspace to see if you have hit a cap.
Advanced Workbook Customization
For power users, the AVD Insights Workbooks can be edited directly. You can add new tabs, include your own custom charts, or merge AVD data with other sources (like Azure AD sign-in logs).
How to Edit a Workbook:
- Open the AVD Insights Workbook in the Azure portal.
- Click the "Edit" button in the top toolbar.
- You will see the workbook break down into individual "blocks" or "components."
- You can add a new block by selecting "Add query" or "Add text."
- Once you have made your changes, click "Save" to overwrite the template or "Save as" to create a new, custom version of the workbook that you can share with your team.
This is particularly useful if you want to create a "Management View" that includes only the high-level health metrics, while keeping the "Technical View" for your engineers.
The Role of AVD Insights in Compliance and Auditing
Beyond operational health, AVD Insights is a powerful tool for compliance. Many organizations are required to report on user activity, such as who accessed which resources and when.
The WVDConnections and WVDCheckpoints tables in Log Analytics contain audit-level data. You can export this data to a long-term storage solution (like Azure Blob Storage) to satisfy regulatory requirements. By using the workbook to visualize this data, you can quickly generate reports for auditors showing that only authorized users were accessing the environment and that the environment was properly maintained.
Note: Data Privacy Be mindful of PII (Personally Identifiable Information). While AVD Insights tracks usernames, ensure that you are handling this data in accordance with your organization's data privacy policies. Do not store sensitive information in custom logs or workbooks that are accessible to unauthorized personnel.
Summary and Key Takeaways
Monitoring AVD is an ongoing process of data collection, visualization, and alerting. By leveraging AVD Insights Workbooks, you gain a structured, efficient way to keep your environment healthy.
Key Takeaways for Your Operations:
- Centralize Data: Always use a single Log Analytics workspace for your AVD environment to ensure a "single pane of glass" view.
- Proactive Alerting: Never rely solely on manual checks. Use KQL queries to define alerts that notify your team of issues before they become widespread outages.
- Baselines Matter: Establish performance baselines early so you can quickly distinguish between a temporary spike and a persistent bottleneck.
- Focus on the User: While server metrics are important, prioritize UX metrics like RTT and input delay to ensure the user experience remains high-quality.
- Iterate and Customize: Don't be afraid to edit the default workbooks. Customizing your dashboards to show the specific data points your organization cares about is a hallmark of a mature IT operation.
- Manage Costs: Keep an eye on your Log Analytics data ingestion volume to ensure that your monitoring strategy remains cost-effective as your organization grows.
- Maintain the Pipeline: Regularly audit your diagnostic settings and agent health. A monitoring tool is only as good as the data it receives.
By mastering these concepts, you transition from simply "running" AVD to "engineering" it. You will spend less time chasing ghosts in the machine and more time optimizing the environment to provide the best possible experience for your users. Remember that the goal of monitoring is not to generate charts, but to provide the insights necessary to make informed decisions that improve the stability and performance of your virtual desktop infrastructure.
Continue the course
Enjoying the courses?
Everything stays free. Pro shows fewer ads, doubles your daily points limit so you progress twice as fast, and lets you read each lesson on one page.
- ✓ Fewer advertisements
- ✓ 2× daily points limit
- ✓ Distraction-free lessons