프로세스 모니터링: 높은 핸들 수

Microsoft.Windows.Server.10.0.ProcessHandleCount.Alert (Rule)

이 규칙은 핸들 수가 너무 빨리 증가할 때 경고를 생성합니다.

Knowledge Base article:

요약

이 규칙은 핸들 수가 너무 빨리 증가할 때 경고를 생성합니다.

참고: 이 규칙의 임계값이 "프로세스 모니터링: 성능 상태 수집" 규칙의 해당 임계값과 다르면 경고와 프로세스 성능 상태 간에 불일치가 발생할 수 있습니다.

경고가 너무 많이 생성되지 않도록 이 규칙에 대해 최소 임계값이 구현되었습니다. 최소 임계값의 기본값은 15%입니다. Operations Manager 콘솔에서 규칙을 재정의하여 임계값을 임의 값으로 변경할 수 있지만 15%보다 낮은 값으로 변경할 경우 유효 임계값은 기본적으로 15%가 됩니다.

사용자는 적절한 에이전트에서 적절한 키 아래에 MinimalHandleCountIncreaseThreshold 레지스트리 DWORD(32비트) 값을 만들어 최소 임계값을 변경할 수 있습니다. 유효 임계값은 Operations Manager 콘솔을 통해 기본 설정/재정의된 임계값 및 레지스트리에서 설정된 최소 임계값 중 최댓대값과 같습니다.

최소 임계값에 사용되는 레지스트리 키는 다음과 같습니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Modules\Global\BaseOSProcessMonitoring

Element properties:

TargetMicrosoft.Windows.Server.10.0.ProcessMonitoring.ProcessSeed
CategoryCustom
EnabledFalse
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.Server.10.0.Process.HandleCountAlerting.DataSource Microsoft.Windows.Server.10.0.RunAs.CollectionRules
GenerateAlert WriteAction Microsoft.Windows.Server.10.0.GenerateAlertWriteAction Default
WA WriteAction Microsoft.Windows.Server.10.0.CloseAlertWriteAction Default

Source Code:

<Rule ID="Microsoft.Windows.Server.10.0.ProcessHandleCount.Alert" Target="Microsoft.Windows.Server.10.0.ProcessMonitoring.ProcessSeed" Enabled="false" Remotable="true" Priority="Normal" DiscardLevel="100" ConfirmDelivery="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.10.0.Process.HandleCountAlerting.DataSource" RunAs="Microsoft.Windows.Server.10.0.RunAs.CollectionRules">
<MonitoringConfiguration>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.ProcessSeed"]/ThresholdsByProcess$</MonitoringConfiguration>
<IntervalSeconds>120</IntervalSeconds>
<SampleCount>6</SampleCount>
<HandleCountIncreaseThreshold>20</HandleCountIncreaseThreshold>
<LogLevel>4</LogLevel>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Microsoft.Windows.Server.10.0.GenerateAlertWriteAction">
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.10.0.ProcessHandleCount.Alert.AlertMessage"]$</AlertMessageId>
<Threshold>$Data/HandleCountIncreaseThreshold$</Threshold>
<Metric>DoesHandleCountIncreaseTooFast</Metric>
</WriteAction>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.10.0.CloseAlertWriteAction" Target="SCDW!Microsoft.SystemCenter.DataWarehouseConnectorServer">
<TimeoutSeconds>300</TimeoutSeconds>
<RuleId>$MPElement[Name="Microsoft.Windows.Server.10.0.ProcessHandleCount.Alert"]$</RuleId>
<Metric>DoesHandleCountIncreaseTooFast</Metric>
</WriteAction>
</WriteActions>
</Rule>