EUC Monitoring Platform

By Rory Monaghan


In a previous article, I covered Citrix Director. For many Citrix Teams, Citrix Director is the only tool they have for monitoring and troubleshooting but as explained in my article it’s not the best Citrix monitoring and troubleshooting tool. I like it well enough as a tool for the HelpDesk team to force a session log off but not too much else. As a management tool, it also falls short when compared to ControlUp. If you follow my site, you may have noticed I have blogged about many different vendors who provide Citrix monitoring and troubleshooting products such including Goliath Technologies Performance Monitor, Liquidware Stratusphere UX, eG Innovations eG Enterprise and ExtraHop Discover. I hope to cover ControlUp soon so watch this space.

The reason many rely solely on Director is not out of choice. Some orgs will not invest in third party tooling and this is where the FREE EUC Monitoring Platform comes in very handy! The amazing Dave Brett put out version 1 to the community a few years ago. This past year, Dave teamed up with several member of the community: James Kindon, Ryan Butler, David Wilkinson, Adam Yarborough, Ryan Revord and Hal Lange.


The setup couldn’t be easier.

I set it up on a general scripting server that had PowerShell 5.0 and the Citrix XenDesktop PowerShell SDK installed via the XenDesktop ISO.

With scripting enabled, I imported the PowerShell module e.g.

Install-Module EUCMonitoring

Then I just ran a single PowerShell cmdlet:

Set-EUCMonitoring C:\Monitoring -InstallVisualizationSetup -verbose

As prompted, put in your environment specific info such as Delivery Controller names, StoreFront Servers etc.

Note: I had some issues in my environment. The PowerShell cmdlet will pull down what it needs but some of the files were initially getting blocked on my network.

You should see the files installed to whatever directory you selected in the PowerShell cmdlet e.g. C:\Monitoring.

You may not the euc-monitoring.json file. This is populated with your environment info that you entered. If you opened not to use the UI setup. You can edit the JSON file manually with Visual Code. I recommend installing that on your server just to make any future updates easier on you.

cd C:\Monitoring

Once your JSON and everything is setup as you wish. Run the above. This will generate the web page for the dashboard.

In my environment, I decided to setup a scheduled task that runs every 5 minutes to pull updated info and re-populate the web page. My script also copies the html file to one of my StoreFront Servers. Since that box already has web services, it was the path of least resistance for me. The PowerShell looks as follows:

cd c:\Monitoring
Import-Module EUCMonitoring
cd c:\Monitoring\Output
xcopy index.html \\\c$\inetpub\wwwroot\Citrix\EUCMonitoring

That’s it. Now I have the Dashboard which updates every 5 minutes with the page reloading itself every 2 minutes. A beautiful looking dashboard that I can leave open on my screen.


The output may look a little different based on your environment. In my environment, I have two farms thus two different server loads. I’m showing the health of my SQL, StoreFront, Licensing, Director, Controllers, PVS and WEM services. I could have added in other services too like NetScalers and even Citrix Cloud.


As part of the setup you also get an awesome open source called Grafana. We were fortunate enough to get a great demo of this at the Phoenix CUGC and at the Citrix Master’s Retreat by Hal Lange. I was excited to try it out.

The data you provided during setup is used to auto-populate an EUC Dashboard in Grafana. I left some of the dashboards that are irrelevant for my environment to show some of the other options available to you. It seems if you’re a XenServer customer there is some love here for you. The dashboards can also show your App-V services status. In my environment I use App-V Scheduler so that was irrelevant for me.

The extra win for me by having Grafana is that it has easy to setup alerting. You can alert based off of a change in your VDA registration metric. You can. You can also see historic trending on your sessions and unregistrations. Admittedly, you can get this in Director too BUT Director doesn’t integrate as many product. Also, as Grafana is open there are a whole bunch of really cool community plugins for different products such as VMware vSphere.


The dashboard had unexpected benefits for me recently. As you can see above (not shown, the dashboard does tell you which VDA machines unregistered), I experienced a pretty serious issue in my environment. 2/3rds of our production VDAs unregistered all of a sudden. One of the issues I have experienced with Director is that it can miss some Server OS Failures. The EUC Monitoring Platform has been 100% accurate for unregistrations.

During said event, Director started reporting about 2k sessions more than we typically had. Studio reported the same. This was because the VDAs were unregistered and not updating back to the Delivery Controllers. Somehow, the dashboard gave us an accurate session count. I’m still not sure how or what metric was used but it was accurate!

We had a Citrix rep on site who asked my how many licenses we had consumed and told me I could look it up and just email him the number. I had the dashboard open which gives the license count in real-time. I said, no need. I’ve got it right here.


This is going to be short. It’s free and it’s awesome! As you can see, I have enjoyed benefits by having it. It didn’t require any new infrastructure. It’s superior to anything else I have for showing services up and down. I can’t think of a reason not to set it up. Go for it, you won’t regret it.

Let's make virtualization easier!

Be amongst the first to know when I publish new reviews, guides and tools to simplify your projects.

By signing up, you agree to our Terms of Use and acknowledge the data practices in our Privacy Policy. You may unsubscribe at any time.

We'll virtualise your 5 most complex apps for FREE