Supported Versions |
---|
Validated the app by executing powershell script against "Microsoft Windows Server 2019 Datacenter 10.0.17763 Build 17763.3770" |
Introduction
Virtual infrastructures, particularly in big data centers, must ensure high availability of services and applications and eliminate single points of failure. In order to do this, Microsoft offers the Failover Clustering technology, which can be applied to a Hyper-V environment to set up numerous Hyper-V hosts or nodes that can take over the workload in the event that one host fails.
Microsoft Failover Clustering can be used to safeguard virtual machines even though Hyper-V is host-bound and made to handle the resources of physical machines. Despite being a different technology, Failover Clustering can be used in conjunction with Hyper-V to reduce the amount of time that virtual machines are unavailable in the case of a failure. Its own administrative tool is Failover Cluster Manager.
Key Use cases
Discovery Use cases
- It discovers the Windows Hyper-V Cluster components.
- Publishes relationships between resources to have a topological view and ease of maintenance.
Monitoring Use cases
- Provides metrics related to job scheduling time and status etc.
- Concern alerts will be generated for each metric to notify the administrator regarding the issue with the resource.
Pre-Requisites
- OpsRamp Classic Gateway 12.0.1 and above.
- Powershell cmdlets have the following prerequisites:
- Windows domain User should be able to do powershell remoting
Enable-PSRemoting -Force - Windows domain user should be added to “Remote Management users” group
net localgroup “Remote Management Users” /add < user > - Windows domain user should be added to “Performance monitor users” group
net localgroup “Performance monitor users” /add < user >
- Windows domain User should be able to do powershell remoting
- Granting Remote DCOM Rights
- To grant users DCOM rights, log on to each monitored system and complete the following procedure:
- Go to command prompt and enter dcomcnfg
- Navigate to component services > computers > My computer and then right click and select Properties. Then go to the COM Security tab.
- Under Access Permissions, go to edit limits and add the domain non-admin user and enable both local and remote access then click OK.
- In Launch and Activation permissions, go to edit limits, add the domain non-admin user and check all boxes, and click OK.
- To grant users DCOM rights, log on to each monitored system and complete the following procedure:
- Windows domain user should be granted read-only access to cluster
Grant-ClusterAccess -User <domain\user> -Readonly - Open ports and add user in all nodes and cluster**
- Opsramp gateway should be able to access cluster and nodes.
- Ports to be opened are 5985 and 5986.
Note: By default, WS-Man and PowerShell remoting use port 5985 and 5986 for connections over HTTP and HTTPS, users should be present in nodes and cluster.
Hierarchy of Windows Hyper-V Cluster
- Windows HyperV Cluster
- Windows HyperV Server
- Windows HyperV Virtual Switch
- Windows HyperV Host Disk
- Windows HyperV Guest VM
- Windows HyperV Cluster Role
- Windows HyperV Cluster Shared Volume
- Windows HyperV Cluster Disk
Default Monitoring Configurations
Windows-hyper v-cluster has default Global Device Management Policies, Global Templates, Global Monitors and Global metrics in OpsRamp. You can customize these Default Monitoring configurations as per your business use cases by cloning respective Global Templates and Global Device Management Policies. OpsRamp recommends performing the below activity before installing the application to avoid noise alerts and data.
Default Global Device Management Policies
OpsRamp has a Global Device Management Policy for each Native Type of Windows HyperV Cluster. You can find those Device Management Policies at Setup -> Resources -> Device Management Policies, Search with suggested names in global scope. Each Device Management Policy follows below naming convention:
{appName nativeType - version}
Ex: windows-hyperv-cluster Windows HyperV Cluster - 1 (i.e, appName = windows-hyperv-cluster, nativeType =Windows HyperV Cluster, version = 1)
Default Global Templates available
OpsRamp has a Global template for each Native Type of NetApp StorageGRID. We can find those templates at Setup -> Monitoring -> Templates, Search with suggested names in global scope. Each template follows below naming convention:
{appName nativeType 'Template' - version}
Ex: windows-hyperv-cluster Windows HyperV Cluster Template - 1 (i.e, appName = windows-hyperv-cluster , nativeType = Windows HyperV Cluster, version = 1)
Default Global Monitors available
OpsRamp has a Global Monitors for each Native Type which has monitoring support. You can find those monitors at Setup -> Monitoring -> Monitors, Search with suggested names in global scope. Each Monitors follows below naming convention:
{monitorKey appName nativeType - version}
Ex: Windows HyperV Cluster Monitor windows-hyperv-cluster StorageGRID 1 (i.e, monitorKey = Windows HyperV Cluster Monitor, appName = windows-hyperv-cluster , nativeType = Windows HyperV Cluster 1 , version= 1
Configure and install the integration
- From All Clients, select a client.
- Go to Setup > Integrations and Apps.
- Click Manage Apps.
Notes:- If there are already installed applications, it will redirect to the INSTALLED APPS page where all the installed applications are displayed.
- If there are no installed applications, it will navigate to the ADD APP page.

- Click + ADD on the INSTALLED APPS page. The AVAILABLE INTEGRATIONS AND APPS page displays all the available applications along with the newly created application with the version.
Note: You can even search for the application using the search option available. Also you can use the All Categories option to search.

- Click ADD in the Windows HyperV Cluster application.
- In the Configuration page, click + ADD. The Add Configuration page appears.
- Enter the below mentioned BASIC INFORMATION:
Functionality | Description |
---|---|
Name | Enter the name for the configuration. |
IP Address/Host Name of Hyper-V cluster | Enter the Host name or the IP address. |
Windows Cluster Credentials | Select the credentials from the drop-down list. Note: Click + Add to create a credential. |
Note: Select App Failure Notifications: if turned on, you will be notified in case of an application failure that is, Connectivity Exception, Authentication Exception.
- Select the below mentioned Custom Attribute:
Functionality | Description |
---|---|
Custom Attribute | Select the custom attribute from the drop down list box. |
Value | Select the value from the drop down list box. |
Note: The custom attribute that you add here will be assigned to all the resources that are created by the integration. You can add a maximum of five custom attributes (key and value pair).
- In the RESOURCE TYPE section, select:
- ALL: All the existing and future resources will be discovered.
- SELECT: You can select one or multiple resources to be discovered.
- In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:
- Minutes
- Hourly
- Daily
- Weekly
- Monthly
- Click ADD.

- Now the configuration is saved and displayed on the configurations page after you save it. From the same page, you may Edit and Remove the created configuration..
- Click NEXT.
- In the Installation page, select an existing registered profile, and click FINISH.

The application is now installed and displayed on the Installed Integration page. Use the search field to find the installed application.
Modify the Configuration
See Modify an Installed Integration or Application article.
Note: Select the Windows HyperV Cluster application.
View the Windows HyperV Cluster details
The discovered resource(s) are displayed in Infrastructure > Resources > Cluster, with Native Resource Type as Windows HyperV Cluster. You can navigate to the Attributes tab to view the discovery details, and the Metrics tab to view the metric details for Windows HyperV Cluster.


Supported Metrics
Native Type | Metric Names | Metric Display Name | Unit | Description |
---|---|---|---|---|
Windows HyperV Cluster | windows_hyperv_cluster_network_State | windows HyperV Cluster Network State | HyperV cluster network state.Possible states are: Unavailable: 0, Down: 1, Partitioned: 2, Unknown: 3, Up: 4 | |
windows_hyperv_cluster_OnlineNodesCount | Windows HyperV Cluster Online Nodes Count | count | HyperV cluster online nodes count | |
windows_hyperv_cluster_NodeHealth | Windows HyperV Cluster Node Health | % | HyperV cluster node health. | |
Windows HyperV Server | windows_hyperv_server_IdleCPUUtilization | Windows HyperV Server Idle CPU Utilization | % | HyperV server idle cpu utilization |
windows_hyperv_server_GuestCPUUtilization | Windows HyperV Server Guest CPU Utilization | % | HyperV server guest cpu utilization | |
windows_hyperv_server_HypervisorCPUUtilization | Windows HyperV Server Hypervisor CPU Utilization | % | HyperV server hypervisor cpu utilization. | |
windows_hyperv_server_TotalCPUUtilization | Windows HyperV Total CPU Utilization | % | HyperV server total cpu utilization. | |
windows_hyperv_server_system_services_HealthState | Windows HyperV System Services Health State | HyperV system services health state.Possible values are: ""0"" = ""Unknown""; ""5"" = ""OK""; ""10"" = ""Degraded/Warning""; ""15"" = ""Minor failure""; ""20"" = ""Major failure""; ""25"" = ""Critical failure""; ""30"" = ""Non-recoverable error""; "".."" = ""DMTF Reserved"" | ||
windows_hyperv_server_AvailableMBytes | Windows HyperV Server Available MBytes | MB | HyperV server available Mbytes. | |
windows_hyperv_server_PageFileUsage | Windows HyperV Server Page File Usage | GB | HyperV server page file usage. | |
windows_hyperv_server_VirtualTLBPages | Windows HyperV Server Virtual TLB Pages | count | HyperV server virtual TLB pages. | |
windows_hyperv_server_DepositedPages | Windows HyperV Server Deposited Pages | count | HyperV server deposited pages. | |
windows_hyperv_server_TotalPhysicalMemory | Windows HyperV Server Total Physical Memory | GB | HyperV server total physical memory. | |
windows_hyperv_server_Virtual_Memory | Windows HyperV Server Virtual Memory | GB | HyperV server virtual memory | |
windows_hyperv_server_TotalRemotePhysicalPages | Windows HyperV Server Total Remote Physical Pages | count | HyperV server total remote physical pages. | |
windows_hyperv_server_NetworkAdaptersBytesReceived | Windows HyperV Server Network Adapter BytesReceivedPerSec | Bps | HyperV network adapter bytes received per second. | |
windows_hyperv_server_NetworkAdaptersPacketsSent | Windows HyperV Server Network Adapter Packets Sent | Bps | HyperV network adapter bytes received per second. | |
windows_hyperv_server_NetworkAdaptersBytesSent | Windows HyperV Server Network Adapter Bytes Sent | Bps | HyperV network adapter bytes sent. | |
windows_hyperv_server_NetworkAdaptersPacketsReceived | Windows HyperV Server Network Adapter Packets Received | packets/sec | HyperV network adapter packets received. | |
windows_hyperv_server_NetworkAdaptersPackets | Windows HyperV Server Network Adapter Packets | packets/sec | HyperV network adapter packets per second. | |
Windows HyperV Virtual Switch | windows_hyperv_server_VirtualSwitchPacketsReceived | Windows HyperV Server Virtual Switch Packets Received | packets/sec | HyperV virtual switch packets received per second. |
windows_hyperv_server_VirtualSwitchBytesReceived | Windows HyperV Server Virtual Switch Bytes Received | Bps | HyperV virtual switch bytes received per second. | |
windows_hyperv_server_VirtualSwitchPackets | Windows HyperV Server Virtual Switch Packets | packets/sec | HyperV virtual switch packets per second. | |
windows_hyperv_server_VirtualSwitchBytesSent | Windows HyperV Server Virtual Switch Bytes Sent | Bps | HyperV virtual switch bytes sent per second. | |
windows_hyperv_server_VirtualSwitchBytes | Windows HyperV Server Virtual Switch Bytes | Bps | HyperV virtual switch bytes per second. | |
windows_hyperv_server_VirtualSwitchPacketsSent | Windows HyperV Server Virtual Switch Packets Sent | packets/sec | HyperV virtual switch packets sent per second. | |
Windows HyperV Host Disk | windows_hyperv_disk_PhysicalDiskTransferPerSec | Windows HyperV Disk Physical Disk Transfer Per Sec | IOPS | HyperV physical disk transfers per second. |
windows_hyperv_disk_PhysicalDiskQueueLength | Windows HyperV Disk Physical Disk Queue Length | HyperV physical disk queue length. | ||
windows_hyperv_disk_PhysicalDiskBytesPerSec | Windows HyperV Disk Physical Disk Bytes Per Sec | Bps | HyperV physical disk bytes per second. | |
windows_hyperv_disk_PhysicalDiskReadBytesPersec | Windows HyperV Disk Physical Disk Read Bytes Per Sec | Bps | HyperV physical disk read bytes per second. | |
windows_hyperv_disk_PhysicalDiskReadsPersec | Windows HyperV Disk Physical Disk Reads Per Sec | Bps | HyperV physical disk reads per second. | |
windows_hyperv_disk_PhysicalDiskWritesPersec | Windows HyperV Disk Physical Disk Writes Per Sec | Bps | HyperV physical disk writes per second. | |
windows_hyperv_disk_PhysicalDiskWriteBytesPersec | Windows HyperV Disk Physical Disk Write Bytes Per Sec | Bps | HyperV physical disk write bytes per second. | |
windows_hyperv_disk_HealthStatus | Windows HyperV Disk Health Status | HyperV disk health status. Possible states are: 'Unknown': 0 ,'Failing' : 1, 'Failed' : 2, 'Healthy' : 3 | ||
windows_hyperv_disk_OperationalStatus | Windows HyperV Disk Operational Status | HyperV disk operational status. Possible statuses are: 'Unknown': 0, 'Not Ready': 1, 'No Media' : 2, 'Offline' : 3, 'Failed': 4, 'Missing' : 5, 'Online': 6 | ||
Windows HyperV Guest VM | windows_hyperv_guestvm_CpuUtilization | Windows HyperV GuestVM CPU Utilization | % | HyperV guest VM cpu utilization. |
windows_hyperv_guestvm_State | Windows HyperV GuestVM State | HyperV guest VM state.Possible values are: Off : 0 Other: 1 Stopping: 2 Saved: 3 Paused: 4 Starting: 5 Reset: 6 Saving: 7 Pausing: 8 Resuming: 9 FastSaved: 10 FastSaving: 11 ForceShutdown: 12 ForceReboot: 13 Hibernated: 14 RunningCritical: 15 OffCritical: 16 StoppingCritical : 17 SavedCritical: 18 PausedCritical: 19 StartingCritical: 20 ResetCritical: 21 SavingCritical: 22 PausingCritical: 23 ResumingCritical: 24 FastSavedCritical: 25 FastSavingCritical: 26 Running: 27 | ||
windows_hyperv_guestvm_diskUsage | Windows HyperV GuestVM Disk Usage | MB | HyperV guest VM disk usage | |
Windows HyperV Cluster Role | windows_hyperv_role_RunningStatus | Windows HyperV Role Running Status | HyperV cluster role running status.Possible values: Online : 0 Offline : 1 Failed : 2 PartialOnline : 3 Pending : 4 Unknown : 5 | |
windows_hyperv_role_FailoverStatus | Windows HyperV Role Failover Status | HyperV cluster role failover status. Possible values: Failedover: 0, No Failover: 1 | ||
Windows HyperV Cluster Shared Volume | windows_hyperv_csv_Utilization | Windows HyperV CSV Utilization | % | HyperV cluster shared volume utilization. |
windows_hyperv_csv_Usage | Windows HyperV CSV Usage | GB | HyperV cluster shared volume usage. | |
windows_hyperv_csv_OperationalStatus | Windows HyperV CSV Operational Status | HyperV cluster shared volume operational status. Possible values: Offline : 0 Failed : 1 Inherited : 2 Initializing : 3 Pending : 4 OnlinePending : 5 OfflinePending : 6 Unknown : 7 Online : 8. | ||
windows_mssql_cluster_totalServerMemory | Total Server Memory | KB | Total amount of dynamic memory the server is currently consuming. | |
Windows HyperV Cluster Disk | windows_hyperv_clusterdisk_State | Windows HyperV Cluster Disk State | HyperV cluster disk state.Possible values : Offline : 0 Failed : 1 Inherited : 2 Initializing : 3 Pending : 4 OnlinePending : 5 OfflinePending : 6 Unknown : 7 Online : 8 | |
windows_mssql_cluster_databaseStatus | Database Status | 0 = ONLINE 1 = RESTORING 2 = RECOVERING SQL Server 2008 and later 3 = RECOVERY_PENDING SQL Server 2008 and later 4 = SUSPECT 5 = EMERGENCY SQL Server 2008 and later 6 = OFFLINE SQL Server 2008 and later 7 = COPYING Azure SQL Database Active Geo-Replication 10 = OFFLINE_SECONDARY Azure SQL Database Active Geo-Replication | ||
windows_mssql_cluster_databaseActiveUsers | Database Active Users | count | Monitors the number of active user transactions per database | |
windows_mssql_cluster_datafilesFreeSpace | Data Files Free Space | % | Monitors datafiles free space regardless of auto-growth. | |
windows_mssql_cluster_databaseFreeSpace | Database Free Space | % | Monitors Database Freespace in Percentage. | |
windows_mssql_cluster_dbLogCacheHitRatio | DB Log Cache Hit Ratio | % | Monitors MSSQL database log cache-hit ratio. | |
windows_mssql_cluster_dbLogfilesFreeSpace | DB Logfiles Free Space | % | Monitors MSSQL database LogFiles free space. | |
windows_mssql_cluster_minsSinceLastLogBackup | Mins since Last Log Backup | m | Monitors Database transaction log backup in minutes. | |
windows_mssql_cluster_minsSinceLastLogFullBackup | Mins since Last Log Full Backup | m | Monitors Database Backup status in Minutes since Last Full Backup. | |
windows_mssql_cluster_fileGroupFreespaceWithAvailableDisk | File Group Free Space with Available Disk | % | Monitor MSSQL DB Filegroup Freespace with Available Disk. | |
windows_mssql_cluster_dbFileGroupFreespace | DB File Group Free Space | % | Monitors MSSQL DB Filegroup Freespace. | |
windows_mssql_cluster_longRunningQueriesLast5minCount | Long Running Queries Last 5min Count | count | Monitors MSSQL Database Long Running queries count Last 5 minutes. | |
windows_mssql_cluster_serverIOBusy | Server IO Busy | % | Monitors MSSQL DB Server IO Busy. | |
windows_mssql_cluster_dbWorkspaceMemory | DB Workspace Memory | % | Monitors MSSQL Database Workspace Memory in Percentage. | |
windows_mssql_cluster_dbInstanceCpuUtilization | DB Instance CPU Utilization | % | Monitors MSSQL Database Instance CPU Utilization in percentage. | |
windows_mssql_cluster_logfileFreespaceWithAvailableDisk | Logfile Free Space with Available Disk | % | Monitors MSSQL DB Logfile Freespace with Available Disk in percentage. | |
windows_mssql_cluster_instanceFreeConnections | Instance Free Connections | % | Monitors MSSQL Database Instance Free Connections in percentage | |
windows_mssql_cluster_daysSinceLastFullBackup | Days since Last Full Backup | Days | MSSQL DB Backup Days Since Last Full Backup. | |
windows_mssql_cluster_daysSinceLastLogBackup | Days since Last Log Backup | Days | MSSQL DB Backup Days Since Last Log Backup. | |
windows_mssql_cluster_daysSinceLastDifferentialBackup | Days since Last Differential Backup | Days | MSSQL DB Backup Days Since Last Differential Backup. | |
windows_mssql_cluster_alwaysOnDBAvailabilitySyncHealth | AlwaysOn DB Availability Sync Health | MSSQL AlwaysOn DataBase Availability Synchronization Health - Below are the possible states:0 : NOT_HEALTHY 1 : PARTIALLY_HEALTHY 2 : HEALTHY | ||
windows_mssql_cluster_alwaysOnAGSyncHealth | AlwaysOn AG Sync Health | MSSQL AlwaysOn Availability Group Synchronization Health - Below are the possible values: 0 : NOT_HEALTHY 1 : PARTIALLY_HEALTHY 2 : HEALTHY | ||
windows_mssql_cluster_alwaysOnListenerState | AlwaysOn Listener State | MSSQL AlwaysOn Listener State - Below are the possible values: 0 : OFFLINE 1 : ONLINE 2 : ONLINE_PENDING 3 : FAILED | ||
windows_mssql_cluster_cpuBusy | CPU Busy | microsec | MSSQL CPU Busy | |
windows_mssql_cluster_cpuIdle | CPU Idle | microsec | MSSQL CPU IDLE | |
windows_mssql_cluster_cpuIOBusy | CPU IO Busy | microsec | MSSQL CPU IoBusy | |
windows_mssql_cluster_alwayson_database_replicaState | MSSQL AlwaysOn availability Group Replica State | It monitors the MSSQL Always On Database Replica synchronization state along with role description. Below are the possible states: PRIMARY_NOT SYNCHRONIZING - 0 PRIMARY_SYNCHRONIZING - 1 PRIMARY_SYNCHRONIZED - 2 PRIMARY_REVERTING - 3 PRIMARY_INITIALIZING - 4 SECONDARY_NOT SYNCHRONIZING - 5 SECONDARY_SYNCHRONIZING - 6 SECONDARY_SYNCHRONIZED - 7 SECONDARY_REVERTING - 8 SECONDARY_INITIALIZING - 9 |
Risks, Limitations & Assumptions
- Application can handle Critical/Recovery failure notifications for below two cases when user enables App Failure Notifications in configuration:
- Connectivity Exception
- Authentication Exception
- Application will not send any duplicate/repeat failure alert notification until the already existing critical alert is recovered.
- Using metrics for monitoring the resources and generating alerts when the threshold values are breached.
- Application cannot control monitoring pause/resume actions based on above alerts.
- This application supports only Classic Gateway and NextGen Gateway. Not supported with Cluster Gateway.
- No support of showing activity log and applied time.
- The minimum suggested monitoring frequency is 5mins to avoid load on the target machine.