Citrix WMI Health Status - OS Test

Windows Management Instrumentation (WMI) is used to monitor and manage Citrix components running on Windows servers or virtual machines. WMI provides a standardized interface to retrieve operational data from:

  • Virtual Delivery Agents (VDAs)

  • Delivery Controllers

  • Citrix services

  • Windows OS performance counters

Administrators and monitoring tools query WMI namespaces (e.g., root\citrix) to collect metrics such as registration state, session count, service status, CPU/memory utilization, and connectivity health.

This test is essential because administrators rely on WMI queries to monitor the health of the Virtual Delivery Agent (VDA) instrumentation. By validating the availability of specific WMI namespaces and the consistency of the WMI repository, the test ensures that critical telemetry data is reliably collected. High availability of these services confirms a stable monitoring environment, whereas failures like repository corruption or provider malfunctions create significant visibility blind spots. Proactively identifying these WMI health issues prevents widespread session failures and ensures administrators can maintain a stable, high-quality user experience within the virtual desktop infrastructure.

Target of the test : A ESX Server host

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results is reported for the system being monitored.

Configurable parameters for the test:
Parameter Description

Test Period

How often should the test be executed

Host

The host for which the test is to be configured

Port

The port at which the specified HOST listens. By default, this is NULL.

ESX User and ESX Password

In order to enable the test to extract the desired metrics from a target ESX server, you need to configure the test with an ESX USER and ESX PASSWORD. The user credentials to be passed here depend upon the mechanism used by the eG agent for auto-discovering the VMs on the target vSphere server and monitoring the server and its VMs. These discovery/monitoring methodologies and their corresponding configuration requirements have been discussed hereunder:

  • Discovering and monitoring by directly connecting to the target vSphere server: Starting with ESX server 3.0, a VMware ESX server offers a web service interface using which the eG agent discovers the guest operating systems on a physical ESX host. The VMware VI SDK is used by the agent to implement the web services interface. To use this interface for discovering the VMs and for monitoring, the eG agent should directly connect to the monitored vSphere/ESX server as an ESX USER with root privileges. However, if, owing to security constraints, you cannot use root user permissions, you can alternatively configure the tests with the credentials of a user who has been assigned the following permissions:

    • Diagnostics

    • TerminateSession

    To see how you can create such a user on the ESX server, refer to theCreating a Special Role on an ESX Server and Assigning the Role to a New User topic

  • Discovering and monitoring using vCenter: By default, the eG agent connects to each ESX server and discovers the VMs executing on it. While this approach scales well, it requires additional configuration for each server being monitored. For example, separate user accounts may need to be created on each server for accessing VM details. While monitoring large virtualized installations however, the agents can be optionally configured to perform guest discovery using the VM information already available in vCenter. The same vCenter can also be used to monitor the vSphere server and its VMs. In this case therefore, the ESX USER and ESX PASSWORD that you specify should be that of an Administrator or Virtual Machine Administrator in vCenter. However, if, owing to security constraints, you prefer not to use the credentials of such users, then, you can create a special role on vCenter with the following privileges:

    • Diagnostics

    • Change settings

    • View and stop sessions

    To know how to grant the above-mentioned permissions to a vCenter user, refer to Creating a Special Role on vCenter and Assigning the Role to a New User .

    If the ESX server for which this test is being configured had been discovered via vCenter, then the eG manager automatically populates the ESX USERand ESX PASSWORD text boxes with the vCenter user credentials using which the ESX discovery was performed.

Confirm Password

Confirm the specified ESX PASSWORD by retyping it here.

SSL

By default, the ESX server is SSL-enabled. Accordingly, the SSL flag is set to Yes by default. This indicates that the eG agent will communicate with the ESX server via HTTPS by default. On the other hand, if the eG agent has been configured to use the VMPerl API or CLI for monitoring (i.e., if the ESX USER parameter is set to none), then the status of the SSL flag is irrelevant.

Like the ESX sever, the vCenter is also SSL-enabled by default. If you have chosen to use the vCenter for monitoring all the ESX servers in your environment, then you have to set the SSL flag to Yes.

Webport

By default, in most virtualized environments, the ESX server and vCenter listen on port 80 (if not SSL-enabled) or on port 443 (if SSL-enabled). This implies that while monitoring an SSL-enabled ESX server directly, the eG agent, by default, connects to port 443 of the ESX server to pull out metrics, and while monitoring a non-SSL-enabled ESX server, the eG agent connects to port 80. Similarly, while monitoring an ESX server via an SSL-enabled vCenter, the eG agent connects to port 443 of vCenter to pull out the metrics, and while monitoring via a non-SSL-enabled vCenter, the eG agent connects to port 80 of vCenter. Accordingly, the WEBPORT parameter is set to 80 or 443 depending upon the status of the SSL flag.  In some environments however, the default ports 80 or 443 might not apply. In such a case, against the WEBPORT parameter, you can specify the exact port at which the ESX server or vCenter in your environment listens so that the eG agent communicates with that port.

Virtual Center

If the eG manager had discovered the target ESX server by connecting to vCenter, then the IP address of the vCenter server used for discovering this ESX server would be automatically displayed against the VIRTUAL CENTER parameter; similarly, the ESX USER and ESX PASSWORD text boxes will be automatically populated with the vCenter user credentials, using which ESX discovery was performed.

If this ESX server has not been discovered using vCenter, but you still want to discover the guests on the ESX server via vCenter, then select the IP address of the vCenter host that you wish to use for guest discovery from the VIRTUAL CENTER list. By default, this list is populated with the IP address of all vCenter hosts that were added to the eG Enterprise system at the time of discovery. Upon selection, the ESX USERand ESX PASSWORD that were pre-configured for that vCenter server will be automatically displayed against the respective text boxes.

On the other hand, if the IP address of the vCenter server of interest to you is not available in the list, then, you can add the details of the vCenter server on-the-fly, by selecting the Other option from the VIRTUAL CENTER list. This will invoke the ADD VCENTER SERVER DETAILS page. Refer to Adding the Details of a vCenter Server for VM Discoverysection to know how to add a vCenter server using this page. Once the vCenter server is added, its IP address, ESX USER, and ESX PASSWORD will be displayed against the corresponding text boxes.

On the other hand, if you want the eG agent to behave in the default manner -i.e., communicate with each ESX server for monitoring and VM information - then set the VIRTUAL CENTER parameter to ‘none’.

Ignore VMs inside view

Administrators of some high security environments might not have permissions to internally monitor one/more VMs. The eG agent can be configured to not obtain the 'inside view' of such ‘inaccessible’ VMs using the Ignore VMs Inside View parameter. Against this parameter, you can provide a comma-separated list of VM names, or VM name patterns, for which the inside view need not be obtained. For instance, your Ignore VMs Inside View specification can be: *ubuntu*,*lin*,rhel*,*suse*. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside view of all VMs on host by default configured to not obtain the 'inside view' of such ‘inaccessible’ VMs using the Ignore VMs Inside View parameter.

Note:

While performing VM discovery, the eG agent will not discover the operating system of the VMs configured in the Ignore VMs Inside View text box.

Exclude IP

Typically, when performing VM discovery, the eG agent automatically discovers the operating system on which every VM runs, and all the IP addresses that each VM supports. If two are more VMs on a target vSphere server are in a VM cluster, then the eG agent will also auto-discover the cluster IP address. Since the cluster IP address is shared by all VMs in the cluster, this IP address will be in the discovery list of every VM in the cluster. In this case, if the eG agent attempts to obtain the 'inside view' of each VM in a cluster using their cluster IP address, incorrect metrics may be reported sometimes. To avoid this, you may want to instruct the eG agent to not use the cluster IP address when collecting 'inside view' metrics. For this, specify a comma-separated list of cluster IP addresses to be excluded in the EXCLUDE IP text box.

Ignore WINNT

By default, the eG agent does not support the inside view for VMs executing on Windows NT operating systems. Accordingly, the Ignore WINNT flag is set to Yes by default.

Exclude VMs

Administrators of some virtualized environments may not want to monitor some of their less-critical VMs - for instance, VM templates - both from 'outside' and from 'inside'. The eG agent in this case can be configured to completely exclude such VMs from its monitoring purview. To achieve this, provide a comm-separated list of VMs to be excluded from monitoring in the Exclude VMs text box. Instead of VMs, VM name patterns can also be provided here in a comma-separated list. For example, your Exclude VMs specification can be: *ubuntu*,*lin*,rhel*,*suse*. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside and outside views of all VMs on a virtual host by default. By providing a comma-separted list of VMs/VM name patterns in the Exclude VMs text box, you can make sure the eG agent stops collecting 'inside' and 'outside' view metrics for a configured set of VMs.

Inside view using TCP

While monitoring virtualized desktop environments, this flag is set to Yes by default; which implies TCP will be used for inside view. This parameter applies only to virtualized environments supporting Windows VMs.

Domain, Admin User and Admin Password

By default, this test connects to each virtual guest remotely and attempts to collect “inside view” metrics. In order to obtain a remote connection, the test must be configured with user privileges that allow remote communication with the virtual guests. For this, you need to specify a domain name, an admin user name, and an admin password. Specify a local administrator account name in the Admin User text box.

Prior to this, you need to ensure that the same local administrator account is available or is explicitly created on each of the virtual machines to be monitored. Then, proceed to provide the password of the Admin User against Admin Password, and confirm the password by retyping it in the Confirm Password text box.

If key-based authentication is implemented between the eG agent and the SSH daemon of a Linux guest, then, in the Admin User text box, enter the name of the user whose <USER_HOME_DIR> (on that Linux guest) contains a .ssh directory with the public key file named authorized_keys. The Admin Password in this case will be the passphrase of the public key; the default public key file that is bundled with the eG agent takes the password eginnovations. Specify this as the Admin Password if you are using the default private/public key pair that is bundled with the eG agent to implement key-based authentication. On the other hand, if you are generating a new public/private key pair for this purpose, then use the passphrase that you provide while generating the pair. For the detailed procedure on Implementing Key-based Authentication refer to Troubleshooting.

Report by User

While monitoring virtualized desktop environments, this flag is set to Yes by default; which implies that in case of VDI servers, by default, the guests will be identified using the login of the user who is accessing the guest OS. In other words, in VDI environments, this test will, by default, report measures for every username_on_virtualmachinename.

Report powered OS

This flag becomes relevant only if the Report By user flag is set to ‘Yes’.

If the Report Powered OS flag is set to Yes (which is the default setting), then this test will report measures for even those VMs that do not have any users logged in currently. Such guests will be identified by their virtual machine name and not by the username_on_virtualmachinename. On the other hand, if the Report Powered OS flag is set to No, then this test will not report measures for those VMs to which no users are logged in currently.

Detailed Diagnosis

To make diagnosis more efficient and accurate, eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability

  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

WMI service availability

Indicates the percentage availability of WMI service on this server during the last measurement period.

Percentage

Lower values indicate service crashes, high CPU lockups, or WMI repository corruption.

CIMv2 namespace availability

Indicates the percentage availability of root\CIMv2 namespace on this server during the last measurement period.

Percentage

Reduced percentage suggests OS-level WMI instability affecting access to CPU, memory, and process metrics.

Basic WMI class availability

Indicates the percentage availability of Basic WMI class on this server during the last measurement period.

Percentage

Lower values indicate Citrix provider registration issues or partial VDA instrumentation failure.

ICA session class availability

Indicates the percentage availability of ICA session class on this server during the last measurement period.

Percentage

Drops suggest session instrumentation issues or VDA communication instability.

HDX namespace availability

Indicates the percentage availability of HDX namespace on this server during the last measurement period.

Percentage

Lower values imply inability to reliably collect HDX latency, bandwidth, and graphics metrics.

Client enum class availability

Indicates the percentage availability of Client enum class on this server during the last measurement period.

Percentage

Reduced values indicate intermittent inability to retrieve endpoint device details.

Session class availability

Indicates the percentage availability of Session class on this server during the last measurement period.

Percentage

Lower values mean inconsistent visibility into session states and user-session mappings.

EUEM namespace availability

Indicates the percentage availability of EUEM namespace on this server during the last measurement period.

Percentage

Reduced values indicate unreliable collection of logon breakdown and user experience metrics.

Client connect class availability

Indicates the percentage availability of Client connect class on this server during the last measurement period.

Percentage

Lower percentages imply incomplete visibility into connection handshake performance.

Client startup class availability

Indicates the percentage availability of Client start-up class on this server during the last measurement period.

Percentage

Lower values indicate missing or inconsistent client-side launch metrics.

Server startup class availability

Indicates the percentage availability of Server start-up class on this server during the last measurement period.

Percentage

Drops suggest inability to consistently measure broker processing, GPO load, or profile load times.

Profile metrics namespace availability

Indicates the percentage availability of Profile metrics namespace on this server during the last measurement period.

Percentage

Lower values indicate unreliable measurement of profile load and processing durations.

Logon timings class availability

Indicates the percentage availability of Logon timings class on this server during the last measurement period.

Percentage

Reduced percentage prevents accurate root-cause analysis of slow logons.