This monitor tracks threshold breaches for the following metric:
Hyper-V VM Virtual Processor \ % Avg Dispatch Time - the average time (in percentage) that CPU operations of the VM were ready, but could not get scheduled to run on the physical CPU.
This is a normal behavior for a Hyper-V host to take some time to schedule its shared CPU resources across all VMs. However, hidh CPU dispatch wait time values may indicate a lack of CPU resources or a scheduling bottleneck.
Review CPU demands from all VM workloads on this host. Although this is a VM-level alert, check average dispatch wait time and CPU usage statistics for all VMs on this host.
High dispatch wait time values for one VM on the host may indicate inappropriate or misconfigured CPU settings for the VM, or excessive CPU demand which the host cannot meet.
Ops Mgr 2012 and 2016 customers can use the in-context dashboards, available in the Navigation section of the Tasks pane, to drill down into historical performance data and current alerts. These dashboards will show relevant metrics for this object and for contained objects, and further dashboards will become available by selecting within the dashboard. Drill-down from dashboard to dashboard to arrive at the detailed metrics that can assist in finding root-cause.
In particular the 'VM CPU Analysis' dashboard will show historical values of CPU metrics. The dashboard will also display all alerts triggered for the VM and the in-guest Ops Mgr agent (if installed), so that you can review in-guest alerts to understand CPU demands from application workloads inside the VM.
Use the Alerts View to see all current open issues for this object. Use the Events View to review any error and warning events for this object. Open a Performance View to see the performance metrics for this object and all contained objects. Open a Diagram View to analyze the relationships of this object to other components.
See the Help Center for more information including reference lists of all Rules and Monitors and User Guide for the Veeam Hyper-V MP.
See the Microsoft Online Documentation for more information on Microsoft Hyper-V.
Target | Veeam.Virt.Extensions.HyperV.VirtualMachine | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Veeam.Virt.Extensions.HyperV.MonitorType.VMPerf.CPUScheduling | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Veeam.Virt.Extensions.HyperV.VM.Monitor.AvgDispatchWaitTime" Accessibility="Public" Enabled="onEssentialMonitoring" Target="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachine" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Veeam.Virt.Extensions.HyperV.MonitorType.VMPerf.CPUScheduling" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Veeam.Virt.Extensions.HyperV.VM.Monitor.AvgDispatchWaitTime_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachine"]/HostName$</AlertParameter2>
<AlertParameter3>$Data/Context/DataItem/Property[@Name='AvgValue']$</AlertParameter3>
<AlertParameter4>$Data/Context/DataItem/Property[@Name='SampleCount']$</AlertParameter4>
<AlertParameter5>$Data/Context/DataItem/Property[@Name='MaxValue']$</AlertParameter5>
<AlertParameter6>$Data/Context/DataItem/Property[@Name='UsageByCore']$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" HealthState="Success" MonitorTypeStateID="UnderThreshold1"/>
<OperationalState ID="OverThreshold1UnderThreshold2" HealthState="Warning" MonitorTypeStateID="OverThreshold1UnderThreshold2"/>
<OperationalState ID="OverThreshold2" HealthState="Error" MonitorTypeStateID="OverThreshold2"/>
</OperationalStates>
<Configuration>
<VMID>$Target/Property[Type="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachine"]/id$</VMID>
<VMName>$Target/Property[Type="VVEHL!Veeam.Virt.Extensions.HyperV.VirtualMachine"]/VMName$</VMName>
<Threshold1>8</Threshold1>
<Threshold2>10</Threshold2>
<NumSamples>3</NumSamples>
<Frequency>300</Frequency>
</Configuration>
</UnitMonitor>