Połączenie

Microsoft.MSMQ.10.0.Monitor.Queue.ConnectionStatus (UnitMonitor)

Służy do monitorowania stanu połączenia kolejki.

Knowledge Base article:

Podsumowanie

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.

Konfiguracja

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.

Przyczyny

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.

Element properties:

TargetMicrosoft.MSMQ.10.0.Queues
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.MSMQ.10.0.MonitorType.QueueConnection
RemotableTrue
AccessibilityPublic
Alert Message
Test połączenia z kolejką nie powiódł się.
Więcej informacji zawiera kontekst alertu.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.Queue.ConnectionStatus" Accessibility="Public" Enabled="true" Target="Microsoft.MSMQ.10.0.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.10.0.MonitorType.QueueConnection" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.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.10.0.Queue"]/PathName$</QueuePath>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>