Monitoring Microsoft RDS Servers

The Microsoft RDS Server is a server program that provides the graphical user interface (GUI) of the Windows desktop to user terminals that don't have this capability themselves. The latter include the relatively low-cost NetPC or "thin client" that some companies are purchasing as alternatives to the autonomous and more expensive PC with its own operating system and applications.

Typically, Microsoft RDS server environments involve multiple tiers of software. Domain servers in the target infrastructure handle authentication of users. Authenticated requests are passed to the Microsoft RDS servers that host a number of applications. In turn, the applications may use backend databases, printers, etc., for different functionalities. Owing to the multi-tier nature of Microsoft RDS server environments, a slow-down in one tier (e.g., the authentication server) can cause a slow-down of the entire service. When a slow-down occurs, an administrator of the server farm has to quickly determine what the source of the problem could be - i.e., Is it the network? Or the authentication server? Or the Microsoft RDS server? Or the backend database? Or the application? Accurate, fast diagnosis of problems helps reduce downtime and improve customer satisfaction.

How to Monitor All RDS Server Farms

eG Enterprise offers 100% web-based monitoring of Microsoft RDS server farms. eG Enterprise includes an extensive, pre-defined, customized Microsoft RDS model for this server (see Figure 4), which defines the key performance metrics that need to be tracked to determine the service level achieved by the server/server farm.


Figure 4 : Layer model of a Microsoft RDS server

Using the metrics reported by each of the layers depicted by Figure 4, administrators can find answers to persistent performance-related queries discussed hereunder:

Microsoft RDS server Monitoring

  • Are the Microsoft RDS servers available to service user requests?
  • Are there sporadic disconnects from the Microsoft RDS server?
  • At what times do peak usage of the servers happen and is the server capacity adequate?
  • Is the user load being balanced across all the servers?
  • Is the data store available?

User Monitoring

  • What is the average response time that a user sees when connecting to a Microsoft RDS server?
  • How many users are logged in to each server in the Microsoft RDS server farm?
    What is the resource usage (CPU and memory) for each user?
  • What is the I/O activity generated by every user?
  • How much network bandwidth is consumed by every user?
  • Are too many page faults occurring in the processes executed on a server?
  • If so, what are those processes, and who are the users executing them?
  • Which user is using a lot of handles?

Operating System Monitoring

  • What is the average CPU and memory usage on all the servers in the farm?
  • Is any unusual memory scanning/paging activity happening on the systems?
  • Are the critical Microsoft RDS server processes up?
  • What is their resource consumption?

Hosted Application Monitoring

  • What are the applications hosted on a Microsoft RDS server?
  • Who is using each application?
  • What is the resource usage for each published application?

Infrastructure Services Monitoring

  • Are the backend databases working?
  • What is the resource usage of the databases?
  • Are users able to login to the server farm? How long is the login process taking?
  • What is the usage of the Microsoft Windows Domain Controller?

Since the 4 layers at the bottom of Figure 4 have already been discussed in the Monitoring Unix and Windows Servers document, the sections to come will discuss the top 4 layers only.