Monitors the Quota Percentage usage of a Queue.
This monitor checks the percentage of the allowed queue space currently used if a quota is defined for the queue.
The behavior of this monitor may be modified with an override setting the following parameters.
IntervalSeconds | 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). |
WarningThresholdValue | Percentage journal usage that will trigger a Warning state. Must be lower than the ErrorThresholdValue Default value is 80. |
ErrorThresholdValue | Percentage journal usage that will trigger an Error state. Must be higher than the WarningThresholdValue Default value is 90. |
LogDetail | If True, the script will log a Windows event on the agent computer for every test it performs. Turn detailed logging on if you are experiencing problems that you are unable to identify. The log entries will provide the exact nslookup commands being executed and their output. The events may be viewed from the Script Detail Events view. |
The size of a queue should remain relatively static as messages are delivered to and receved from the queue. If a queue reaches its quota, one or more receiving applications may be down or are unable to receive messages, thus removing them from the queue.
Check the connection status of the queue and applications that may be receiving messages from it.
If applications using the queue have increased in usage or in the size of their messages, the quota may need to be increased.
Target | Microsoft.MSMQ.6.2.Queues | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.MSMQ.6.2.MonitorType.QueueStatistic.ThreeState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.6.2.Monitor.Queue.QuotaPercentage" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.6.2.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.6.2.MonitorType.QueueStatistic.ThreeState" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.6.2.Monitor.Queue.QuotaPercentage.AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ExceededErrorThreshold" MonitorTypeStateID="ErrorState" HealthState="Error"/>
<OperationalState ID="ExceededWarningThreshold" MonitorTypeStateID="WarningState" HealthState="Warning"/>
<OperationalState ID="WithinThreshold" MonitorTypeStateID="SuccessState" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<QueuePath>$Target/Property[Type="Microsoft.MSMQ.6.2.Queue"]/PathName$</QueuePath>
<CounterName>Quota Pctg</CounterName>
<LogDetail>false</LogDetail>
<WarningThresholdValue>80</WarningThresholdValue>
<ErrorThresholdValue>90</ErrorThresholdValue>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>