MSMQ Queue Percent Used PerformanceCollection Rule

MSMQ.Queue.QueuePercentUsed.PerformanceCollection.Rule (Rule)

Element properties:

TargetMSMQ.Queue
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource MSMQ.QueueStats.Filtered.DS Default
System.Performance.DataGenericMapper ConditionDetection System.Performance.DataGenericMapper Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="MSMQ.Queue.QueuePercentUsed.PerformanceCollection.Rule" Enabled="true" Target="MSMQ.Queue" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="MSMQ.QueueStats.Filtered.DS">
<IntervalSeconds>903</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<DebugLogging>false</DebugLogging>
<TimeoutSeconds>300</TimeoutSeconds>
<QueueName>$Target/Property[Type="MSMQ.Queue"]/Label$</QueueName>
</DataSource>
</DataSources>
<ConditionDetection ID="System.Performance.DataGenericMapper" TypeID="Perf!System.Performance.DataGenericMapper">
<ObjectName>MSMQ Queue</ObjectName>
<CounterName>Queue Percent Used</CounterName>
<InstanceName>$Data/Property[@Name='NetBIOSName']$\$Data/Property[@Name='QueueName']$</InstanceName>
<Value>$Data/Property[@Name='Queue Percent Used']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>