Monitoraggio basato su un evento a due stati basato su dataset con timer

Microsoft.SystemCenter.DataWarehouse.DatasetRelatedRecoveryUnitMonitorType (UnitMonitorType)

Il monitoraggio imposta lo stato valido se si verifica un determinato evento valido, oppure lo stato non valido se si verifica un evento non valido e non viene registrato un evento valido in un determinato intervallo di tempo per un determinato dataset

Element properties:

RunAsDefault
AccessibilityPublic
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$Tempo di ripristino massimo consentito (secondi)Intervallo di attesa (in secondi) allo scadere del quale il monitoraggio imposta lo stato non valido dopo la registrazione di un evento non valido

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.DataWarehouse.DatasetRelatedRecoveryUnitMonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="SecondEventRaised" NoDetection="false"/>
<MonitorTypeState ID="FirstEventRaisedAndNoSecondEventRaisedInTimeInterval" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="WorkflowName" type="xsd:string"/>
<xsd:element name="DatasetName" 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">$Config/WorkflowName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/DatasetName$</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">$Config/WorkflowName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/DatasetName$</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">$Config/WorkflowName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/DatasetName$</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>