System Center 2019+ Virtual Machine Manager Tier Member Count

Microsoft.SystemCenter.VirtualMachineManager.TierMemberCountMonitor (UnitMonitor)

Monitors whether the virtual machine tier member count is within the specified range

Knowledge Base article:

Summary

The virtual machine tier member count monitor determines whether the current instance count of a virtual machine tier of a service is outside of its configured minimum and maximum instance count.

Causes

If the current instance count of a computer tier is below the defined minimum instance count or above the defined maximum instance count, the monitor will go into an unhealthy state.

Resolutions

If the virtual machine tier is below its prescribed instance count, either use the VMM scale out feature to add one or more instances to the virtual machine tier in order to meet the defined minimum instance count or redefine the virtual machine tier to reflect different minimum and maximum instance definitions.

If the virtual machine tier is above its prescribed instance count, either remove one or more instances from the virtual machine tier in order to meet the defined maximum instance count or redefine the virtual machine tier to reflect different minimum and maximum instance definitions.

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.Discovery.ComputerTier
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.VirtualMachineManager.CheckValueWithinRangeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Tier member count not within range
The virtual machine tier member count for service {3} is {0}, it should be ≥ {1} and ≤ {2}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.VirtualMachineManager.TierMemberCountMonitor" Accessibility="Public" Target="VMMDiscovery!Microsoft.SystemCenter.VirtualMachineManager.Discovery.ComputerTier" TypeID="Microsoft.SystemCenter.VirtualMachineManager.CheckValueWithinRangeMonitorType" ParentMonitorID="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.VirtualMachineManager.TierMemberCountMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.ComputerTier"]/CurrentMachineCount$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.ComputerTier"]/MinMachineCount$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.ComputerTier"]/MaxMachineCount$</AlertParameter3>
<AlertParameter4>$Target/Host/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="TierMemberCountHealthy" MonitorTypeStateID="ValueWithinRangeHealthy" HealthState="Success"/>
<OperationalState ID="TierMemberCountCritical" MonitorTypeStateID="ValueWithinRangeCritical" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<MinValue>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.ComputerTier"]/MinMachineCount$</MinValue>
<MaxValue>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.ComputerTier"]/MaxMachineCount$</MaxValue>
<CurrentValue>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.ComputerTier"]/CurrentMachineCount$</CurrentValue>
</Configuration>
</UnitMonitor>