This monitor checks the queue of dataldr process backlog. It raises alert if the backlog exceeds the threshold.
The total number of queued hardware inventory files (.hic or .hid) on the site server has exceeded the standard operational threshold.
This condition will increase unless it is resolved. If the queued site server hardware inventory file count keeps going beyond the threshold, hardware inventory will not be reflected in the Configuration Manager site database in a timely manner, and collections and reports may not accurately represent the devices on the network.
The total number of queued hardware inventory files can exceed the threshold because:
The SMS Executive service is stopped or not responding on the site server.
Inventory Data Loader could be sending inventory details to a new parent site. These changes take priority over normal hardware inventory file processing, which is suspended until they are processed.
The site server file processing rate is slower than the incoming rate of hardware inventory files.
The site server has insufficient resources such as CPU, memory, or disk space.
The site database has no more space.
The hardware inventory classes setting has been changed to collect additional information and the resulting larger inventory file requires increased processing time.
The site server may have lost connectivity with the site database server.
To resolve this issue and lower the number of queued hardware inventory files:
Verify that the threshold for this alert is not too low and is beyond the standard operating threshold for this specific site.
Verify that the SMS Executive service is running on the site server. If it is stopped or not responding, restart the service.
Verify that the site database is performing properly.
Determine whether the increased load is due to an infrequent influx of new hardware inventory records, or whether the file 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 inventoried computers, the issue may resolve itself if there are sufficient resources to process pending files in addition to the standard file load.
Verify that the site database has sufficient space. If the database is set to autogrow, verify that there is sufficient disk space for the database to expand.
Adjust frequency of inventory collection to allow for a longer interval for files to be processed.
Plan carefully before modifying the hardware inventory classes setting. Conduct performance testing to verify that the infrastructure can accommodate the extra load.
Verify that the site server has connectivity with the site database server.
If this alert is generating too many false positives, you can modify the threshold tab of the rule properties to designate values more appropriate for your environment.
This alert is best handled by Configuration Manager administrators.
Related Events
You can also look for alerts relating to the SMS Executive service being stopped or the site server having insufficient resources (such as CPU, memory). These alerts are the potential cause of the hardware inventory file alert. Depending on the cause, it is likely that other types of backlogs (software inventory, data discovery records, software metering) on the site server are also increasing and corresponding alerts are occurring.
Target | MECM.PrimarySiteServerBaseClass | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | SMS Inventory Data Loader | ||
Counter Name | Total MIFs Enqueued | ||
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.SMSInventoryDataLoader.TotalMIFsEnqueued.PerfThreshold.Monitor" Accessibility="Public" Enabled="true" Target="MECM.PrimarySiteServerBaseClass" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Perf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="MECM.PrimarySiteServer.SMSInventoryDataLoader.TotalMIFsEnqueued.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 MIFs Enqueued</CounterName>
<ObjectName>SMS Inventory Data Loader</ObjectName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
<Threshold>10000</Threshold>
<Direction>greater</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>