Monitor com base em eventos de dois estados baseado em conjunto de dados com temporizador

Microsoft.SystemCenter.DataWarehouse.DatasetRelatedRecoveryUnitMonitorType (UnitMonitorType)

O monitor passa para um estado válido se surgir um determinado evento válido; o monitor passa para um estado inválido se surgir um determinado evento inválido e não for registado qualquer evento válido num determinado período de tempo para um determinado conjunto de dados

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 de recuperação máximo permitido (segundos)Intervalo de tempo em segundos que o monitor aguardará antes de mudar para um estado inválido após registo de um evento inválido

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>