MSMQ Service: Total messages in all queues

Microsoft.MSMQ.6.3.Monitor.TotalMessages.Baseline (UnitMonitor)

Monitor and baseline the "Total messages in all queues" counter and alert if the value is larger than normal.

Knowledge Base article:

Summary

There is a larger than normal count of messages in all queues.

Resolutions

Ensure that the MSMQ server is not resource constrained. If server is otherwise functioning normally then investigate the message volumes and work to understand if there have been any recent and sudden increases.

Element properties:

TargetMicrosoft.MSMQ.6.3.Servers
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.TwoStateAboveBaseliningMonitorWithoutCompression
RemotableTrue
AccessibilityPublic
Alert Message
Total Messages
Please see the alert context for details.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.TotalMessages.Baseline" Accessibility="Public" Enabled="true" Target="Microsoft.MSMQ.6.3.Servers" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.TwoStateAboveBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.6.3.Monitor.TotalMessages.Baseline_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Below" HealthState="Success"/>
<OperationalState ID="ExcessiveUsage" MonitorTypeStateID="Above" HealthState="Error"/>
</OperationalStates>
<Configuration>
<SignatureID>Microsoft.MSMQ.6.3.Monitor.TotalMessages.Signature</SignatureID>
<DataSourceSettings>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ObjectName>MSMQ Service</ObjectName>
<CounterName>Total messages in all queues</CounterName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
</DataSourceSettings>
<LearningAndBaseliningSettings>
<BusinessCycleLengthUnit>Week</BusinessCycleLengthUnit>
<BusinessCycleLengthInGivenUnit>1</BusinessCycleLengthInGivenUnit>
<LearningType>Continuous</LearningType>
<Offset1>1</Offset1>
<Offset2>1</Offset2>
<Offset3>1</Offset3>
<LearningRate>2</LearningRate>
<InitialNoAlertPeriodInBizCycles>1</InitialNoAlertPeriodInBizCycles>
<OuterSensitivity>3.31</OuterSensitivity>
<InnerSensitivity>2.81</InnerSensitivity>
</LearningAndBaseliningSettings>
<SignatureCollectionSettings>
<DBUpdatePeriodInSeconds>900</DBUpdatePeriodInSeconds>
</SignatureCollectionSettings>
</Configuration>
</UnitMonitor>