MECM Management point status backlog Monitor

MECM.ManagementPoint.StatusReceiver.MessagesQueued.PerfThreshold.Monitor (UnitMonitor)

This monitor checks the backlog of status message on management point. It raises alert if the number exceeds the threshold.

Knowledge Base article:

Summary

The total number of queued management point status messages on the management point has exceeded the standard operational threshold. This condition increases unless it is resolved. If the queued management point status message count continues beyond the threshold, the client status information in the Configuration Manager site database is not accurate. For example, without accurate software distribution status you would not know which clients have received software packages, or whether any software installations have failed. You might also be unaware of problems with inventory or software metering.

Causes

The management point status messages can exceed the threshold because:

Resolutions

To resolve this issue and to decrease the number of queued management point status messages:

Element properties:

TargetMECM.ManagementPoint
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameCCM Message Queue
Counter NameMessages Queued
Frequency900
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
MECM Management point status message backlog alert

Instance {0}
Object {1}
Counter {2}
Has a value {3}
At time {4}
RunAsDefault

Source Code:

<UnitMonitor ID="MECM.ManagementPoint.StatusReceiver.MessagesQueued.PerfThreshold.Monitor" Accessibility="Public" Enabled="true" Target="MECM.ManagementPoint" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Perf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="MECM.ManagementPoint.StatusReceiver.MessagesQueued.PerfThreshold.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/InstanceName$</AlertParameter1>
<AlertParameter2>$Data/Context/ObjectName$</AlertParameter2>
<AlertParameter3>$Data/Context/CounterName$</AlertParameter3>
<AlertParameter4>$Data/Context/SampleValue$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeSampled$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Messages Queued</CounterName>
<ObjectName>CCM Message Queue</ObjectName>
<InstanceName>StatusReceiver</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>10000</Threshold>
<Direction>greater</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>