Monitor the performance of user sessions for Windows RDP, and gain insights into the health of your Virtual Desktop solution.
The Microsoft Remote Desktop Protocol (RDP) provides remote display and input capabilities over network connections for Windows-based applications running on a server. RDP is designed to support different types of network topologies and multiple LAN protocols. RDP also forms the basis for enterprise level solutions like Azure Virtual Desktop (formerly Windows Virtual Desktop), a desktop and app virtualization service that runs on the cloud.
This OneAgent extension is capable of tracking all user sessions happening over RDP and representing this data in Dynatrace as either Real User Monitoring (RUM) sessions and actions or simply backend metrics. Insights are then delivered to effectively diagnose poor performance and get to the root cause of issues.
This extension delivers insights into Microsoft recommended parameters for diagnosing performance issues.
User sessions and metrics are collected for:
This extension is only compatible with direct RDP connections and the Microsoft Remote Desktop App (versions older than the October 2022 release).
This extension is designed to run only on OneAgent hosts that represent the endpoints being accessed through RDP. These can be standalone hosts, or shared Session Hosts (like in the Azure Virtual Desktop solution).
The OneAgent software delivers insights into the Infrastructure health and performance of the host, while the extension queries data related to remote user activity. Under the covers, the extension uses Dynatrace OpenKit as a means of representing and communicating Real User Monitoring (RUM) data, as well as the OneAgent’s local ingestion interface for reporting metrics.
The data reporting mechanism is compiled as a Go program called RDPAgent.exe. This references the OpenKit library and is being managed by the core extension which acts as controller.
Larger enterprise solutions like Azure Virtual Desktop are no different. Simply locate all the Session Hosts that are delivering virtual desktops and deploy the OneAgent (infrastructure only mode is sufficient).
The following is an example diagram of such a solution, which includes a Dynatrace ActiveGate as an intermediary component:
This extension is developed with the Dynatrace Extensions 1.0 Framework. This means that the .zip archive you have been provided with must be deployed on every OneAgent host that should run it.
Upload the .zip file and then extract it in the extension deployment directory on the OneAgent host. By default, this is found at:
%PROGRAMFILES%\dynatrace\oneagent\plugin_deployment
Once the extension is deployed to each OneAgent, this must also be uploaded to Dynatrace. Open the Dynatrace UI and navigate to Settings > Monitored technologies > Custom extensions tab, then click Upload extension and upload the same zip archive you have been provided with.
Once the extension appears in the list below you can move to the next step:
The extension can be reduced to only ingest metrics into Dynatrace - if this is your case, skip this step.
However, if you choose to also create User Sessions and Actions, you must first create a Custom Application to receive this data. This is because the data is communicated using OpenKit.
Follow these steps:
OneAgent extensions allow for two levels of configuration: global or per host. Every host capable of running the extension will use the global configuration unless it is configured to override it with its own configuration.
Configurations can be found in the following places:
Regardless of the option chosen above, the configuration is the performed the same way.
Configuration parameters explained:
With this option enabled, after the first 30 minutes of a User's session, the frequency of reporting User Actions is reduced to once every 5 minutes, and after the 2-hour mark actions are reported every 10 minutes to reduce the total amount of DEM units consumed.
Note: this only affects the user actions for performance measurements which are normally reported as 3 per minute. The flow of user sessions is not affected by this setting.
For example:
User Sessions can be reported for every user logged onto the remote host via RDP. Sessions will report actions to match the session flow, such as:
Split by Session Host:
Split by Session Host and User:
Split by Session Host, User, and Application process: