Processorgebruik agent

Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor (UnitMonitor)

Bewaak alle agentprocessen om mogelijke agentproblemen met betrekking tot processortijd te identificeren.

Knowledge Base article:

Samenvatting

Deze monitor berekent het totale CPU-gebruik van de Operations Manager-agent en de verwante processen. De monitor genereert een waarschuwing wanneer het CPU-gebruik boven een opgegeven drempelwaarde komt voor het opgegeven aantal opeenvolgende steekproeven.

Door het onderliggende script voor deze monitor wordt het CPU-gebruik steekproefgewijs bepaald voor het agentproces van Operations Manager (HealthService.exe), het onderliggende bewakingshostproces (MonitoringHost.exe) en de onderliggende processen van die bewakingshostprocessen (cscript.exe, PowerShell.exe, etc.). De berekening wordt door het script drie keer uitgevoerd. Het gemiddelde van de drie opeenvolgende steekproeven wordt als resultaat door deze monitor gebruikt om te bepalen of de status Kritiek of In orde is.

Configuratie

U kunt overschrijvingen gebruiken om de volgende parameters aan te passen en zo het standaardgedrag van deze monitor te wijzigen:

Deze monitor is standaard uitgeschakeld voor alle beheerservers.

Oorzaken

Bovenmatig CPU-gebruik van verschillende Operations Manager-agentprocessen is mogelijk een indicatie dat de agent of een van de onderliggende afhankelijke processen niet goed functioneren. Als de agent en de onderliggende afhankelijke processen juist zijn bijgewerkt, dan wordt de agent op het bewaakte systeem te veel gebruikt. Dit is mogelijk kortstondig door een recente update in de beheergroep, zoals de implementatie van een nieuw management pack, of het is vanwege een daadwerkelijke overbelasting van de agent. In het laatste geval is afstemming vereist.

Oplossingen

Controleer het volgende om ervoor te zorgen dat de agent en de onderliggende afhankelijkheden goed functioneren:

Als het probleem aanhoudt nadat die configuraties zijn gecontroleerd, dan is nadere analyse nodig om te begrijpen wat de oorzaak is van het CPU-gebruik. Onderzoek het probleem verder met een combinatie van de volgende stappen:

Neem na het vaststellen van de oorzaak of oorzaken een van de volgende stappen om het probleem op te lossen:

Als u na het proberen van alle bovenstaande stappen geen oplossing vindt, neemt u contact op met de klantenservice van Microsoft (http://support.microsoft.com/).

Aanvullend

Deze monitor heeft een bijbehorende diagnosetaak 'Diagnostische gegevens van processorgebruik agent verzamelen' waarmee de steekproeven van het CPU-gebruik opnieuw worden uitgevoerd. De diagnosetaak is standaard uitgeschakeld.

Daarnaast is er in de Operations-console de taak 'Processorgebruik van agent ophalen', waarmee de steekproeven van het CPU-gebruik opnieuw worden uitgevoerd. Wanneer u de taak 'Processorgebruik van agent ophalen' uitvoert, kunt u de parameters voor de time-out en het aantal steekproeven instellen. Door de taak wordt een resultatentabel geretourneerd. De taak 'processorgebruik agent' uitvoeren

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
De Operations Manager-agentprocessen verbruiken te veel processortijd
Het totale processorgebruik van alle agentprocessen op computer {0} heeft de drempelwaarde van {1} in meerdere steekproeven overschreden.
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>