监视队列中消息的大小以了解基准。
此监视器可检查队列中消息的大小。
默认情况下,此监视器处于禁用状态。要使其运行,必须使用替代方法来启用此监视器。
可以通过替代设置以下参数来修改此监视器的行为。
需发出警报的状态 | 生成警报的状态。 |
警报优先级 | 警报的优先级。 |
警报严重性 | 警报的严重性。 |
自动解决警报 | 如果阈值低于相应阈值,则自动解决警报。 |
已启用 | 此监视器是否已启用。 |
生成警报 | 达到相应阈值时,此监视器是否会生成警报。 |
内部敏感度 | 自我调整阈值的内部敏感度设置。 |
间隔(秒) | 执行测试的间隔秒数。如果此值设置得过低,可能导致 MSMQ 服务超支。如果此值设置得过高,可能无法适时检测到错误状态。默认设置为 120 秒(每 2 分钟执行一次测试)。 |
外部敏感度 | 自我调整阈值的外部敏感度设置。 |
超时(秒) | 操作尚未彻底执行完成随即中止,这此截点之前其可耗用的秒数。 |
在正常操作的情况下,将消息添加到队列中时,应用程序应该会及时收到这些消息。这些消息的大小将构建一个基线。如果应用程序开始接收超出该基线的消息,则可能表示发送消息的应用程序发生了更改。
检查正在发送该大小消息的应用程序和队列,以验证其为预期行为。
Target | Microsoft.MSMQ.10.0.Queues | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.MSMQ.10.0.Queue.TwoStateBaseliningMonitorWithoutCompression | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.QueueBytes.Baseline" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.10.0.Queues" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.10.0.Queue.TwoStateBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.Monitor.QueueMessageCount.Baseline.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="BelowNormal" MonitorTypeStateID="Below" HealthState="Success"/>
<OperationalState ID="AboveNormal" MonitorTypeStateID="Above" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SignatureID>Microsoft.MSMQ.10.0.Monitor.QueueBytes.Baseline.Signature</SignatureID>
<DataSourceSettings>
<IntervalSeconds>600</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<QueuePath>$Target/Property[Type="Microsoft.MSMQ.10.0.Queue"]/PathName$</QueuePath>
<CounterName>KBytes In Queue</CounterName>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSourceSettings>
<LearningAndBaseliningSettings>
<BusinessCycleLengthUnit>Day</BusinessCycleLengthUnit>
<BusinessCycleLengthInGivenUnit>1</BusinessCycleLengthInGivenUnit>
<LearningType>Continuous</LearningType>
<Offset1>3</Offset1>
<Offset2>3</Offset2>
<Offset3>3</Offset3>
<LearningRate>2</LearningRate>
<InitialNoAlertPeriodInBizCycles>1</InitialNoAlertPeriodInBizCycles>
<OuterSensitivity>3.31</OuterSensitivity>
<InnerSensitivity>2.81</InnerSensitivity>
</LearningAndBaseliningSettings>
<SignatureCollectionSettings>
<DBUpdatePeriodInSeconds>900</DBUpdatePeriodInSeconds>
</SignatureCollectionSettings>
</Configuration>
</UnitMonitor>