Windows PowerShell Processes - AVD Test

This test reports the availability of and resource consumption of the PowerShell processes running on a target Windows host. Alerts are sent out if any process is over-utilizing critical system resources. Detailed diagnostics of the test reveals the top PowerShell processes in terms of resource consumption. In the event of a resource contention on the host, these detailed metrics will point you to the exact PowerShell process that is the reason for the resource bottleneck.

Target of the test : An Azure Virtual Desktop

Agent deploying the test : An internal agent

Outputs of the test : One set of results for the target Azure Virtual Desktop that is being monitored

Configurable parameters for the test
Parameters Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The default port is NULL.

Service Name

Name of the service that is to be checked. More than one service name can also be provided with comma as the separator.

Note:

When configuring the Service Name, make sure that you specify the Display Nameof the service, and not the service Name you see in the Services window on your AVD.

To save the time and effort involved in manual service specification, eG Enterprise offers an easy-to-use auto-configure option in the form of a View/Configure button that is available next to the Service Name text box. Refer to Windows PowerShell Processes - AVD Test for details on how to use this option.

Correct

Increased uptime and lower mean time to repair are critical to ensuring that IT infrastructures deliver a high quality of service to users. Towards this end, the eG Enterprise embeds an optional auto-correction capability that enables eG agents to automatically correct problems in the environment, as soon as they occur. With this capability, as and when an abnormal situation is detected, an eG agent can initiate corrective actions automatically to resolve the problem. Automatic correction without the need for manual intervention by IT operations staff reduces service downtime and improves operational efficiency. By default, the auto-correction capability is available in the eG Enterprise for the Processes running measure of Processes test, and the Availability measure of Windows Services - AVD test. The eG Enterprise includes a default auto-correction script for Windows Services - AVD test, which executes when the service that the eG agent has been configured to monitor, stops. To enable the auto-correction capability of the Windows Services first, select the Yes option against the Correct parameter in this page (by default, No will be selected here).

Alarm Type

Upon selecting the Yes option, two new parameters, namely, Alarm Type, User Params, and Corrective Script will appear. The Alarm Type parameter indicates when the auto-corrective script should execute. You can set the corrective script to execute when a specific type of alarm is generated, by selecting an option from the Alarm Type list box. For example, if the Critical option is chosen from the Alarm Type list box, then the corrective script will run only when a critical alarm for the Windows Services - AVD test is generated. Similarly, if the Critical/Major option is chosen, then the corrective script will execute only when the eG Enterprise system generates critical or major alarms for the Windows Services - AVD test. In order to ensure that the corrective script executes regardless of the alarm type, select the Critical/Major/Minor option.

User Params

The default script for Windows Services - AVD test takes no parameters. Therefore, specify none against User Params.

Corrective Script

The Corrective Script text box can also contain none, so that the default script is automatically associated with the test. Administrators can build new auto-correction capabilities to address probable issues with other tests, by writing their own corrective scripts. To know how to create custom auto-correction scripts, refer to the eG User Manual.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Number of processes running

Indicates the number of PowerShell processes that are currently running.

KB/Sec

 

CPU utilization

Indicates the average CPU usage of the PowerShell processes on this host.

Percent

A value close to 100% implies that PowerShell processes are consuming CPU excessively. In such a case, use the detailed diagnosis of the Number of processes running measure to identify those processes that are contributing to the CPU contention.

Memory utilization

Indicates the percent memory usage of the PowerShell processes running on the host.

Percent

A value close to 100% implies that PowerShell processes are consuming memory excessively. In such a case, use the detailed diagnosis of the Number of processes running measure to identify those processes that are contributing to the memory contention.

Handle count

Indicates the number of handles opened by the PowerShell processes.

Number

An increasing trend in this measure is indicative of a memory leak. Use the detailed diagnosis of the Number of processes running measure to identify which PowerShell process is leaking memory.

Number of threads

Indicates the number of threads that are used by the PowerShell processes.

Number

 

Virtual memory used

Indicates the amount of virtual memory that is being used by the PowerShell processes.

MB

 

I/O data operations

Indicates the rate at which PowerShell processes are issuing read and write data to file, network and device I/O operations.

Operations/Sec

If the value of this measure is consistently high, it could mean that n that one/more PowerShell processes are engaged in I/O-heavy processing. Use the detailed diagnosis of the Number of processes running measure to identify such processes.

I/O data rate

Indicates the rate at which PowerShell processes are reading and writing bytes in I/O operations.

KB/Sec

If the value of this measure is unusually high, it could be a sign that one/more PowerShell processes are engaged in I/O-intensive activities. Use the detailed diagnosis of the Number of processes running measure to identify such processes.

I/O read data rate

Indicates the rate at which the PowerShell proecsses are reading data from file, network and device I/O operations.

KB/Sec

 

I/O write data rate

Indicates the rate at which the PowerShell processes are writing data to file, network and device I/O operations.

KB/Sec

 

Page fault rate

Indicates the total rate at which page faults are occurring for the
threads of the PowerShell processes.

Faults/Sec

A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This may not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with whom the page is shared.

Memory working set

Indicates the average size of the working set of PowerShell processes.

MB

The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. 
When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory. If a process pattern matches multiple processes, the memory working set reported is the sum of the working sets for the processes that match the specified pattern. Detailed diagnosis for this test provides details of the individual processes and their individual working sets.

Use the detailed diagnosis of the Number of processes running measure to compare the working set across PowerShell processes . This will point you to the process(es) are taking up excessive memory.
By tracking the working set of a process over time, you can determine if the application has a memory
leak or not.

Write Operation

Indicates the total number of write operations performed by the PowerShell processes.

Number

An unusually high value of this measure could indicate that PowerShell processes are performing an abnormally large number of writes. In such circumstances, use the detailed diagnosis of the Number of processes running measure to identify the precise process that is responsible for the maximum number of writes.

Read Operation

Indicates the total number of read operations performed by the PowerShell processes.

Number

An unusually high value of this measure could indicate that PowerShell processes are performing an abnormally large number of reads. In such circumstances, use the detailed diagnosis of the Number of processes running measure to identify the precise process that is responsible for the maximum number of reads.

Write Data

Indicates the amount of data written to disk by PowerShell processes.

MB

If the value of these measures is abnormally high, it could hint at a potential I/O-contention. In this case, use the detailed diagnosis of the Number of processes running measure to identify the I/O-intensive processes.

Read Data

Indicates the amount of data read from disk by PowerShell processes.

MB

Indicates the amount of data read from disk by PowerShell processes.

Uptime

Indicates the total uptime of PowerShell processes.

Minutes