Soglia numero handle MonitoringHost

Microsoft.SystemCenter.Agent.MonitoringHost.HandleCountThreshold (UnitMonitor)

Questo monitoraggio assicura che il contatore "processo\numero handle" per i processi "MonitoringHost.exe" non superi la soglia impostata per una serie di campioni consecutivi. Se le condizioni vengono soddisfatte, questo monitoraggio si modificherà in uno stato critico che eseguirà quindi il rollup al monitoraggio "Stato Servizio integrità". Il monitoraggio "Stato Servizio integrità" è configurato affinché, quando il proprio stato è critico, esegua un ripristino che tenterà automaticamente di riavviare il servizio integrità di gestione di System Center.

Knowledge Base article:

Riepilogo

Questa regola misura l'utilizzo del processo\numero handle per tutte le istanze del processo host con funzione di monitoraggio. Se l'utilizzo supera la soglia configurata, viene avviato un processo di risposta che tenta di riavviare il servizio integrità di gestione di System Center per impedire il sovraccarico del computer.

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

6,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 dell'host con funzione di monitoraggio 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 questa regola eseguita su agenti è il riavvio del servizio integrità di gestione di System Center. Poiché il ripristino è attivato per impostazione predefinita sugli agenti, non è richiesto l'intervento dell'utente.

Notare che il servizio integrità di gestione di System Center potrebbe non essere riavviato correttamente se l'account azione con cui è stato configurato questo agente non ha le autorizzazioni appropriate per riavviare il servizio.

In tal caso, avviare il servizio Windows integrità di gestione di System Center.

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 la regola.

Element properties:

TargetMicrosoft.SystemCenter.Agent
Parent MonitorMicrosoft.SystemCenter.HealthService.ServiceStateRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType
RemotableFalse
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Agent.MonitoringHost.HandleCountThreshold" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.Agent" ParentMonitorID="Microsoft.SystemCenter.HealthService.ServiceStateRollup" Remotable="false" Priority="High" TypeID="Microsoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="HandleCountUnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="HandleCountOverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ObjectName>Process</ObjectName>
<CounterName>Handle Count</CounterName>
<InstanceName>MonitoringHost*</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>120</Frequency>
<NumSamples>5</NumSamples>
<Threshold>6000</Threshold>
<Direction>greater</Direction>
</Configuration>
</UnitMonitor>