(Obsoleto) Monitoraggio della soglia del numero di handle dell'host (server di gestione)

Microsoft.SystemCenter.ManagementServer.MonitoringHost.HandleCountThreshold (Rule)

Riavvia il servizio integrità quando il processo "MonitoringHost.exe" supera la soglia processo\numero handle.

Knowledge Base article:

Riepilogo

Questa regola è disattivata per impostazione predefinita perché è stata sostituita da un monitoraggio.

Questa regola misura l'utilizzo del processo\numero handle per tutte le istanze del processo MonitoringHost.exe. Se il valore supera la soglia configurata, viene generato un avviso.

Esistono diverse soglie in base al ruolo configurato per essere eseguito dal servizio integrità di gestione di System Center. Di seguito vengono riepilogate le soglie predefinite:

Ruolo del servizio di integrità di gestione di System Center

Soglia del numero handle

Agente

2.000

Server di gestione

10.000

Di seguito viene riportata la configurazione del processo di risposta che tenta di riavviare il servizio integrità di gestione di System Center:

Ruolo del servizio di integrità di gestione di System Center

Comportamento della risposta di riavvio

Agente

Attivato

Server di gestione

Nessuna risposta di riavvio

Cause

Un breve riepilogo delle potenziali cause:

Troppe regole e monitoraggi da tutti i Management Pack con i quali è stato configurato il servizio integrità di gestione di System Center.

La configurazione non corretta di una regola o di un monitoraggio che raccoglie o elabora troppi dati (ad esempio, la regola di raccolta per il contatore delle prestazioni che esegue la raccolta di dati ogni secondo)

La causa può essere l'esecuzione di troppi Management Pack con il servizio integrità di gestione di System Center. Ciascun Management Pack potrebbe avere più monitoraggi che utilizzano una piccola quantità di risorse. Con molti Management Pack che aggiungono diverse migliaia di regole e monitoraggi, ogni istanza di MonitoringHost.exe potrebbe utilizzare più risorse.

Questo comportamento del servizio integrità di gestione di System Center può verificarsi a seconda del tipo di monitoraggio eseguito dal servizio integrità di gestione di System Center.

Un'altra causa potrebbe essere individuata nella non conformità di una o più regole e monitoraggi alle procedure consigliate. Ad esempio, ciò avviene quando una regola del contatore delle prestazioni tenta di raccogliere dati sulle prestazioni ogni secondo. Troppe regole o monitoraggi configurati in questo modo possono causare l'utilizzo di troppe risorse da parte del processo di monitoraggio host.exe.

Soluzioni

L'azione predefinita per la regola eseguita su server di gestione è l'avviso.

Se si ritiene che l'utilizzo della risorsa sia appropriato per la quantità di monitoraggio eseguita da questo agente, è possibile sostituire la soglia o disattivare il ripristino.

Se il servizio integrità di gestione di System Center e il processo MonitoringHost.exe associato utilizzano troppe risorse, è possibile riavviare il servizio integrità di gestione di System Center di Windows per attenuare il problema.

Element properties:

TargetMicrosoft.SystemCenter.ManagementServer
CategoryMaintenance
EnabledFalse
Instance NameProcess
Counter NameHandle Count
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Messaggio di avviso per il monitoraggio della soglia del numero handle dell'host (Server di gestione)
Messaggio di avviso del monitoraggio della soglia del numero di handle dell'host

Member Modules:

ID Module Type TypeId RunAs 
DataSource DataSource System.Performance.DataProvider Default
CDAveragerThreshold ConditionDetection System.Performance.AverageThresholdCondition Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.ManagementServer.MonitoringHost.HandleCountThreshold" Enabled="false" Target="SCLibrary!Microsoft.SystemCenter.ManagementServer" ConfirmDelivery="false" Remotable="true" Priority="High" DiscardLevel="100">
<Category>Maintenance</Category>
<DataSources>
<DataSource ID="DataSource" TypeID="Performance!System.Performance.DataProvider">
<CounterName>Handle Count</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>MonitoringHost*</InstanceName>
<Frequency>120</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="CDAveragerThreshold" TypeID="Performance!System.Performance.AverageThresholdCondition">
<NumSamples>5</NumSamples>
<Threshold>10000</Threshold>
<Operator>Greater</Operator>
</ConditionDetection>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.ManagementServer.MonitoringHost.HandleCountThreshold.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/InstanceName$</AlertParameter1>
<AlertParameter2>$Data/Value$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>