このモニターは、キュー内の最も古いメッセージの経過時間をチェックします。
このモニターは、キュー内の最も古いメッセージの経過時間をチェックします。
このモニターは、既定では無効になっています。 モニターを動作させるには、上書きによってモニターを有効にする必要があります。
このモニターの動作は、以下のパラメーターを上書き設定することで変更できます。
IntervalSeconds | テストの実行間隔の秒数です。 この値の設定が低すぎると、MSMQ サービスに過度のオーバーヘッドがかかります。 この値の設定が高すぎると、エラー状態が適切な時間内に検出されない可能性があります。 既定で 120 秒に設定されています (2 分間隔でテストを実施)。 |
WarningThresholdValue | 警告状態が生成される最も古いメッセージの経過時間 (秒)。 |
ErrorThresholdValue | エラー状態が生成される最も古いメッセージの経過時間 (秒)。 |
通常の動作では、メッセージがキューに追加されるとアプリケーションが直ちにメッセージを受信することが期待されます。 メッセージが長い時間キューに残っている場合は、受信側のアプリケーションに問題が発生しているか、受信側のアプリケーションがキューからメッセージを読み取ることができないことを示している可能性があります。
キューの接続状態、およびキューからメッセージを受信するアプリケーションの接続状態を確認してください。
Target | Microsoft.MSMQ.6.3.Queues | ||
Parent Monitor | System.Health.PerformanceState | ||
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.OldestMessage" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.6.3.Queues" ParentMonitorID="SystemHealth!System.Health.PerformanceState" 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.OldestMessage.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>Oldest Message Age</CounterName>
<LogDetail>false</LogDetail>
<WarningThresholdValue>0</WarningThresholdValue>
<ErrorThresholdValue>0</ErrorThresholdValue>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>