ConfigMgr 2012 Client Missing Hardware Inventory Cycles Consecutive Samples Monitor

ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Missing.Hardware.Inventory.Cycles.Consecutive.Samples.Monitor (UnitMonitor)

2 State Consecutive Samples monitor that detects if ConfigMgr 2012 client has missed hardware inventory cycle

Knowledge Base article:

Summary

This monitor detects if the ConfigMgr 2012 client has missed the Hardware Inventory Cycle for over number of consecutive samples.

Configuration

A critical alert is raised when the ConfigMgr 2012 client has missed the Hardware Inventory cycle for over number of consecutive samples. The following parameters can be configured via overrides:

IntervalSeconds: How often this monitor runs

SyncTime: Configure this monitor to run at a specific time

InvIntervalDays: Specify Hardware Inventory frequency defined in ConfigMgr 2012 client policy

TimeoutSeconds: timeout setting for the script used by this monitor

ConsolidationInterval: Use this formula to calculate this figure: IntervalSeconds x ConsolidationNumberOfSamples x 1.1

ConsolidationNumberOfSamples: Number of consecutive samples

When the monitor enters Healthy state, the alert is automatically closed.

Resolutions

Please check InventoryAgent.log and InventoryProvider.log for any errors.

Element properties:

TargetConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.App.Component.Hardware.Inventory.Agent
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeConfigMgr.2012.Client.Library.Check.Inventory.Action.Status.Consecutive.Samples.2.State.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Missing Hardware Inventory Cycle detected on ConfigMgr 2012 Client
Missing Hardware Inventory Cycle detected on ConfigMgr 2012 client {0}. The most recent Hardware Inventory Cycle was triggered on {1}, which is older than configured interval of {2} day(s).
RunAsDefault

Source Code:

<UnitMonitor ID="ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Missing.Hardware.Inventory.Cycles.Consecutive.Samples.Monitor" Accessibility="Public" Enabled="true" Target="C2CL!ConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.App.Component.Hardware.Inventory.Agent" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="C2CL!ConfigMgr.2012.Client.Library.Check.Inventory.Action.Status.Consecutive.Samples.2.State.MonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Missing.Hardware.Inventory.Cycles.Consecutive.Samples.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Context/DataItem/Property[@Name='LastCycleStartDate']$</AlertParameter2>
<AlertParameter3>$Data/Context/DataItem/Context/DataItem/Property[@Name='InvIntervalDays']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="InvActionNotMissed" MonitorTypeStateID="InvActionNotMissed" HealthState="Success"/>
<OperationalState ID="InvActionMissed" MonitorTypeStateID="InvActionMissed" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<InventoryActionID>{00000000-0000-0000-0000-000000000001}</InventoryActionID>
<InvIntervalDays>7</InvIntervalDays>
<TimeoutSeconds>120</TimeoutSeconds>
<ConsolidationInterval>285120</ConsolidationInterval>
<ConsolidationNumberOfSamples>3</ConsolidationNumberOfSamples>
</Configuration>
</UnitMonitor>