Sql Broker Availability Monitor Type

Microsoft.SystemCenter.SqlBrokerAvailabilityMonitorType (UnitMonitorType)

A monitor type that looks at Sql Broker status for Operations Manager functionality.

Element properties:

RunAsMicrosoft.SystemCenter.DatabaseWriteActionAccount
AccessibilityInternal
Support Monitor RecalculateTrue

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.Scheduler Default
OleDbProbe ProbeAction System.OleDbTriggerProbe Default
CDDisabled ConditionDetection System.ExpressionFilter Default
CDEnabled ConditionDetection System.ExpressionFilter Default

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.SqlBrokerAvailabilityMonitorType" Accessibility="Internal" RunAs="SCLibrary!Microsoft.SystemCenter.DatabaseWriteActionAccount">
<MonitorTypeStates>
<MonitorTypeState ID="SqlBrokerEnabled" NoDetection="false"/>
<MonitorTypeState ID="SqlBrokerDisabled" NoDetection="false"/>
</MonitorTypeStates>
<Configuration/>
<MonitorImplementation>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Seconds">3600</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
<ProbeAction ID="OleDbProbe" TypeID="System!System.OleDbTriggerProbe">
<ConnectionString>Provider=SQLOLEDB;Integrated Security=SSPI</ConnectionString>
<Query>SELECT cast(is_broker_enabled as int) FROM sys.databases WHERE name = DB_Name()</Query>
<GetValue>true</GetValue>
<OneRowPerItem>true</OneRowPerItem>
<DatabaseNameRegLocation>SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Setup\DatabaseName</DatabaseNameRegLocation>
<DatabaseServerNameRegLocation>SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Setup\DatabaseServerName</DatabaseServerNameRegLocation>
</ProbeAction>
<ConditionDetection ID="CDEnabled" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Columns[1]/Column[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="CDDisabled" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Columns[1]/Column[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="SqlBrokerEnabled">
<Node ID="CDEnabled">
<Node ID="OleDbProbe">
<Node ID="Scheduler"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="SqlBrokerDisabled">
<Node ID="CDDisabled">
<Node ID="OleDbProbe">
<Node ID="Scheduler"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="SqlBrokerEnabled">
<Node ID="CDEnabled">
<Node ID="OleDbProbe"/>
</Node>
</OnDemandDetection>
<OnDemandDetection MonitorTypeStateID="SqlBrokerDisabled">
<Node ID="CDDisabled">
<Node ID="OleDbProbe"/>
</Node>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>