Veeam Hyper-V: Host CPU Usage Analysis

Veeam.Virt.Extensions.HyperV.Host.Monitor.TotalRunTime (UnitMonitor)

Knowledge Base article:

Summary

This monitor tracks threshold breaches for the following metric:

Causes

High CPU usage for the virtual machines combined with host partition usage forced host CPU usage to exceed the threshold.

Review the alert description for specific guidance relevant to this alert. The description contains details on the metric above.

Resolutions

Review the CPU demands of VM workloads on this host. Veeam Hyper-V Task Manager can be used to detect the current CPU usage for all VMs and host partition on the affected host.

If VM workload CPU demands are all within the expected range, you may wish to migrate VMs to another host to balance the CPU demand.

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.

External

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.

Element properties:

TargetVeeam.Virt.Extensions.HyperV.ServerRole
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeVeeam.Virt.Extensions.HyperV.MonitorType.RoundValue.DoubleThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Veeam Hyper-V: Host CPU Usage Analysis
This Hyper-V Host has high Logical Processor Total Run Time of {0}\% over {1} samples.

Use in-context Dashboard Host Compute Analysis to review VM resource consumption on this Host.
RunAsDefault

Source Code:

<UnitMonitor ID="Veeam.Virt.Extensions.HyperV.Host.Monitor.TotalRunTime" Accessibility="Public" Enabled="onEssentialMonitoring" Target="VVEHL!Veeam.Virt.Extensions.HyperV.ServerRole" TypeID="Veeam.Virt.Extensions.HyperV.MonitorType.RoundValue.DoubleThreshold" ConfirmDelivery="true" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Veeam.Virt.Extensions.HyperV.Host.Monitor.TotalRunTime_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/DataItem/Property[@Name='Value']$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Property[@Name='SampleCount']$</AlertParameter2>
</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>
<CounterName>% Total Run Time</CounterName>
<ObjectName>Hyper-V Hypervisor Logical Processor</ObjectName>
<InstanceName>_Total</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
<NumSamples>3</NumSamples>
<Threshold1>80</Threshold1>
<Threshold2>90</Threshold2>
</Configuration>
</UnitMonitor>