How to monitor Microsoft Hyper-V

10 Gennaio 2014 SnetAdmin Comments Off


For this how-to to work you need the latest op5 NSClient++ installed on your Hyper-V server.

Firewall settings

First off we need to change the firewall settings to allow ICMP ping. Open a terminal on the Windows server and execute:
netsh advfirewall firewall add rule name=”ICMPv4 Inbound” dir=in action=allow enable=yes profile=any localip=any remoteip=any protocol=icmpv4:8,any interfacetype=any edge=yes
Another way is to do the host-check with check_nt_clientversion instead which fetches the version of NSClient++ instead of checking ICMP Ping.

Standard check

First of all we need to monitor the OS as usual:

  • Disk Usage
  • CPU
  • Memory (see below)
  • Swap


The following Windows services needs to be monitored. Note that all services may not be used depending on the functions that you are using in your Hyper-V environment.

  • Hyper-V Image Management Service (vhdsvc)
  • Hyper-V Virtual Machine Management (vmms)
  • Hyper-V Networking Management Service (nvspwmi)

Performance Counters

These performance counters will give a you good monitoring of your hypervisor. To monitor guest CPU and memory usage and such, install the agent on the virtual machine and monitor it as any other server.


command: check_nrpe_win_counter
Arguments: Hyper-V Virtual Machine Health Summary()Health Critical!!MaxCrit=1
Comment: Check how many virtual machines that is in critical state. My recommendation is to skip the warning threshold and just use the critical (Therefore the double exclamation marks in the argument).


command: check_nrpe_win_counter
Arguments: LogicalDisk(C:)Avg. Disk sec/Read!MaxWarn=15!MaxCrit=25
Comment: System disk + disks with guest needs to be monitored.

  • 1ms to 15ms = Healthy
  • 15ms to 25ms = Warning or Monitor
  • 26ms or greater = Critical, performance will be adversely affected


command: check_nrpe_win_counter
Arguments: LogicalDisk(C:)Avg. Disk sec/Write!MaxWar=15!MaxCrit=25
Comment: System disk + disks with guest needs to be monitored, the example is for C:, copy the check and replace C: with the guest disk.

  • 1ms to 15ms = Healthy
  • 15ms to 25ms = Warning or Monitor
  • 26ms or greater = Critical, performance will be adversely affected


command: check_nrpe_win_counter
Arguments: Network Interface(Broadcom BCM5709C NetXtreme II GigE [NDIS VBD Client] _50)Output Queue Length!MaxWarn=1!MaxCrit=3
Comment: The instance name (in this example “Broadcom BCM5709C NetXtreme II GigE [NDIS VBD Client] _50″ needs to be changed to the network interface instance name of your server, check performance counters for the correct name. This checks the output queue on the NIC.


Command: $USER1$/check_nrpe -H $HOSTADDRESS$  -c CheckMem -a ShowAll=long type=physical $ARG1$
Arguments: MaxWarn=50% MaxCrit=75%
Comment:  This check command is not in the default setup and has to be created. The check returns the amount of available physical memory in percentage.

  • 50% of free memory available or more = Healthy
  • 25% of free memory available = Monitor
  • 10% of free memory available = Warning
  • Less than 5% of free memory available = Critical, performance will be adversely affected


command: check_nrpe_win_counter
Arguments:  Hyper-V Hypervisor Logical Processor(_Total)% Total Run Time!MaxWarn=60!MaxCrit=90

Articoli recenti