ConfigMgr 2012 Client Missing Client Health Evaluation (CCMEval) Cycles Consecutive Samples Monitor

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

2 State Consecutive Samples monitor that detects if ConfigMgr 2012 client has missed Client Health Evaluation (CCMEval) cycle

Knowledge Base article:

Summary

This monitor detects if the ConfigMgr 2012 client has missed the "Configuration Manager Client Health Evaluation" (CcmEval) scheduled task Cycle for over number of consecutive samples.

Configuration

By default, CcmEval is configured to run once a day. A critical alert is raised when the ConfigMgr 2012 client has missed the "Configuration Manager Client Health Evaluation" (CcmEval) 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

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 CcmEval.log for any errors.

Element properties:

TargetConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.Application
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeConfigMgr.2012.Client.Library.Check.Missing.CCMEval.Consecutive.Samples.2.State.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Missing Client Health Evaluation (CCMEval) Cycles detected on ConfigMgr 2012 Client
Missing Client Health Evaluation (CCMEval) Cycles detected on ConfigMgr 2012 client {0}. The most recent Client Health Evaluation (CCMEval) Cycle was triggered on {1} (UTC), which is older than configured policy of every {2} minutes.
RunAsDefault

Source Code:

<UnitMonitor ID="ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Missing.CCMEval.Cycles.Consecutive.Samples.Monitor" Accessibility="Public" Enabled="true" Target="C2CL!ConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.Application" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="C2CL!ConfigMgr.2012.Client.Library.Check.Missing.CCMEval.Consecutive.Samples.2.State.MonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Missing.CCMEval.Cycles.Consecutive.Samples.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Context/DataItem/Property[@Name='LastEvalDateTime']$</AlertParameter2>
<AlertParameter3>$Data/Context/DataItem/Context/DataItem/Property[@Name='IntervalMinutes']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="CCMEvalNotMissed" MonitorTypeStateID="CCMEvalNotMissed" HealthState="Success"/>
<OperationalState ID="CCMEvalMissed" MonitorTypeStateID="CCMEvalMissed" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<TimeoutSeconds>120</TimeoutSeconds>
<ConsolidationInterval>285120</ConsolidationInterval>
<ConsolidationNumberOfSamples>3</ConsolidationNumberOfSamples>
</Configuration>
</UnitMonitor>