Desktop Monitors
Desktop monitors extend the data collected by the UXM Desktop Agent and UXM Endpoint Agent with additional monitoring capabilities.
Monitors can collect performance data, Windows events, application and process information, network information, availability metrics, and virtualization-related telemetry.
Configuration and Synchronization
Monitors are configured through uxmapp and applied to the relevant endpoint groups.
After a monitor is enabled, disabled, or its configuration is changed:
- uxmapp distributes the updated configuration.
- The agent retrieves the new configuration during its synchronization cycle.
- The monitor starts collecting data according to the new configuration.
Allow up to 1 hour for configuration changes to synchronize with agents and for the monitor to start collecting data.
If data is not visible immediately after enabling a monitor, allow the synchronization period to complete or restart the agent service before troubleshooting the monitor configuration.
Available Monitors
| Monitor | Category | Description | OS | Agent | State |
|---|---|---|---|---|---|
| Performance Counters | Endpoint | Collects Windows Performance Counters from monitored machines. | Windows | Desktop Agent | GA |
| Event Logs | Endpoint | Collects and monitors Windows Event Logs. | Windows | Desktop Agent | GA |
| Services | Endpoint | Monitors Windows services and verifies that they are in the required state. | Windows | Desktop Agent | GA |
| Logon | Endpoint, Virtualization | Collects and calculates metrics for user logon timings in Desktop, RDP, and Citrix environments. | Windows | Desktop Agent | GA |
| Network Scanner | Endpoint | Scans local IP ranges connected to the endpoint and attempts to identify devices using MAC address, hostname, and vendor information. | Windows | Desktop Agent | Closed Beta |
| Processes | Endpoint, Virtualization | Collects process information and measures the time users spend in applications. | Windows, Linux, ThinOS, macOS | Desktop Agent, Endpoint Agent | GA |
| CURL | Availability, Endpoint | Monitors HTTP/HTTPS endpoints and identifies availability issues, SSL certificate problems, and certificates approaching expiration. | Windows, Linux, ThinOS, macOS | Desktop Agent, Endpoint Agent | GA |
| Ping | Availability, Endpoint | Pings hostnames or IP addresses from UXM Desktop Agent endpoint groups. | Windows, Linux, ThinOS, macOS | Desktop Agent, Endpoint Agent | GA |
| Endpoint | Endpoint, Virtualization | Collects device, CPU, memory, and installed-program metrics from endpoints. | Windows, Linux, ThinOS, macOS | Desktop Agent, Endpoint Agent | GA |
| Virtualization Monitor | Virtualization | Collects metrics from Azure AVDs, Remote Desktop Services (RDS), Horizon (Blast) and Citrix, including user latency and issues affecting the user experience. | Windows | Desktop Agent | GA |
| File Monitor | Endpoint | Monitors and parses the content of files on endpoints. | Windows | Desktop Agent | Closed Beta |
Create a Monitor
To create a monitor from the uxmapp interface:
- Open uxmapp.
- Navigate to the Administration -> UXM Desktop agent --> Desktop Monitors dashboard.
- Click Add New Monitor.
- Select the Monitor Type you want to create.
- Enter the required monitor configuration, see each monitor documentation for information on how to setup and what data is collected.
- Select the Application the monitor should belong to.
- Select the Endpoint Groups where the monitor should be deployed.
- Review the configuration.
- Click Add to create the monitor.
The available configuration fields depend on the selected monitor type. For example, a Ping monitor requires hosts or IP addresses to monitor, while a Performance Counters monitor requires the Windows performance counters that should be collected.
After the monitor has been created, the configuration is distributed to the selected endpoint groups and data is collected within 1 hour.
Monitor Assignment
When creating a monitor, pay particular attention to the Application and Endpoint Groups selections.
- Application determines which uxmapp application the monitor belongs to.
- Endpoint Groups determine which endpoints receive the monitor configuration.
Only agents belonging to the selected endpoint groups will receive the monitor configuration.
Import a Monitor from a JSON File
Existing monitor configurations can also be imported from a JSON file. This is useful when deploying predefined monitor configurations or moving configurations between environments.
To import a monitor:
- Open uxmapp.
- Navigate to the Administration -> UXM Desktop agent --> Desktop Monitors dashboard.
- Select Import.
- Select the Application to which the imported monitor should belong.
- Select the Endpoint Groups where the monitor should be deployed.
- Select or upload the JSON file containing the monitor configuration.
- Review the imported configuration.
- Click Import to create the monitor.
The import requires three key pieces of information:
| Setting | Description |
|---|---|
| Application | The uxmapp application where the monitor will be created. |
| Endpoint Groups | The endpoint groups that should receive the monitor. |
| JSON File | The file containing the monitor configuration. |
JSON file example:
{
"name": "Host performancex",
"type": "performance_counter",
"interval": "5 3 * * *",
"enabled": true,
"tags": ["test", "test2"],
"config": [{
"computer": ".",
"object": "Processor",
"counter": "% Processor Time",
"instance": "_Total",
"instanceExcludeRegex": "",
"enabled": true
}, {
"computer": ".",
"object": "Network Interface",
"counter": "Bytes Received/sec",
"instance": "*",
"instanceExcludeRegex": "",
"enabled": true
}]
}
Monitors
Performance Counters
The Performance Counters monitor collects Windows Performance Counters from machines running the UXM Desktop Agent.
It can be used to extend the standard endpoint telemetry with Windows performance metrics relevant to CPU, memory, disk, network, and other system components.
Event Logs
The Event Logs monitor collects Windows Event Logs from machines running the UXM Desktop Agent.
This can be used to monitor specific Windows events and correlate operating-system events with endpoint performance and user-experience issues.
Services
The Services monitor monitors Windows services and verifies that they are running in the required state.
This is useful for detecting services that have stopped, failed to start, or otherwise do not match the configured expected state.
Logon
The Logon monitor collects telemetry related to user logon activity and calculates metrics that can be used to understand logon performance.
It supports analysis of:
- Desktop logons
- Remote Desktop Services (RDS) logons
- Citrix logons
- User logon timings and related delays
This makes it possible to identify slow logons and investigate which stages of the logon process contribute to the overall user experience.
Network Scanner
Closed Beta
The Network Scanner scans local IP ranges to which an endpoint is connected. It attempts to identify devices within the local network scope.
Depending on the device and network configuration, the scanner can identify information such as:
- IP address
- MAC address
- Hostname
- Vendor
The monitor is currently available as a closed beta and may therefore have limitations or changes before general availability.
Processes
The Processes monitor collects process information from Windows machines and tracks the time users spend in applications.
This can be used to understand application usage and correlate application activity with endpoint performance and user experience.
CURL
The CURL monitor checks the availability and status of HTTP and HTTPS endpoints.
In addition to endpoint availability, it can identify SSL/TLS certificate issues, including certificates that are approaching their expiration date.
Typical use cases include monitoring:
- Internal web applications
- APIs
- Web services
- HTTPS availability
- SSL/TLS certificate validity
- Certificates approaching expiration
Ping
The Ping monitor performs ICMP ping checks against hostnames or IP addresses from UXM Desktop Agent endpoint groups.
It can be used to monitor network reachability and identify connectivity or latency problems from the perspective of end-user endpoints.
Endpoint
The Endpoint monitor collects additional performance and inventory information directly from endpoints.
Supported operating systems include:
- Windows
- Linux
- macOS
The monitor collects information related to:
- Device
- CPU
- Memory
- Installed programs
The Endpoint monitor is designed to extend the telemetry available from endpoints beyond the standard Desktop Agent data.
Virtualization Monitor
The Virtualization Monitor collects telemetry from virtual desktop environments, including Azure AVDs, Remote Desktop Services (RDS), Horizon (Blast) and Citrix.
It provides metrics that can be used to identify user-experience problems such as increased latency and other issues affecting virtual desktop sessions.
This enables virtualization performance to be analyzed from the user's endpoint perspective rather than relying solely on infrastructure-side metrics.
File Monitor
The File Monitor monitors files on endpoints and can parse their contents.
It can be used to monitor application or system files where the content provides useful operational or troubleshooting information. Parsed file data can be collected as UXM telemetry and correlated with other endpoint metrics.