Utilizzo processore agente

Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor (UnitMonitor)

Monitoraggio di tutti i processi dell'agente al fine di individuare possibili problemi se l'agente utilizza troppo tempo processore.

Knowledge Base article:

Riepilogo

Questo monitoraggio calcola l'utilizzo CPU totale dell'agente Operations Manager e dei relativi processi, quindi genera un avviso nel caso in cui l'utilizzo CPU superi una soglia specificata per un numero specificato di campioni consecutivi.

Lo script sottostante del monitoraggio funziona individuando e campionando l'utilizzo CPU per il processo dell'agente Operations Manager (HealthService.exe), il relativo processo host di monitoraggio (MonitoringHost.exe) e i processi figli di tali processi host di monitoraggio (cscript.exe, PowerShell.exe e così via). Lo script esegue il calcolo tre volte e restituisce la media dei tre campioni consecutivi, la quale verrà utilizzata dal monitoraggio per determinare stati critici o integri.

Configurazione

È possibile utilizzare le sostituzioni per personalizzare i seguenti parametri per modificare il comportamento predefinito di questo monitoraggio.

Questo monitoraggio viene disabilitato per impostazione predefinita per tutti i server di gestione.

Cause

L'utilizzo eccessivo della CPU dei diversi processi degli agenti di Operations Manager può indicare che l'agente o una delle dipendenze sottostanti non sta funzionando in modo corretto. Se l'agente e le relative dipendenze sottostanti vengono aggiornati in modo corretto, l'agente è in sovraccarico nel sistema oggetto di monitoraggio. Questa condizione potrebbe essere di breve durata, a causa di un aggiornamento recente nel gruppo di gestione, come, ad esempio, la distribuzione di un nuovo Management Pack, oppure potrebbe essere dovuta al fatto che l'agente ha veramente un carico eccessivo, nel qual caso potrebbe essere utile una regolazione.

Soluzioni

Per assicurare che l'agente e le dipendenze sottostanti funzionino nel modo corretto, eseguire i seguenti controlli:

Se la condizione persiste dopo la verifica delle configurazioni, è necessario eseguire ulteriori ricerche per capire cosa determina l'utilizzo CPU. È possibile eseguire ulteriori analisi utilizzando qualsiasi combinazione dei seguenti passaggi:

Una volta individuate le cause, è possibile eseguire uno dei seguenti passaggi per risolvere il problema:

Se i passaggi sopra riportati non portano a una soluzione, contattare il Servizio Supporto Tecnico Clienti Microsoft all'indirizzo http://support.microsoft.com/.

Risorse aggiuntive

Questo monitoraggio ha una relativa attività di diagnostica, "Raccolta diagnostica utilizzo processore agente", la quale esegue nuovamente il campionamento dell'utilizzo CPU. Per impostazione predefinita, l'attività di diagnostica è disabilitata.

Nella console operatore è presente inoltre l'attività "Ottenere utilizzo processore agente", la quale esegue nuovamente il campionamento dell'utilizzo CPU. Quando viene eseguita l'attività "Ottenere utilizzo processore agente", è possibile impostare il timeout e il numero dei parametri dei campioni. L'attività restituisce una tabella di risultati. Eseguire l'attività Ottenere utilizzo processore agente

Element properties:

TargetMicrosoft.SystemCenter.HealthService
Parent MonitorMicrosoft.SystemCenter.HealthService.PerformanceHealthRollup
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.HealthService.SCOMpercentageCPUTimeCounterMonitorType
RemotableFalse
AccessibilityPublic
Alert Message
I processi dell'agente Operations Manager utilizzano troppo tempo processore
L'utilizzo totale del processore sul computer {0} di tutti i processi dell'agente ha superato la soglia di {1} per più campioni.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor" Accessibility="Public" Enabled="onEssentialMonitoring" Target="SCLibrary!Microsoft.SystemCenter.HealthService" ParentMonitorID="Microsoft.SystemCenter.HealthService.PerformanceHealthRollup" Remotable="false" Priority="Normal" TypeID="Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeCounterMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Data/Context/SampleValue$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="CPUTimeOverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="CPUTimeUnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>321</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<SyncTime>00:00</SyncTime>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<Threshold>25</Threshold>
<ConsecutiveSampleCountCritical>6</ConsecutiveSampleCountCritical>
<ConsecutiveSampleCountHealthy>3</ConsecutiveSampleCountHealthy>
</Configuration>
</UnitMonitor>