Free Citrix XenDesktop 7 Monitoring Platform

Free Citrix XenDesktop 7 Monitoring Platform

Free Citrix XenDesktop 7 Monitoring Platform

This post has already been read 2736 times!

Its been a while since I have posted but I am happy to be back in the fold and hopefully have something that you will find interesting and more importantly useful.

As some of you know I started to update my free Citrix XenApp 6.5 monitoring tool to work on the XenDesktop 7.x platform last year.  Due to a number of reasons this got held up but I am glad to say that I now have a working solution for a high level look at your Citrix XenDesktop 7.x platform.

First lets get into why.  There are a number of excellent monitoring platforms out there for your Citrix platforms and this is NOT meant to compete with them.  They will give you a high level of detail into your stack and will give you the ability to really drill down into whats happening on your estate.  In my opinion there was a gap in what is available out there though.  What I was after was a high level look at ALL of my estate that could be put up on a wall board and checked immediately when you walk into the office.  The purpose was to check all of your critical infrastructure components and ensure that they are running as you expect and have not obvious errors.  I could not find anything out there that would do this how I wanted so decided to write one myself and offer it out to others who may find this a useful tool.

One thing to point – this is a community project (If you want to help or get involved please feel free to email me at and it is FREE.  You can use, edit, change, customise these scripts as much as you like.  The only thing I ask is that you give credit where due and if you find something really useful that you have added to your own implementation of this please send it back to me so that other can benifit as well.

So, what does the final output look like for a monitored platform.

This will be the finished output that can be displayed on any wall board or monitor you wish.  The objects are written using SVG so one of the caveats with the last version of this is that the monitoring screen required internet connectivity (as it used google charts) this version does not require that and can safely be displayed on a stand alone machine in your network without needing internet access.

Lets dig into what is up on the display.  The screen is split into 4 main sections:

  • Title – This will allow you to display a custom title for your dashboard as well as your corporate logo
  • Infrastructure – This part displays the status of all your supporting infrastructure that drives your XenDesktop Platform
  • Workers – This displays the status of your Server and Desktop workloads
  • Current Data – This part will display the over all status of your workers as well as the current Infrastructure, Server and Desktop workload errors

If we run through each section and explain in a little more detail whats going on.


This is available so that you can fully customise the look and feel of your monitoring dashboard.  You can change the title text or the log to suit your needs as well as change the font / colour or size of the header (more on this later)


This is a dymanic display panel that will only display the status of the infrastructure you select to monitor.

For example, if you only want to monitor Licensing, StoreFront and Director then you have the ability to select these in the master JSON file and the infrastructure panel will reflect this decision.  Let me show you, first a full monitoring panel.

Then the same monitoring scripts with only Licensing, StoreFront and Director monitored

What you will notice is that the error detail panel also updates and no longer displays the NetScaler errors as you are not monitoring that part of the platform anymore

Currently I have the following modules available for infrastructure monitoring

  • XenServer Pool and Host
  • Licensing
  • StoreFront
  • Director
  • XenDesktop Controllers
  • NetScalers
  • NetScaler Virtual Servers
  • Citrix Workspace Environment Management

I am working on the following and should have them available in the next week or two

  • Provisioning Services
  • Citrix Federated Authentication
  • Citrix Session Recording

The checks that are performed on each component are trying to mirror what you as an admin would normally do if you were told “There is an issue with Citrix”  In this case you would normally run through a bunch of checks to ensure that your infrastructure is working as expected.  This is trying to automate those checks for you and save you time plus hopefully warn you before your users do!  Using Citrix Licensing as an example, it will check the server is up and running as well as the 4 ports that will be active and listening if the services are running as expected.  This is by no means an exaustive check but will give you a good idea if the server is working as it should be before you have to dig into more detail.

I will be adding to the checks performed as time goes by, or if you want to feel free to reach out!

Any current infrastructure errors will be displayed in the messages panel on the right and will dissapear once you have resolved them.  An example shown below is you can see my Virtual Server for Nutanix on both the DMZ and internal LAN NetScalers is down.

The “Donut” for Virtual Servers will reflect this in the infrastructure panel giving you a clear indication that you have an issue


This panel is where you monitor your Server and Desktop workers to ensure that they are running as expected.

From the image above you can see that all my workers are running as expected and have passed ALL the checks that I wanted to run on them.  Currently the platform will check for the following:

  • Server Available
  • Windows Activation Status
  • Last Boot Time (within specified threshold)
  • Current Server Load (within specified threshold)
  • Registration State
  • ControlUp Agent Status (optional)

It will also get information about your delivery groups, broker desktops and maintenance state of both and display this on the messages panel on the right

Whats it look like when you have errors? Here is a screen shot from a larger estate (not my lab) with some current errors

The current errors will be displayed on the right the same as the infrastructure errors shown above.  These will remove themselves once you have resolved them.

NOTE: For a worker to be marked as OK it will need to pass ALL the checks.

Current Data

This is where the errors and site details are displayed.  This is a dynamic list that will change based on the current status of your estate.

The text colour and size is fully editable based on your corporate brand.

That’s the dashboard explained, lets move onto how it works.

How It Works and Installation

It is all written in Powershell and can be run from a scheduled task on your controllers.  I have a monitoring web server running and run the scripts from 2 of my controllers at 10 minute intervals.  You can upload the output index.html file to the web server and it means that you have “real time” data within 5 minutes always available on your dashboard.

There are 4 files that you will need to get it all up and running

  • xendesktop-monitor.ps1 – This is the master script file and the one that you will call from your scheduled task
  • xendesktop-monitor.json – This is the JSON file that will provide details of your infrastructure and XenDesktop Site as well as the custom options for the dashboard
  • xendesktop-monitor.css – This is the css file that allows you to change the text appearance of the dashboard
  • xendesktop-monitor-global.ps1 – This is the global functions file and has all the monitoring functions within it

Setting it up is as easy as copying the files to your monitoring server and setting up a Schedules Task to run the script at an interval of your choosing.

There are some pre-reqs to run the scripts, namely:

  • XenDesktop SDK
  • XenServer SDK (If you are monitoring your XenServer Hosts)


Configuring this to run in your environment is really simple also.  All you have to do is edit the json file with your details and run the script.  When I send you the scripts I will include a JSON Template as well as instructions about what each field is for.  It is pretty straightforward however as can be seen here.

This shows the ability to define the Server and Desktop boot threshold as well as the max load before displaying an error on your platform

The above shows the ability to edit the colours of the “Up” and “Down” parts of the donuts as well as the size displayed on the dashboard

Finally this shows how you can define what you want to monitor for different parts of your platform.

How Do I Get It

This is the easiest part.  Just send me an e-mail on and I will send you a ShareFile link with all the source code and instructions about how to set it up and use it.

I Want In

Like I said at the start of this post, this is a community project and its Free.  If you want to help out or have feedback please reach out on the e-mail address above and we can either figure out how you can help or figure out how to implement the requests you have.

That’s it for me – happy monitoring!



Leave a Reply

Your email address will not be published. Required fields are marked *