WMI Health Monitor

Microsoft.SystemCenter.WMIFunctionalMonitor (UnitMonitor)

This monitor checks whether WMI is healthy by periodically performing a WMI query

Knowledge Base article:

Summary

The WMI health monitor tried to run the WMI query “select * from win32_operatingsystem” and encountered a WMI error.

Causes

WMI on this computer is unhealthy and cannot return any data from the query.

Resolutions

Ensure that the Windows Management Instrumentation (WMI) service is running on this computer.

Ensure that the Remote Procedure Call (RPC) service is running on this computer.

Ensure that the WMI Repository is consistent on the computer

Ensure that DCOM is enabled

If none of these steps resolve the issue, you can download the WMI Diagnosis Utility at http://go.microsoft.com/fwlink/?LinkId=158226.The WMI Diagnosis Utility is a VBScript script designed to help you troubleshoot the current state of the WMI service on a computer.

External

For more information on troubleshooting WMI problems, go to http://go.microsoft.com/fwlink/?LinkId=158224.

Element properties:

TargetMicrosoft.SystemCenter.Agent
Parent MonitorSystem.Health.ConfigurationState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.OperationsManager.WMIFunctional.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
WMI is unhealthy
WMI on computer {0} is unhealthy
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.WMIFunctionalMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.Agent" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.OperationsManager.WMIFunctional.MonitorType" ConfirmDelivery="false">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.WMIFunctionalMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="WMISuccess" MonitorTypeStateID="WMISuccess" HealthState="Success"/>
<OperationalState ID="WMIError" MonitorTypeStateID="WMIError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>