Monitors the size of messages in a Queue for baseline learning.
This monitor checks the size of messages 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 in a timely manner as they are added to the queue. The size of these messages will build up a baseline. If the application starts to receive messages above the baseline it may indicate a change in the application sending messages.
Check the application and queue that is sending messages that size to verify it’s an expected behavior.
Target | Microsoft.MSMQ.2008R2.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.2008R2.Queue.TwoStateBaseliningMonitorWithoutCompression | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.2008R2.Monitor.QueueBytes.Baseline" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.2008R2.Queues" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.2008R2.Queue.TwoStateBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.2008R2.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.2008R2.Monitor.QueueBytes.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.2008R2.Queue"]/PathName$</QueuePath>
<CounterName>KBytes 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>