Procent przydziału

Microsoft.MSMQ.6.3.Monitor.Queue.QuotaPercentage (UnitMonitor)

Służy do monitorowania procentowego użycia przydziału kolejki.

Knowledge Base article:

Podsumowanie

Ten monitor sprawdza wartość procentową dozwolonego miejsca zajmowanego obecnie przez kolejkę, jeśli dla kolejki zdefiniowano przydział.

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).

WarningThresholdValue

Wartość procentowa użycia dziennika, która wyzwala stan ostrzegawczy. Powinna być ona mniejsza od wartości parametru ErrorThresholdValue. Wartość domyślna wynosi 80.

ErrorThresholdValue

Wartość procentowa użycia dziennika, która wyzwala stan błędu. Powinna być ona większa od wartości parametru WarningThresholdValue. Wartość domyślna wynosi 90.

LogDetail

W przypadku wartości True skrypt rejestruje zdarzenie systemu Windows na komputerze agenta podczas każdego wykonywanego testu. W przypadku napotkania niemożliwych do zidentyfikowania problemów należy włączyć rejestrowanie szczegółowe. Wpisy dziennika będą zawierać dokładne wykonywane polecenia nslookup wraz z ich danymi wyjściowymi. Zdarzenia te można wyświetlać w widoku Szczegółowe zdarzenia skryptu.

Przyczyny

Rozmiar kolejki powinien pozostawać względnie statyczny podczas dostarczania komunikatów do kolejki i ich odbierania z kolejki. Jeśli kolejka osiągnie limit przydziału, jedna lub więcej aplikacji odbierających może zostać zatrzymana lub nie mieć możliwości odbierania komunikatów, w wyniku czego nastąpi usunięcie komunikatu z kolejki.

Rozwiązania

Sprawdź stan połączenia kolejki oraz aplikacji mogących odbierać komunikaty z tej kolejki.

Jeśli w aplikacjach korzystających z kolejki nastąpi zwiększenie użycia lub rozmiaru komunikatu, może być wymagane zwiększenie limitu przydziału.

Element properties:

TargetMicrosoft.MSMQ.6.3.Queues
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.MSMQ.6.3.MonitorType.QueueStatistic.ThreeState
RemotableTrue
AccessibilityPublic
Alert Message
Procent używanego przydziału przekroczył próg.
Szczegóły można znaleźć w kontekście alertu.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.Queue.QuotaPercentage" 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.QuotaPercentage.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>Quota Pctg</CounterName>
<LogDetail>false</LogDetail>
<WarningThresholdValue>80</WarningThresholdValue>
<ErrorThresholdValue>90</ErrorThresholdValue>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>