ControlUp 4.1–The Master Systems Display for your Virtual Environment

One thing I have always liked about the Engineering section from Star Trek: The Next Generation was the Master Systems Display.  This large display, which was found on the ship’s bridge in later series, contained a cutaway of the ship that showed a detailed overview of the operational status of the ship’s various systems.

The Master Systems display from Star Trek Voyager. Linked from Memory Alpha.

Although the Master Systems Display is fictional, the idea of having one place to look to get the current status of all your systems can be very appealing.  This is especially true in a multi-user or multi-tenant environment where you need to quickly identify the systems and/or processes that are not performing optimally.  And this information needs to be displayed in a way that makes it easy to understand while providing administrators with a way to dig deeper if they need to. 

Some tools with these functions already exist in the network space.  They can give a nice graphical layout of the network, and they can show how heavily a link is being utilized by changing the color based on bandwidth utilization.  PHP Weathermap is FOSS example of a product in this space.

ControlUp 4.1 is the latest version of a similar tool in the systems management space.  Although it doesn’t provide a graphical map of where my systems might be residing, it provides a nice, easy to read list of my systems and a grid with their current status, a number of important metrics that are monitored, and the ability to dive down deeper to view child items such as virtual machines in a cluster or running processes on a Windows OS.

The ControlUp Management Console showing a host in my home lab with all VMs on that host. The Stress Level column and color-coding of potential problems make it easy to identify trouble spots.  Servers that can’t run the agent won’t pull all stats.

So why make the comparison to the Master Systems Display from Star Trek?  If you look in the screenshot above, not only do I see my ESXi host stats, but I can quickly see that host’s VMs on the same screen.  I can see where my trouble spots are and how it contributes to the overall health of the system it is running on.

What Is ControlUp?

ControlUp is a monitoring and management platform designed primarily for multi-user environments.  It was originally designed to monitor RDSH and XenApp environments, and over the years it has been extended to include generic Windows servers, vSphere, and now Horizon View.

ControlUp is an agent-based monitoring system for Windows, and the agent is an extremely lightweight application that can be installed permanently as a Windows Service or be configured to be uninstalled when an admin user closes the administrative console.  ControlUp also has a watchdog service that can be installed on a server that will collect metrics and handle alerting should all running instances of a console be closed.

One component that you will notice is missing from the ControlUp requirements list is a database of any sort.  ControlUp does not use a database to store historical metrics, nor is this information stored out “in the cloud.” This design decision is a double-edged sword – it makes it very easy to set up a monitoring environment, but viewing historical data and trending based on past usage aren’t integrated into the product in the same way that they are in other monitoring platforms.

That’s not to say that these capabilities don’t exist in the product.  They do – but it is in a completely different manner.  ControlUp does allow for scheduled exports of monitoring data to the file system, and these exported files can be consumed by a trending analysis component.  There are pros and cons to this approach, but I don’t want to spend too much time on this particular design choice as it would detract from the benefits of the program.

What I will say is this, though – ControlUp provides a great immediate view of the status of your systems, and it can supplement any other monitoring system out there.  The other system can handle long-term historical, trending, analysis, etc, and ControlUp can handle the immediate picture.

How It Works

As I mentioned above, ControlUp is an agent-based monitoring package.  That agent can be pushed to the monitored system from the management console or downloaded and installed manually.  I needed to take both approaches at times as a few of my servers would not take a push installation.  That seems to have gotten better with the more recent editions.

The ControlUp Agent polls a number of different metrics from the host or virtual machine – everything from CPU and RAM usage to the per-session details and processes for each logged-in user.  This also includes any service accounts that might be running services on the host. 

If your machines are VMs on vSphere, you can configure ControlUp to connect to vCenter to pull statistics.  It will match up the statistics that are taken from inside the VM with those taken from vCenter and present them side-by-side, so administrators will be able to see the Windows CPU usage stats, the vCenter CPU usage stats, and the CPU Ready stats next to each other when trying to troubleshoot an issue.

Grid showing active user and service account, number of computers that they’re logged into, and system resources that the accounts are utilizing.

For VDI and RDSH-based end-user environments, ControlUp will also track session statistics.  This includes everything from how much CPU and RAM the user is consuming in the session to how long it took them to log in and the client they’re connecting from.  In Horizon environments, this will include a breakdown of how long it took each part of the user profile to load. 

Grid showing a user session with the load times of the various profile components and other information.

The statistics that are collected are used to calculate a “stress level.”  This shows how hard the system is working, and it will highlight the statistics that should be watched closer or are dangerously high.  Any statistics that are moderately high or in the warning zone will show up in the grid as yellow, and anything that is dangerously high will be colored red.  This combination gives administrators a quick summary of the machine’s health and uses color effectively to call out the statistics that help give it the health warning that the machine has received.

Not only can I see that the 1st server may have some performance issues, but the color coding immediately calls out why.  In this case – the server is utilizing over 80% of its available RAM.

Configuration Management

One other nice feature of ControlUp is that it can do some configuration comparison and management.  Say I have a group of eight application servers, and they all run the same application.  If I need to deploy a registry key, or change a service from disabled to automatic, I would normally need to use PowerShell, Group Policy, and/or manually touch all eight servers in order to make the change.

The ControlUp Management Console allows an administrator to compare settings on a group of servers – such as a registry key – and then make that change across the entire group in one batch. 

In my lab, I don’t have much of a use for this feature.  However, I can definitely see the use case for it in large environments where there are multiple servers serving the same role within the environment.  It can also be helpful for administrators who don’t know PowerShell or have to make changes across multiple versions of Windows where PowerShell may not be present.


As I stated in my opening, I liken ControlUp to that master systems display.  I think that this system gives a good picture of the immediate health of an environment, but it also provides enough tools to drill down to identify issues.

Due to how it handles historical data and trending, I think that ControlUp needs to be used in conjunction with another monitoring system.  I don’t think that should dissuade anyone from looking at it, though, as the operational visibility benefits outweigh having to implement a second system.

If you want more information on ControlUp, you can find it on their website at

Horizon View 5.3 Appendix F: Monitoring the View Event Database

One of the nice features of Horizon View 5.3 is the Events Database.  When its configured, the Events Database will collect and store any events from the Horizon View environment.

Unfortunately, VMware never built any notification tools into View to alert administrators when errors occurred and were recorded in the Events database.  There have been workarounds to this using PowerShell or SQL Mail to send database alerts, but this requires a scheduled task or SQL Agent job to ensure that it runs on a regular basis.

There is another option that can be used for Event database alerting.  Chris Halstead (Twitter: @chrisdhalstead) developed a tool called the Horizon View Event Notifier that recently became a VMware Fling. 

The Horizon View Event Notifier is a simple little application that is very easy to set up.  It’s so easy, in fact, that it doesn’t even have an installer – you just create a folder for the application and drag the executable and the config file into a folder and double-click to launch it.

Unfortunately, this simplicity carries a heavy price.  The Event Notifier cannot be run as a scheduled task or service.  It must run interactively, and if the server running the application is rebooted, an administrator will need to log in, restart the application, and then lock the computer or disconnect their session without logging out.  Chris has stated that this is one of the things he hopes to address in the next version of the program.

Configuring the Horizon View Event Notifier

After you’ve finished installing the Event Notifier, it’s time to start configuring it. 

1.  Click the settings tab.


2. Fill in the Name, DB Server, Database, Username and password fields.  If you have multiple View pods storing information in the same events database, you may need to enter your table prefix in the Table Prefix field. 

If you are connecting to a SQL Server instance, enter servername\instancename in the DB Server field.


3. Click Test Connection to verify that the Event Notifier Application can log into the database.

4. Click Save Changes to save the database information to the config file.

5. Select the type of events that you want to receive email alerts on and then click Save Changes.


6. Enter your email server, port number, sender address, and recipient address.

Note: The application does not appear to support email servers that require authentication, such as Gmail, at this time. 


7. Click Send Test Email to verify that email alerts work.

8. Click Save changes.

9. Click Start to have the application start monitoring your View Events database.

Note: The application will need to be launched and the start button clicked every time the computer is rebooted.

Do I Need It?

If you don’t have any other form of alerting configured for Horizon View Events, this program will help you maintain a healthy View environment.  It’s saved my bacon a few times when a recompose operation failed and left a pool unusable.  If I this tool hadn’t been in place, I would have had a flock of angry users with no desktops. 

What Does the Software-Defined Data Center Suite Mean For Managed Services Providers

If one thing has been made clear by the general sessions at this year’s VMWorld, it’s that the cloud is now here to stay, and VMWare and other vendors are providing tools to manage the cloud, where ever it might reside, and the machines that run on it.

The second general session of this year’s VMWorld focused on two tools in the vCloud Suite:  vCloud Automation Center, which handles infrastructure and application provisioning to turn IT into a service, and vCloud Operations Management, which handles monitoring and remediation of problems.  These tools, as well as some other tools in the vCloud Suite, tie in closely with both vSphere and other cloud providers like Amazon Web Services and Microsoft Azure to provide automated provisioning and management of public, private, and hybrid clouds.

As the presenters were demonstrating these products and showing how they worked together to deploy and maintain applications, I started to wonder what this meant for managed services providers who’s product was managing IT infrastructures.  These companies tend to focus on small-to-medium sized entities that don’t want to take on the additional expenses of staff, IT monitoring, or 24–hour operations.  Can this software replace these providers?

If managed services providers can’t find ways to bring additional value to their customers,they will be quickly replaced.  If software has gotten to the point where it can not only detect an issue but attempt to remediate it as well based on policies that the administrators set or perform a root cause analysis immediately to pinpoint the issues so administrators can act, then there is a significant cost savings that can be captured on the customer’s side.  Even if taking advantage of the advanced remediation provided by these software packages requires a little work to get right, the ongoing cost savings that would be generated make this sort of investment very attractive.

At $work, we currently use a managed service provider.  They provide monitoring and patching for the most critical servers in our environment, which comes out to about one third of our environment.  The rest are managed using a variety of tools such as the monitoring in vCenter and scripts.  Like many environments, the monitoring coverage is not ideal.

But when I look at the cost of expanding managed services to cover the rest of my environment, or even continuing it, and compare it to using a software solution, there’s no contest.  I can get a greater level of coverage, some level of automated remediation and intelligent baselining, and a short payback period.

Now, I realize that this won’t be implemented overnight.  These systems can be just as complex as the infrastructures they are monitoring, and they take time to learn the network and develop baselines.  But the payoff, if done right, is software that goes beyond monitoring systems to managing them for you.

Infrastructures are going to get more complex now that software-defined storage and networking are a reality and vSphere is getting application-aware features.  If managed services providers want to remain relevant, they need to bring more value to their customers, update their tools and their offerings to better support the cloud, and work more closely with their customers to understand their environments and their needs.

If they don’t, then their customers will be throwing good money after bad.