Służy do monitorowania stanu połączenia kolejki.
Ten monitor sprawdza połączenie z kolejką, podejmując próby uzyskania wglądu do niej.
Test ten jest wykonywany przez serwer lokalny, więc w sieci nadal mogą występować warunki uniemożliwiające innym klientom nawiązanie połączenia z usługą. Warunki w sieci są zawarte w monitorze perspektywy klienta, który można włączyć i skonfigurować niezależnie od tego monitora.
Wgląd do nieaktywnej kolejki spowoduje jej automatyczne aktywowanie. W celu zmniejszenia obciążenia serwera test nie jest wykonywany na kolejkach nieaktywnych.
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). |
Połączenie jest nawiązywane przy użyciu poświadczeń zdefiniowanych w profilu dostępu użytkownika do kolejki. Konto użytkownika powinno zapewniać dostęp do testowanych kolejek. Konfigurację tego konta można wykonać w sekcji Administracja w konsoli Operacje.
Jeśli połączenie z kolejką zostaje przerwane z powodu błędu odmowy dostępu, najbardziej prawdopodobną przyczyną tego stanu może być brak możliwości nawiązania połączenia z kolejką przez profil dostępu użytkownika do kolejki. Sprawdź poświadczenia profilu dostępu użytkownika do kolejki w sekcji Administracja w konsoli Operacje.
Target | Microsoft.MSMQ.6.3.Queues | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.MSMQ.6.3.MonitorType.QueueConnection | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.Queue.ConnectionStatus" Accessibility="Public" Enabled="true" Target="Microsoft.MSMQ.6.3.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.6.3.MonitorType.QueueConnection" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.6.3.Monitor.Queue.ConnectionStatus.AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnsuccessfulConnection" MonitorTypeStateID="UnsuccessfulConnection" HealthState="Error"/>
<OperationalState ID="SuccessfulConnection" MonitorTypeStateID="SuccessfulConnection" 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>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>