管理組件清單產生程序之以事件為基礎具有計時器的雙狀態監視

Microsoft.SystemCenter.DataWarehouse.ManagementPackListRequestRecoveryUnitMonitorType (UnitMonitorType)

若出現指定的良好事件,監視會切換為良好狀態;若出現指定之不良事件,則監視會切換為不良狀態,而且在指定的時間內不會針對指定的管理組件清單程序登錄任何良好事件

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
CorrelatorFirstDataSource DataSource Microsoft.Windows.BaseEventProvider Default
CorrelatorSecondDataSource DataSource Microsoft.Windows.BaseEventProvider Default
SecondDataSource DataSource Microsoft.Windows.BaseEventProvider Default
CorrelatorFirstFilterCondition ConditionDetection System.ExpressionFilter Default
CorrelatorSecondFilterCondition ConditionDetection System.ExpressionFilter Default
MissingEventCorrelator ConditionDetection System.CorrelatorAutoMissingCondition Default
SecondFilterCondition ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
TimeIntervalSecondsint$Config/TimeIntervalSeconds$時間間隔 (秒)監視從登錄不良事件之後到切換為不良狀態之前等待的間隔時間 (以秒為單位)

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.DataWarehouse.ManagementPackListRequestRecoveryUnitMonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="SecondEventRaised" NoDetection="false"/>
<MonitorTypeState ID="FirstEventRaisedAndNoSecondEventRaisedInTimeInterval" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="ListSource" type="xsd:string"/>
<xsd:element name="FirstEventId" type="xsd:int"/>
<xsd:element name="SecondEventId" type="xsd:int"/>
<xsd:element name="TimeIntervalSeconds" type="xsd:int"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TimeIntervalSeconds" ParameterType="int" Selector="$Config/TimeIntervalSeconds$"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="SecondDataSource">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
</DataSource>
<DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="CorrelatorFirstDataSource">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
</DataSource>
<DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="CorrelatorSecondDataSource">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
</DataSource>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="CorrelatorFirstFilterCondition">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">$Config/FirstEventId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft.SystemCenter.DataWarehouse.Deployment.Report</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[5]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ListSource$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="CorrelatorSecondFilterCondition">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">$Config/SecondEventId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft.SystemCenter.DataWarehouse.Deployment.Report</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[5]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ListSource$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="SecondFilterCondition">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">$Config/SecondEventId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft.SystemCenter.DataWarehouse.Deployment.Report</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[5]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ListSource$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.CorrelatorAutoMissingCondition" ID="MissingEventCorrelator">
<Correlator>
<CorrelationExpression/>
<Count>1</Count>
<Interval>$Config/TimeIntervalSeconds$</Interval>
<CorrelationOrder>InSequence</CorrelationOrder>
<CorrelationItemPolicy>First</CorrelationItemPolicy>
</Correlator>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="SecondEventRaised">
<Node ID="SecondFilterCondition">
<Node ID="SecondDataSource"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="FirstEventRaisedAndNoSecondEventRaisedInTimeInterval">
<Node ID="MissingEventCorrelator">
<Node ID="CorrelatorFirstFilterCondition">
<Node ID="CorrelatorFirstDataSource"/>
</Node>
<Node ID="CorrelatorSecondFilterCondition">
<Node ID="CorrelatorSecondDataSource"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>