Monitoraggio di processi: Conteggio handle elevato

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

Questa regola genera un avviso quando il conteggio degli handle aumenta troppo velocemente.

Knowledge Base article:

Riepilogo

Questa regola genera un avviso quando il conteggio degli handle aumenta troppo velocemente.

Nota: se la soglia per questa regola è diversa dalla soglia corrispondente per la regola "Monitoraggio di processi: Raccolta dello stato di integrità", potrebbero verificarsi incoerenze tra gli avvisi e gli stati di integrità del processo.

Per evitare la generazione di un numero eccessivo di avvisi, è stata implementata una soglia minima per la regola. Il valore predefinito per la soglia minima è 15%. È possibile modificare la soglia con qualsiasi valore tramite le sostituzioni della regola nella console di Operations Manager ma se si imposta un valore inferiore a 15%, la soglia effettiva sarà 15% per impostazione predefinita.

L'utente può modificare la soglia minima creando un valore DWORD (32-bit) MinimalHandleCountIncreaseThreshold nel Registro di sistema per l'agente appropriato e sotto la chiave appropriata. La soglia effettiva sarà uguale al valore massimo tra i due valori: la soglia predefinita/sostituita tramite la console Operations Manager e la soglia minima impostata nel Registro di sistema.

Per la soglia minima viene usata la chiave del Registro di sistema seguente:

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>