This monitor checks the software metering inbox backlog on primary site server. It raises alert if the backlog exceeds the threshold.
The total number of files in the swmproc.box\usage inbox of the software metering processor on the site server has exceeded the standard operational threshold.
This folder temporarily stores the software metering reports (.muv, .sum and .sur) from Configuration Manager clients in a site and the summary reports from their site and child sites.
A site creates a summary report file by first creating a .sur file and then converting it to a .sum file, which is replicated to its parent site. Summary reports that are received from child sites are imported into the site database, replicated to the parent site, and then deleted.
This condition increases unless it is resolved. If the file count continues beyond the threshold, replicated information is not reflected in the Configuration Manager site database in a timely manner, and Configuration Manager status and reports might not accurately represent the state of this and the child sites.
The total number of files could exceed the threshold because:
The software metering processor is stopped or is not responding on the site server.
The software metering processor could be processing received usage reports.
The site server has insufficient resources, such as CPU, memory, or disk space.
The Configuration Manager Site database has no more space.
A large number of clients have recently sent a software metering report.
The site server might have lost connectivity to the Configuration Manager Site database server.
To resolve this issue and to decrease the number of files:
Verify that the threshold for this alert is not too low and is beyond the standard operating threshold for this specific Configuration Manager site.
Run SMS Service Manager and verify that the SMS_SOFTWARE_METERING_PROCESSOR component is running. If it is not running, start it.
Determine whether the increased load is due to an infrequent influx of new software metering reports, or whether the usage load remains relatively constant. If the load is constant, update the Configuration Manager infrastructure to achieve zero processing backlogs. If the load is due to a large number of newly received reports, the issue can resolve itself if there are sufficient resources to process pending messages in addition to the standard report load.
Verify that the Configuration Manager Site database has sufficient space. If the database is set to autogrow, verify that there is sufficient disk space for the database to expand.
Verify that the site server can connect to the Configuration Manager Site database server.
Examine the status messages for the software metering processor component for possible problems.
Examine the Swmproc.log file in the Configuration Manager Logs folder for errors or additional information.
This alert is best handled by Configuration Manager Administrators.
If this alert is generating too many false positives, you can modify the threshold tab of the rule properties to designate values that are more appropriate for your environment.
Related Events:
You can also look for alerts that relate to the SMS_Executive service being stopped or to the site server having insufficient resources (such as CPU, memory). These alerts are a potential cause of the software metering processor problem. Depending on the cause, it is likely that other types of backlogs (hardware inventory, software inventory, software metering) on the site server are also increasing and corresponding alerts are occurring.
Target | MECM.PrimarySiteServer | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | SMS Inbox | ||
Counter Name | File Current Count | ||
Frequency | 900 | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="MECM.PrimarySiteServer.SWMInboxUsageBacklog.FileCurrentCount.PerfThreshold.Monitor" Accessibility="Public" Enabled="true" Target="MECM.PrimarySiteServer" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Perf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="MECM.PrimarySiteServer.SWMInboxUsageBacklog.FileCurrentCount.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>File Current Count</CounterName>
<ObjectName>SMS Inbox</ObjectName>
<InstanceName>swmproc.box>usage</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>10000</Threshold>
<Direction>greater</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>