Służy do monitorowania procentowego użycia przydziału kolejki.
Ten monitor sprawdza wartość procentową dozwolonego miejsca zajmowanego obecnie przez kolejkę, jeśli dla kolejki zdefiniowano przydział.
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. |
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.
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.
Target | Microsoft.MSMQ.6.3.Queues | ||
Parent Monitor | System.Health.AvailabilityState | ||
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.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>