Monitors the number of messages in a Queue for baseline learning.
This monitor checks the message count in a queue.
This monitor is disabled by default. For it to operate, it must be enabled with an override.
The behavior of this monitor may be modified with an override setting of the following parameters.
Alert On State | State in which the Alert is generated. |
Alert Priority | Priority of the Alert. |
Alert severity | Severity of the Alert. |
Auto-Resolve Alert | If the threshold goes below the threshold then Auto-Resolve the alert. |
Enabled | Is this monitor enabled or not. |
Generates Alert | Will this monitor generate an Alert when the threshold is reached. |
Inner Sensitivity | Inner Sensitivity setting for the self tuning threshold. |
Interval Seconds | The number of seconds between execution of the test. If this value is set too low, it could result in excessive overhead against the MSMQ service. If it is set to high, an error condition may not be detected within a suitable time. Default setting is 120 seconds (execute the test every 2 minutes). |
Outer Sensitivity | Outer sensitivity setting for the self tuning threshold. |
Timeout Seconds | The number of seconds the operation has before it is aborted before completing execution. |
Under normal operations, it is expected that the application will receive messages and the queues will be populated up to a certain amount of messages. If the message count grows too much, it can indicate a problem with the receiving application, that application’s ability to read from the queue, or a peak in the usage by the sending application.
Check the connection status of the queue and the applications that may be sending messages to it or the applications that may be receiving messages from it.
Target | Microsoft.MSMQ.6.3.Queues | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.MSMQ.6.3.Queue.TwoStateBaseliningMonitorWithoutCompression | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.QueueMessageCount.Baseline" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.6.3.Queues" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.6.3.Queue.TwoStateBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.6.3.Monitor.QueueMessageCount.Baseline.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="BelowNormal" MonitorTypeStateID="Below" HealthState="Success"/>
<OperationalState ID="AboveNormal" MonitorTypeStateID="Above" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SignatureID>Microsoft.MSMQ.6.3.Monitor.QueueMessageCount.Baseline.Signature</SignatureID>
<DataSourceSettings>
<IntervalSeconds>600</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<QueuePath>$Target/Property[Type="Microsoft.MSMQ.6.3.Queue"]/PathName$</QueuePath>
<CounterName>Messages In Queue</CounterName>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSourceSettings>
<LearningAndBaseliningSettings>
<BusinessCycleLengthUnit>Day</BusinessCycleLengthUnit>
<BusinessCycleLengthInGivenUnit>1</BusinessCycleLengthInGivenUnit>
<LearningType>Continuous</LearningType>
<Offset1>3</Offset1>
<Offset2>3</Offset2>
<Offset3>3</Offset3>
<LearningRate>2</LearningRate>
<InitialNoAlertPeriodInBizCycles>1</InitialNoAlertPeriodInBizCycles>
<OuterSensitivity>3.31</OuterSensitivity>
<InnerSensitivity>2.81</InnerSensitivity>
</LearningAndBaseliningSettings>
<SignatureCollectionSettings>
<DBUpdatePeriodInSeconds>900</DBUpdatePeriodInSeconds>
</SignatureCollectionSettings>
</Configuration>
</UnitMonitor>