MSMQ 프로세스용 "\% Processor Time" 카운터를 모니터링하고 기준을 지정하여 값이 정상보다 크면 경고합니다.
MSMQ에서 사용하는 전용 바이트의 양이 기준 값보다 크므로 조사가 필요합니다.
% processor time 수준이 기준으로 돌아오거나 그 아래로 떨어지면, 일시적으로 활동이 많아져서 문제가 발생한 것일 수 있습니다.
MQSVC 프로세스의 프로세서 사용률이 계속 증가하면 메시지 분량이나 메시지 크기가 그에 따라 증가하는 것인지 확인하십시오. 이 경우 프로세서 시간도 증가하게 됩니다.
다른 문제가 발견되지 않으면 서비스를 다시 시작하여 프로세서 사용을 다시 설정하십시오. 문제가 다시 발생하면 프로세서 사용의 출처를 조사하기 위해 추가 디버깅이 필요할 수 있습니다.
Target | Microsoft.MSMQ.10.0.Servers | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.TwoStateAboveBaseliningMonitorWithoutCompression | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.Processor.Baseline" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.10.0.Servers" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.TwoStateAboveBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.Monitor.Processor.Baseline_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Below" HealthState="Success"/>
<OperationalState ID="ExcessiveUsage" MonitorTypeStateID="Above" HealthState="Error"/>
</OperationalStates>
<Configuration>
<SignatureID>Microsoft.MSMQ.10.0.Monitor.Processor.Signature</SignatureID>
<DataSourceSettings>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ObjectName>Process</ObjectName>
<CounterName>% Processor Time</CounterName>
<InstanceName>mqsvc</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
</DataSourceSettings>
<LearningAndBaseliningSettings>
<BusinessCycleLengthUnit>Week</BusinessCycleLengthUnit>
<BusinessCycleLengthInGivenUnit>1</BusinessCycleLengthInGivenUnit>
<LearningType>Continuous</LearningType>
<Offset1>1</Offset1>
<Offset2>1</Offset2>
<Offset3>1</Offset3>
<LearningRate>2</LearningRate>
<InitialNoAlertPeriodInBizCycles>1</InitialNoAlertPeriodInBizCycles>
<OuterSensitivity>3.31</OuterSensitivity>
<InnerSensitivity>2.81</InnerSensitivity>
</LearningAndBaseliningSettings>
<SignatureCollectionSettings>
<DBUpdatePeriodInSeconds>900</DBUpdatePeriodInSeconds>
</SignatureCollectionSettings>
</Configuration>
</UnitMonitor>