Supported Target Versions
Validated the app by executing powershell script against "Microsoft Windows Server 2019 Datacenter 10.0.17763 Build 17763.3770"

Application Version and Upgrade Details

Application VersionBug fixes / Enhancements
2.0.0
  • Code Enhancements - bulkOperations Support.
  • Metric label support.
  • Missing component alert support.
  • Display Order and Resource Grouping Support
  • subcategory Updated from Servers and VMs to Compute
1.0.2Full discovery support.
1.0.1Resource discovery and monitoring implementations.

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.

Prerequisites

  • OpsRamp Classic Gateway 14.0.0 and above.
  • OpsRamp NextGen Gateway 14.0.0 and above.
    Note: OpsRamp recommends using the latest Gateway version for full coverage of recent bug fixes, enhancements, etc..
  • 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 >
  • 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.
  • 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

Supported Metrics

Click here to view the supported metrics
Native TypeMetric NamesMetric Display NameUnitApplication VersionDescription
Windows HyperV Clusterwindows_hyperv_cluster_network_Statewindows HyperV Cluster Network State1.0.0HyperV cluster network state.Possible states are: Unavailable: 0, Down: 1, Partitioned: 2, Unknown: 3, Up: 4
windows_hyperv_cluster_OnlineNodesCountWindows HyperV Cluster Online Nodes Countcount1.0.0HyperV cluster online nodes count
windows_hyperv_cluster_NodeHealthWindows HyperV Cluster Node Health%1.0.0HyperV cluster node health.
Windows HyperV Serverwindows_hyperv_server_IdleCPUUtilizationWindows HyperV Server Idle CPU Utilization%1.0.0HyperV server idle cpu utilization
windows_hyperv_server_GuestCPUUtilizationWindows HyperV Server Guest CPU Utilization%1.0.0HyperV server guest cpu utilization
windows_hyperv_server_HypervisorCPUUtilizationWindows HyperV Server Hypervisor CPU Utilization%1.0.0HyperV server hypervisor cpu utilization.
windows_hyperv_server_TotalCPUUtilizationWindows HyperV Total CPU Utilization%1.0.0HyperV server total cpu utilization.
windows_hyperv_server_system_services_HealthStateWindows HyperV System Services Health State1.0.0HyperV 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_AvailableMBytesWindows HyperV Server Available MBytesMB1.0.0HyperV server available Mbytes.
windows_hyperv_server_PageFileUsageWindows HyperV Server Page File UsageGB1.0.0HyperV server page file usage.
windows_hyperv_server_VirtualTLBPagesWindows HyperV Server Virtual TLB Pagescount1.0.0HyperV server virtual TLB pages.
windows_hyperv_server_DepositedPagesWindows HyperV Server Deposited Pagescount1.0.0HyperV server deposited pages.
windows_hyperv_server_TotalPhysicalMemoryWindows HyperV Server Total Physical MemoryGB1.0.0HyperV server total physical memory.
windows_hyperv_server_Virtual_MemoryWindows HyperV Server Virtual MemoryGB1.0.0HyperV server virtual memory
windows_hyperv_server_TotalRemotePhysicalPagesWindows HyperV Server Total Remote Physical Pagescount1.0.0HyperV server total remote physical pages.
windows_hyperv_server_NetworkAdaptersBytesReceivedWindows HyperV Server Network Adapter BytesReceivedPerSecBps1.0.0HyperV network adapter bytes received per second.
windows_hyperv_server_NetworkAdaptersPacketsSentWindows HyperV Server Network Adapter Packets SentBps1.0.0HyperV network adapter bytes received per second.
windows_hyperv_server_NetworkAdaptersBytesSentWindows HyperV Server Network Adapter Bytes SentBps1.0.0HyperV network adapter bytes sent.
windows_hyperv_server_NetworkAdaptersPacketsReceivedWindows HyperV Server Network Adapter Packets Receivedpackets/sec1.0.0HyperV network adapter packets received.
windows_hyperv_server_NetworkAdaptersPacketsWindows HyperV Server Network Adapter Packetspackets/sec1.0.0HyperV network adapter packets per second.
Windows HyperV Virtual Switchwindows_hyperv_server_VirtualSwitchPacketsReceivedWindows HyperV Server Virtual Switch Packets Receivedpackets/sec1.0.0HyperV virtual switch packets received per second.
windows_hyperv_server_VirtualSwitchBytesReceivedWindows HyperV Server Virtual Switch Bytes ReceivedBps1.0.0HyperV virtual switch bytes received per second.
windows_hyperv_server_VirtualSwitchPacketsWindows HyperV Server Virtual Switch Packetspackets/sec1.0.0HyperV virtual switch packets per second.
windows_hyperv_server_VirtualSwitchBytesSentWindows HyperV Server Virtual Switch Bytes SentBps1.0.0HyperV virtual switch bytes sent per second.
windows_hyperv_server_VirtualSwitchBytesWindows HyperV Server Virtual Switch BytesBps1.0.0HyperV virtual switch bytes per second.
windows_hyperv_server_VirtualSwitchPacketsSentWindows HyperV Server Virtual Switch Packets Sentpackets/sec1.0.0HyperV virtual switch packets sent per second.
Windows HyperV Host Diskwindows_hyperv_disk_PhysicalDiskTransferPerSecWindows HyperV Disk Physical Disk Transfer Per SecIOPS1.0.0HyperV physical disk transfers per second.
windows_hyperv_disk_PhysicalDiskQueueLengthWindows HyperV Disk Physical Disk Queue Length1.0.0HyperV physical disk queue length.
windows_hyperv_disk_PhysicalDiskBytesPerSecWindows HyperV Disk Physical Disk Bytes Per SecBps1.0.0HyperV physical disk bytes per second.
windows_hyperv_disk_PhysicalDiskReadBytesPersecWindows HyperV Disk Physical Disk Read Bytes Per SecBps1.0.0HyperV physical disk read bytes per second.
windows_hyperv_disk_PhysicalDiskReadsPersecWindows HyperV Disk Physical Disk Reads Per SecBps1.0.0HyperV physical disk reads per second.
windows_hyperv_disk_PhysicalDiskWritesPersecWindows HyperV Disk Physical Disk Writes Per SecBps1.0.0HyperV physical disk writes per second.
windows_hyperv_disk_PhysicalDiskWriteBytesPersecWindows HyperV Disk Physical Disk Write Bytes Per SecBps1.0.0HyperV physical disk write bytes per second.
windows_hyperv_disk_HealthStatusWindows HyperV Disk Health Status1.0.0HyperV disk health status. Possible states are: 'Unknown': 0 ,'Failing' : 1, 'Failed' : 2, 'Healthy' : 3
windows_hyperv_disk_OperationalStatusWindows HyperV Disk Operational Status1.0.0HyperV 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 VMwindows_hyperv_guestvm_CpuUtilizationWindows HyperV GuestVM CPU Utilization%1.0.0HyperV guest VM cpu utilization.
windows_hyperv_guestvm_StateWindows HyperV GuestVM State1.0.0HyperV 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_diskUsageWindows HyperV GuestVM Disk UsageMB1.0.0HyperV guest VM disk usage
Windows HyperV Cluster Rolewindows_hyperv_role_RunningStatusWindows HyperV Role Running Status1.0.0HyperV cluster role running status.Possible values: Online : 0, Offline : 1, Failed : 2, PartialOnline : 3, Pending : 4, Unknown : 5
windows_hyperv_role_FailoverStatusWindows HyperV Role Failover Status1.0.0HyperV cluster role failover status. Possible values: Failedover: 0, No Failover: 1
Windows HyperV Cluster Shared Volumewindows_hyperv_csv_UtilizationWindows HyperV CSV Utilization%1.0.0HyperV cluster shared volume utilization.
windows_hyperv_csv_UsageWindows HyperV CSV UsageGB1.0.0HyperV cluster shared volume usage.
windows_hyperv_csv_OperationalStatusWindows HyperV CSV Operational Status1.0.0HyperV 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_totalServerMemoryTotal Server MemoryKB1.0.0Total amount of dynamic memory the server is currently consuming.
Windows HyperV Cluster Diskwindows_hyperv_clusterdisk_StateWindows HyperV Cluster Disk State1.0.0HyperV 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_databaseStatusDatabase Status1.0.00 = 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_databaseActiveUsersDatabase Active Userscount1.0.0Monitors the number of active user transactions per database
windows_mssql_cluster_datafilesFreeSpaceData Files Free Space%1.0.0Monitors datafiles free space regardless of auto-growth.
windows_mssql_cluster_databaseFreeSpaceDatabase Free Space%1.0.0Monitors Database Freespace in Percentage.
windows_mssql_cluster_dbLogCacheHitRatioDB Log Cache Hit Ratio%1.0.0Monitors MSSQL database log cache-hit ratio.
windows_mssql_cluster_dbLogfilesFreeSpaceDB Logfiles Free Space%1.0.0Monitors MSSQL database LogFiles free space.
windows_mssql_cluster_minsSinceLastLogBackupMins since Last Log Backupm1.0.0Monitors Database transaction log backup in minutes.
windows_mssql_cluster_minsSinceLastLogFullBackupMins since Last Log Full Backupm1.0.0Monitors Database Backup status in Minutes since Last Full Backup.
windows_mssql_cluster_fileGroupFreespaceWithAvailableDiskFile Group Free Space with Available Disk%1.0.0Monitor MSSQL DB Filegroup Freespace with Available Disk.
windows_mssql_cluster_dbFileGroupFreespaceDB File Group Free Space%1.0.0Monitors MSSQL DB Filegroup Freespace.
windows_mssql_cluster_longRunningQueriesLast5minCountLong Running Queries Last 5min Countcount1.0.0Monitors MSSQL Database Long Running queries count Last 5 minutes.
windows_mssql_cluster_serverIOBusyServer IO Busy%1.0.0Monitors MSSQL DB Server IO Busy.
windows_mssql_cluster_dbWorkspaceMemoryDB Workspace Memory%1.0.0Monitors MSSQL Database Workspace Memory in Percentage.
windows_mssql_cluster_dbInstanceCpuUtilizationDB Instance CPU Utilization%1.0.0Monitors MSSQL Database Instance CPU Utilization in percentage.
windows_mssql_cluster_logfileFreespaceWithAvailableDiskLogfile Free Space with Available Disk%1.0.0Monitors MSSQL DB Logfile Freespace with Available Disk in percentage.
windows_mssql_cluster_instanceFreeConnectionsInstance Free Connections%1.0.0Monitors MSSQL Database Instance Free Connections in percentage
windows_mssql_cluster_daysSinceLastFullBackupDays since Last Full BackupDays1.0.0MSSQL DB Backup Days Since Last Full Backup.
windows_mssql_cluster_daysSinceLastLogBackupDays since Last Log BackupDays1.0.0MSSQL DB Backup Days Since Last Log Backup.
windows_mssql_cluster_daysSinceLastDifferentialBackupDays since Last Differential BackupDays1.0.0MSSQL DB Backup Days Since Last Differential Backup.
windows_mssql_cluster_alwaysOnDBAvailabilitySyncHealthAlwaysOn DB Availability Sync Health1.0.0MSSQL AlwaysOn DataBase Availability Synchronization Health - Below are the possible states: 0 : NOT_HEALTHY 1 : PARTIALLY_HEALTHY 2 : HEALTHY
windows_mssql_cluster_alwaysOnAGSyncHealthAlwaysOn AG Sync Health1.0.0MSSQL AlwaysOn Availability Group Synchronization Health - Below are the possible values: 0 : NOT_HEALTHY, 1 : PARTIALLY_HEALTHY, 2 : HEALTHY
windows_mssql_cluster_alwaysOnListenerStateAlwaysOn Listener State1.0.0MSSQL AlwaysOn Listener State - Below are the possible values: 0 : OFFLINE, 1 : ONLINE, 2 : ONLINE_PENDING, 3 : FAILED
windows_mssql_cluster_cpuBusyCPU Busymicrosec1.0.0MSSQL CPU Busy
windows_mssql_cluster_cpuIdleCPU Idlemicrosec1.0.0MSSQL CPU IDLE
windows_mssql_cluster_cpuIOBusyCPU IO Busymicrosec1.0.0MSSQL CPU IoBusy
windows_mssql_cluster_alwayson_database_replicaStateMSSQL AlwaysOn availability Group Replica State1.0.0It 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

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.

  1. 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)

  2. Default Global Templates

    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)

  3. Default Global Monitors

    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 Windows HyperV Cluster Integration

  1. From All Clients, select a client.
  2. Go to Setup > Account.
  3. Select the Integrations and Apps tab.
  4. The Installed Integrations page, where all the installed applications are displayed.
    Note: If there are no installed applications, it will navigate to the ADD APP page.
  5. Click + ADD on the Installed Integrations 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.
Hpe3par
  1. Click ADD in the Windows HyperV Cluster application.
  2. In the Configuration page, click + ADD. The Add Configuration page appears.
  3. Enter the below mentioned BASIC INFORMATION:
FunctionalityDescription
NameEnter the name for the configuration.
IP Address/Host Name of Hyper-V clusterEnter the Host name or the IP address.
Windows Cluster CredentialsSelect the credentials from the drop-down list.
Note: Click + Add to create a credential.

Notes:

  • IP Address/Host Name of Hyper-V cluster should be accessible from Gateway.
  • Select App Failure Notifications: if turned on, you will be notified in case of an application failure that is, Connectivity Exception, Authentication Exception.
  1. Select the below mentioned Custom Attribute:
FunctionalityDescription
Custom AttributeSelect the custom attribute from the drop down list box.
ValueSelect 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).

  1. 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.
  2. In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:
    • Minutes
    • Hourly
    • Daily
    • Weekly
    • Monthly
  3. Click ADD.
Hpe3par
  1. 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..
  2. Click NEXT.
  3. In the Installation page, select an existing registered profile, and click FINISH.
Hpe3par

The application is now installed and displayed on the Installed Integration page. Use the search field to find the installed application.

Modify the Configuration

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.

Hpe3par
Hpe3par

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 both 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.