Этот монитор проверяет возраст самого старого сообщения в очереди.
Этот монитор проверяет возраст самого старого сообщения в очереди.
Этот монитор по умолчанию отключен. Для того чтобы этот монитор работал, он должен быть включен с переопределением.
Поведение монитора можно изменить, переопределив значения следующих параметров.
IntervalSeconds | Число секунд между выполнением теста. Если это значение слишком мало, оно может вызвать чрезмерную нагрузку на службу MSMQ. Если оно слишком велико, ошибки могут не быть обнаружены вовремя. Значение по умолчанию — 120 секунд (тест выполняется каждые 2 минуты). |
Пороговое значение предупреждения | Возраст самого старого сообщения в секундах, при достижении которого должно возникнуть состояние предупреждения. |
Пороговое значение ошибки | Возраст самого старого сообщения в секундах, при достижении которого должно возникнуть состояние ошибки. |
При нормальной работе предполагается, что приложения будут получать сообщения своевременно по мере их добавления к очереди. Если сообщение остается в очереди продолжительный период времени, это может означать проблему с получающим приложением или способностью приложения читать из очереди.
Проверьте состояние подключения очереди и приложений, которые могут получать сообщения из нее.
Target | Microsoft.MSMQ.10.0.Queues | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.MSMQ.10.0.MonitorType.QueueStatistic.ThreeState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.Queue.OldestMessage" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.10.0.Queues" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.10.0.MonitorType.QueueStatistic.ThreeState" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.Monitor.Queue.OldestMessage.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.10.0.Queue"]/PathName$</QueuePath>
<CounterName>Oldest Message Age</CounterName>
<LogDetail>false</LogDetail>
<WarningThresholdValue>0</WarningThresholdValue>
<ErrorThresholdValue>0</ErrorThresholdValue>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>