クォータの割合

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

キューのクォータの使用状況の割合を監視します。

Knowledge Base article:

概要

このモニターは、キューのクォータが定義されている場合に現在使用されている許容されるキューの領域の割合をチェックします。

構成

このモニターの動作は、以下のパラメーターを上書き設定することで変更できます。

IntervalSeconds

テストの実行間隔の秒数です。 この値の設定が低すぎると、MSMQ サービスに過度のオーバーヘッドがかかります。 この値の設定が高すぎると、エラー状態が適切な時間内に検出されない可能性があります。 既定で 120 秒に設定されています (2 分間隔でテストを実施)。

WarningThresholdValue

警告状態をトリガーするジャーナルの使用状況の割合。 ErrorThresholdValue の値を下回る必要があります。既定値は 80 です。

ErrorThresholdValue

エラー状態をトリガーするジャーナルの使用状況の割合。 WarningThresholdValue の値を上回る必要があります。既定値は 90 です。

LogDetail

True の場合、スクリプトによって、実行されたすべてのテストでエージェント コンピューターの Windows イベントがログに記録されます。 特定できない問題が発生した場合は、詳細ログを有効にします。 ログ エントリには、実行されている正確な nslookup コマンドとその出力が含まれます。 イベントは、スクリプト詳細イベント ビューで表示できます。

原因

メッセージはキューに配信されキューから受信されるので、キューのサイズは比較的変化しません。 キューがキューのクォータに達すると、1 つ以上の受信側のアプリケーションが停止したり、メッセージを受信できなかったりする場合があり、その場合、キューからメッセージが削除されます。

解決方法

キューの接続状態、およびキューからメッセージを受信するアプリケーションの接続状態を確認してください。

キューを使用しているアプリケーションでメッセージの使用量やサイズが増加した場合は、クォータを増やす必要があります。

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
使用中のクォータの割合がしきい値を超えました。
詳細については、アラートのコンテキストを参照してください。
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>