Collecting Terminal Services Metrics with Monitis

Remote Desktop Services (RDS), formerly known as Terminal Services, is one of the components of Microsoft Windows (both server and client versions) that allows a user to access applications and data on a remote computer over a network, using the Remote Desktop Protocol (RDP).

It is generally known that RDS accelerates and extends desktop and application deployments to any device, improving remote worker efficiency, while helping to keep critical intellectual property secure and simplify regulatory compliance. RDS enables both a virtual desktop infrastructure (VDI) and session-based desktops, allowing users to work anywhere.
It lets you efficiently deploy and maintain software in an enterprise environment. You can easily deploy programs from a central location. Because you install the programs on the RD Session Host server and not on the client computer, programs are easier to upgrade and to maintain.

This is enough as a very brief description of RDS. More about it you can always get from the  Microsoft’s official site.

Monitor it !!!

The importance of monitoring was discussed in previous articles many times.
Whether you use Microsoft Windows Terminal Services purely as a network management tool or as a platform for hosting user terminal sessions, you need a method for managing and monitoring it.
Now let’s think about how it is possible to monitor Terminal Services easily?


When creating a monitor for any system you should follow the basic steps described below:

  1. Identify components to monitor.

  2. Select metrics for those components.

  3. Monitor the server.

  4. Analyze the data.



Windows Management Instrumentation (WMI) which is an implementation of Web-Based Enterprise Management (WBEM) allows to provide both management and monitoring almost all Windows objects. Thus, a monitor that use WMI can capture a lot of information which are very useful for diagnosing any problems including also performance.

The Monitis WMI monitoring tool let you monitor also Terminal Services performance using WMI counters.

WMI Counters allow you a method to measure current performance. Identifying the metrics you like to use to measure Terminal Services performance gives you a quick and easy way to identify Terminal Services problems, as well as graph your performance trend over time.

Thanks to made researches we chose nine suitable counters of Terminal Services which are important and preferable to monitor.

The Metrics

Available Licenses:  Total number of available licenses in the Remote Desktop Services license key pack.

Available MBytes:  Amount of physical memory available to processes running on the computer, in megabytes. It is calculated by summing space on the Zeroed, Free, and Standby memory lists. Free memory is ready for use; Zeroed memory contains memory pages filled with zeros to prevent later processes from seeing data used by a previous process. Standby memory is memory removed from a process’ working set (its physical memory), but is still available to be recalled. This property displays the last observed value only; it is not an average.


Total Sessions:  The total number of sessions on the current server. This includes both connected and disconnected sessions.


Disconnected Sessions:  The number of disconnected sessions on the current server. These sessions may still be actively consuming server resources, however they currently have no network connection with a client.


Input Async Overflow:  Number of input async overflow errors. These can be caused by a insufficient buffer size available on the host.


Virtual Bytes:  Current size, in bytes, of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite and, by using too much, the process can limit its ability to load libraries.


Thread Count:  Number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.

Tuning the WMI monitor

As mentioned many times The Monitis WMI monitor can be simply tuned to monitor any new object that handled by Windows WMI engine. To do so, you should simply add a new section into XML configuration which will describe object and parameters for monitoring.