리소스 상태 모니터

Microsoft.Windows.Cluster.Resource.StateMonitoring (UnitMonitor)

로컬 클러스터 노드에서 모니터링하는 리소스에 대한 모니터를 구현합니다.

Knowledge Base article:

요약

이 모니터는 로컬 클러스터 노드에 알려진 대로 클러스터 리소스의 상태를 확인합니다.

상태

Operations Manager 상태

ClusterResourceInherited

성공

ClusterResourceOnline

성공

ClusterResourceInitializing

경고

ClusterResourcePending

경고

ClusterResourceOnlinePending

경고

ClusterResourceOflinePending

경고

ClusterResourceStateUnknown

오류

ClusterResourceOffline

오류(사용 가능한 저장소 그룹의 리소스 제외)

ClusterResourceFailed

오류

원인

이 모니터가 비정상 상태이면 클러스터 리소스가 온라인 상태가 아닌 것입니다. 이 문제는 다음과 같은 이유로 발생할 수 있습니다.

리소스 속성 나열

리소스 종속성 나열

해결 방법

다음 링크를 사용하여 클러스터 리소스를 온라인 상태로 만들 수 있습니다.

리소스를 온라인 상태로 만들기

Element properties:

TargetMicrosoft.Windows.Cluster.Resource
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Cluster.CheckStatePoll
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<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>