Ten monitor sprawdza wiek najstarszego komunikatu w kolejce.
Ten monitor sprawdza wiek najstarszego komunikatu w kolejce.
Te monitor jest domyślnie wyłączony. W celu umożliwienia działania należy go włączyć przez zastąpienie ustawień.
Zachowanie tego monitora można zmodyfikować przez zastąpienie ustawień następujących parametrów.
IntervalSeconds | Liczba sekund między uruchomieniami testu. Ustawienie zbyt niskiej wartości może spowodować nadmierne obciążenie usługi MSMQ. Natomiast w przypadku ustawienia zbyt wysokiej wartości błąd może nie zostać wykryty w odpowiednim czasie. Ustawieniem domyślnym jest 120 sekund (co oznacza uruchamianie testu raz na 2 minuty). |
WarningThresholdValue | Wiek najstarszego komunikatu (w sekundach), przy którym powinien zostać wygenerowany stan ostrzegawczy. |
ErrorThresholdValue | Wiek najstarszego komunikatu (w sekundach), przy którym powinien zostać wygenerowany stan błędu. |
W przypadku normalnego działania aplikacje powinny odbierać komunikaty natychmiast po ich dodaniu do kolejki. Jeśli komunikat pozostaje w kolejce przez dłuższy czas, może to oznaczać problem z aplikacją odbierającą lub jej możliwością odczytu informacji z kolejki.
Sprawdź stan połączenia kolejki oraz aplikacji mogących odbierać komunikaty z tej kolejki.
Target | Microsoft.MSMQ.6.3.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.6.3.MonitorType.QueueStatistic.ThreeState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.Queue.OldestMessage" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.6.3.Queues" ParentMonitorID="SystemHealth!System.Health.PerformanceState" 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.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.6.3.Queue"]/PathName$</QueuePath>
<CounterName>Oldest Message Age</CounterName>
<LogDetail>false</LogDetail>
<WarningThresholdValue>0</WarningThresholdValue>
<ErrorThresholdValue>0</ErrorThresholdValue>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>