MECM Site server SWM backlog Monitor

MECM.SiteServer.SWMProcessBacklog.TotalSWMUsageFilesQnqueued.PerfThreshold.Monitor (UnitMonitor)

This monitor checks backlog of software metering backlog on site server. It raises alert if the backlog exceeds the threshold.

Knowledge Base article:

Summary

The total number of queued software metering files on the site server has exceeded the standard operational threshold. This condition increases unless it is resolved. If the queued site server software metering file count continues beyond the threshold, software metering information is not reflected in the Configuration Manager site database in a timely manner, and collections and reports might not accurately represent the software on the network.

Causes

The total number of queued software metering files can exceed the threshold because:

Resolutions

To resolve this issue and to decrease the number of queued software metering files:

Element properties:

TargetMECM.SiteServerRoleBaseClass
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameSMS Software Metering Processor
Counter NameTotal SWM Usage Files Enqueued
Frequency900
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
MECM Site server SWM backlog alert

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

Source Code:

<UnitMonitor ID="MECM.SiteServer.SWMProcessBacklog.TotalSWMUsageFilesQnqueued.PerfThreshold.Monitor" Accessibility="Public" Enabled="true" Target="MECM.SiteServerRoleBaseClass" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Perf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="MECM.SiteServer.SWMProcessBacklog.TotalSWMUsageFilesQnqueued.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>Total SWM Usage Files Enqueued</CounterName>
<ObjectName>SMS Software Metering Processor</ObjectName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>10000</Threshold>
<Direction>greater</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>