Two Event Log event monitor

Microsoft.SystemCenter.ManagementConfigurationService.2SingleEventLog2StateUnitMonitorType (UnitMonitorType)

Monitor switching state based on one 'good' event and one 'bad' event logged in the Event Log

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
FirstDataSource DataSource Microsoft.Windows.BaseEventProvider Default
SecondDataSource DataSource Microsoft.Windows.BaseEventProvider Default
FirstFilterCondition ConditionDetection System.ExpressionFilter Default
SecondFilterCondition ConditionDetection System.ExpressionFilter Default

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.ManagementConfigurationService.2SingleEventLog2StateUnitMonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="FirstEventRaised" NoDetection="false"/>
<MonitorTypeState ID="SecondEventRaised" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="FirstEventId" type="xsd:int"/>
<xsd:element name="SecondEventId" type="xsd:int"/>
</Configuration>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="FirstDataSource">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
</DataSource>
<DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="SecondDataSource">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
</DataSource>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="FirstFilterCondition">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">$Config/FirstEventId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="SecondFilterCondition">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">$Config/SecondEventId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="FirstEventRaised">
<Node ID="FirstFilterCondition">
<Node ID="FirstDataSource"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="SecondEventRaised">
<Node ID="SecondFilterCondition">
<Node ID="SecondDataSource"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>