Implements monitor for resource monitored by local cluster node.
This monitor checks the status of a cluster resource as it is known to local cluster node.
State | Operations Manager State |
---|---|
ClusterResourceInherited | Success |
ClusterResourceOnline | Success |
ClusterResourceInitializing | Warning |
ClusterResourcePending | Warning |
ClusterResourceOnlinePending | Warning |
ClusterResourceOflinePending | Warning |
ClusterResourceStateUnknown | Error |
ClusterResourceOffline | Error (except for resources in Available Storage group) |
ClusterResourceFailed | Error |
An unhealthy state for this monitor indicates that the cluster resource is not online. This can happen for a few reasons including:
Problems with the application or service associated with the resource. For example, if the application or service cannot start within reasonable time limits.
Failure to access the cluster storage.
The Pending timeout setting is set too low. You can view this setting using the "List resource properties" task below.
A cluster resource on which this resource depends failed to start. You can view the list of the dependency resources and their status using the "List resource dependencies" task below.
List resource properties
List resource dependencies
You can attempt to bring the cluster resource online by using the following link:
Bring resource online
Target | Microsoft.Windows.Cluster.Resource |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.Windows.Cluster.CheckStatePoll |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Cluster.Resource.StateMonitoring" Accessibility="Public" Enabled="true" Target="ClusLibrary!Microsoft.Windows.Cluster.Resource" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="ClusLibrary!Microsoft.Windows.Cluster.CheckStatePoll" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Online" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Partial" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="NotOnline" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ClusterObjectName>$Target/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.Resource']/EscapedResourceName$</ClusterObjectName>
<PollInterval>300</PollInterval>
<SyncTime>12:10</SyncTime>
<ClusterObjectClass>MSCLUSTER_Resource</ClusterObjectClass>
<OnlineExpression>
<Or>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(0|2)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(0|2|3)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</OnlineExpression>
<OnlineExpressionOnDemand>
<Or>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(0|2)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(0|2|3)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</OnlineExpressionOnDemand>
<PartialExpression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(1|128|129|130)$</Pattern>
</RegExExpression>
</PartialExpression>
<PartialExpressionOnDemand>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(1|128|129|130)$</Pattern>
</RegExExpression>
</PartialExpressionOnDemand>
<NotOnlineExpression>
<Or>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(-1|3|4)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(-1|4)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</NotOnlineExpression>
<NotOnlineExpressionOnDemand>
<Or>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(-1|3|4)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(-1|4)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type='ClusLibrary!Microsoft.Windows.Cluster.HostedGroup']/GroupName$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Available Storage</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</NotOnlineExpressionOnDemand>
<WMIFields>Name, State</WMIFields>
</Configuration>
</UnitMonitor>