Využití procesoru agentem

Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor (UnitMonitor)

Monitorování všech procesů agenta za účelem zjištění možných potíží s agentem, který využívá příliš mnoho času procesoru.

Knowledge Base article:

Souhrn

Toto monitorování vypočítá celkové využití výkonu procesoru agenta nástroje Operations Manager a jeho souvisejících procesů a poté generuje výstrahu v případě, kdy využití výkonu procesoru pro zadaný počet po sobě jdoucích vzorků překročí specifikovanou prahovou hodnotu.

Toto monitorování podporuje práci skriptu tím, že lokalizuje a vzorkuje využití výkonu procesoru procesu agenta nástroje Operations Manager (HealthService.exe), jeho dceřiný proces monitorování hostitele (MonitoringHost.exe) a dceřiné procesy těchto procesů monitorování hostitele (cscript.exe, PowerShell.exe apod.). Skript spustí celkem třikrát výpočet a průměr těchto tří po sobě jdoucích vzorků, pak toto monitorování použije pro určení, zda se jedná o stav kritický nebo stav v pořádku.

Konfigurace

Chcete-li, můžete přizpůsobit a přepsat nastavení následujících parametrů a změnit tak výchozí chování tohoto monitorování:

Toto monitorování je ve výchozím nastavení neaktivní pro všechny servery pro správu.

Příčiny

Nadměrné využití výkonu procesoru u různých procesů agenta v nástroji Operations Manager může signalizovat, že agent nebo jedna z jeho základních závislostí nefunguje řádně. Jestliže agent a jeho základní závislosti jsou pravidelně aktualizovány, agent u monitorovaného systému je nadměrně využíván. To může mít krátkodobé trvání, pokud je příčinou nejnovější aktualizace ve skupině pro správu, jako např. nasazení nové sady management pack, nebo se může jednat o důsledek skutečnosti, že agent je opravdu blízko nadměrnému zatížení – v tom případě může být zapotřebí ladění.

Řešení

Pro ujištění, že agent a jeho základní závislosti fungují řádně, zkontrolujte následující:

Jestliže problém i po zkontrolování nastavení trvá, je pro pochopení toho, co se za využitím výkonu procesoru skrývá, potřebný hlubší rozbor. Pátrejte dál, přičemž můžete využit libovolnou kombinaci následujících kroků:

Jakmile se vám podaří příčinu nebo příčiny identifikovat, pro odstranění problému můžete použít jakýkoli z následujících kroků:

Jestliže výše uvedené kroky nevedou k řešení, obraťte se na zákaznický servis a podporu společnosti Microsoft (http://support.microsoft.com/).

Další informace

K tomuto monitorování je přidružený diagnostický úkol „Shromažďování diagnostických informací o využití procesoru agenta“, který opakovaně vzorkuje využití výkonu procesoru. Ve výchozím nastavení je tento diagnostický úkol neaktivní.

Je zde i úkol na konzole Operations Console, a to „Zjištění využití procesoru agenta“, který opakovaně vzorkuje využití výkonu procesoru. Po spuštění úkolu „Zjištění využití procesoru agenta“ můžete nastavit parametry časové prodlevy a počtu vzorků. Výstupem z úkolu je tabulka s výsledky. Spuštění úkolu „Zjištění využití procesoru agenta“

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
Procesy agenta nástroje Operatios Manager využívají příliš mnoho času procesoru.
Celkové využití procesorů v počítači {0} všemi procesy agenta překročilo v několika testováních prahovou hodnotu {1}.
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>