Citrix XenDesktop & XenApp on vSphere monitoring

This blog is contributed by my friend Luciano Gomes, a VMware PSO Senior Consultant in Rio de Janeiro Area, Brazil. Thank you, Lucky!

vRealize Operations for Published Applications (V4PA) provides good insight into Citrix Environment. If you are running Citrix on vSphere, you can see both layers in a single pane of glass.

First, let’s ensure we have the prerequisites. You can find the details here. I’ll summarize it here:

  • vRealize Operations. I recommend 6.2.1 release.
  • Citrix XenDesktop/XenApp 7.6 and XenApp 6.5 for Windows Server 2008 R2 (we support older versions too, but some features will not be available).
  • vSphere 5.5 and above
  • Install Desktop Agents in All VDI Desktops (V4PA agent – its footprint is minimum)
  • Install Desktop Agents and Broker Agents in all Delivery Controllers
  • Install Desktop Agents in all Servers that is part of your farm.

I’m showing the architecture in the following screen. Notice where to deploy the Desktop agent and Broker agent. They are 2 different things!


The product is licensed as part of App Volumes. I’m including the license information and the version supported on the following table. Apology that the version number is showing the earlier version. What you want is version 6.3.


Notice there are 2 different products. If you get the vRealize Ops for Horizon, you get the vRealize Ops for Published Applications too. For more information, see here.

In this guide, Citrix shows what you need to monitor to ensure a healthy Citrix farm. Do read the guide first 🙂

Done reading? Cool, let’s now show you how to monitor using vRealize Operations Manager for Published Applications 6.3. There are a couple of dashboards which I find useful.

XD-XA Overview Dashboard

It shows the status of your end-to-end XD-XA environment, including the XD-XA-related alerts, key Site metrics, Site related vCenter capacity.

When to use it:

  • Assess overall XD-XA performance, and the overall user experience.
  • View the top XD-XA-related alerts.
  • View Site related vCenter remaining capacity and reclaimable capacity.


XD-XA Help Desk

It shows the information about all sessions running in your environment. The Sessions Details widget lists all of connected VDI desktop sessions, RDS desktop sessions, and application sessions in your environment and is the master widget for the dashboard.

When to use it:

  • View existing alerts of the system and the selected session.
  • Metrics of selected session, Health, Workload, Logon Time, ICA Round Trip Latency, ICA Input Bandwidth, and ICA Output Bandwidth.
  • View important logon metrics, Brokering Duration, HDX
  • Connection Duration, Authentication Duration, GPO duration, Profile Load Duration, and Interactive Duration



XD-XA Server Desktops

It shows the session-host server metrics and related vSphere VMs, server resource utilization and server indicator metrics.

When to use it:

Check servers alerts, server indicator metrics, and resource utilization metrics.


XD-XA Session Details

It shows the detailed information of all the sessions, session logon breakdown, session performance metrics, running processes of the session, users summary, User logon duration trend, and the report of what application are launched by a user and when.

When to use it:

Check detailed session information, check session logon details, retrieve session running processes for troubleshooting, check users summary, check user logon duration trend, and look at the report of what application are launched by a user and when.


XD-XA Server Applications

It shows the Application summary data, application instance number trend, application instance summary data, application instance resource utilization, application launch duration trend, application users, Application related servers, and server indicator metrics.

When to use it:

Check application summary data, performance data, launch duration historical trend, the report of which users launched applications and when application-related server indicator metrics.


XD-XA VDI Desktops

It shows the VDI Desktops related alerts, VDI Desktop summary information and VDI session detailed information, VDI desktop session resource utilization, and running application list of a VDI desktop session.

When to use it:

Check VDI Desktop overall status, top alerts, resource utilization, and retrieving session running application list for troubleshooting.


XD-XA User Experience

It shows the vCPU Experience heatmap, vDisk Experience heatmap, vRAM Experience heatmap, vCPU relationship, vDisk relationship, vRAM relationship, vCPU chart, vDisk chart, vRAM chart, and Delivery Group critical alerts.

When to use it:

Check overall and detailed vCPU/vDisk/vRAM experience, check delivery controller critical alerts.


This wraps up the out of the box dashboard.

Let’s now cover how you can customize and extend the monitoring.

Customizing V4PA

In vRealize Operations do you the flexibility to run your own script and other tools. I will show you how to it and I will give a true example using two very good Powershell Scripts from the Community that you can access here and here.


  • Install Endpoint Operations Manager Agent in the Delivery Controller – See here for how
  • Copy this 2 scripts in your (here and here) Root IIS Folder in the Delivery Controller Server (something like c:\inetpub\wwwroot\CitrixHC)
  • Configure vRealize Operations to run this scripts periodically
  • Configure Dashboard to Show the Results of the Script.
  • You must create one or two .bat files to call your PowerShell Scripts (example below)
SET ThisScriptsDirectory=%~dp0
SET PowerShellScriptPath=%ThisScriptsDirectory%MyPowerShellScript.ps1
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '%PowerShellScriptPath%'";
The source of this example above you can check here.

Configuring vR Ops:

After you install the Endpoint Agent, go back to vR Ops interface and look for your Delivery Controller Server, in my case my server is called


Click on your server and configure it, as shown below:


Complete the configuration:


Repeat this configuration if you need to run more than one script. Wait for a few minutes and check if your script is running (go to Delivery Controller and check the results).

Next, create a dashboard:


Create two Text Widgets:


Configure like the following example:


Click the Test button and check if you have a Success Message. If yes, save and repeat the same procedure to the other Widget. Now, you have the new customized dashboard like the one below:


Hope it helps. Have fun and enjoy!

Leave a Reply