Monitors the Queue Journal Quota Percentage usage.
This monitor checks the percentage of the allowed journal space currently used if a journal 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. |
AllowFailures | If True, monitor will report success if any single test is successful. If False, an error state will be reported if any single test fails. |
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. |
If the journal for a queue is enabled, messages are copied to it as they are received from the queue. The journal will continue to grow until is purged or otherwise trimmed.
The queue can be purged or trimmed using the Tasks associated with the queue in the Operations Console.
There is a Resolution assocated with this monitor that will automatically trim or purge the queue when it reaches an Error state.
Target | Microsoft.MSMQ.6.3.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.3.MonitorType.QueueStatistic.ThreeState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.Queue.JournalPercentage" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.6.3.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.6.3.MonitorType.QueueStatistic.ThreeState" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.6.3.Monitor.Queue.JournalPercentage.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.3.Queue"]/PathName$</QueuePath>
<CounterName>Journal Quota Pctg</CounterName>
<LogDetail>false</LogDetail>
<WarningThresholdValue>80</WarningThresholdValue>
<ErrorThresholdValue>90</ErrorThresholdValue>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>