Övervaka alla agentprocesser för att identifiera problem med att agenten förbrukar för mycket processortid.
Den här övervakaren beräknar den totala CPU-belastningen för Operations Managers agent och dess tillhörande processer och genererar en avisering när CPU-belastningen överskrider ett angivet tröskelvärde för ett visst antal beräkningar.
Övervakarens underliggande skript hittar och samlar in CPU-belastningen för Operations Managers agentprocess (HealthService.exe), och dess underordnade skript övervakar värdprocess (MonitoringHost.exe) samt de underordnade processerna till dessa övervakande värdprocesser (cscript.exe, PowerShell.exe, etc.). Skriptet kör beräkningen tre gånger och anger medelvärdet av de tre på varandra följande beräkningarna, som sedan används av den här övervakaren för att avgöra om tillståndet är kritiskt eller felfritt.
Du kan med hjälp av åsidosättningar anpassa följande parametrar för att ändra övervakarens standardbeteende:
Frekvens (sekunder). Det den frekvens med vilken övervakaren beräknar agentprocessorbelastningen. Som standard utvärderar övervakaren agentprocessorbelastningen var 300 sekund (var 5 minut).
Antal på varandra följande insamlingar för kritiskt tillstånd. Som standard rapporterar övervakaren ett kritiskt tillstånd när 6 beräkningar i följd överskrider det angivna tröskelvärdet.
Antal på varandra följande insamlingar för felfritt tillstånd. Som standard rapporterar övervakaren om ett felfritt tillstånd när 3 beräkningar i följd ligger under det angivna tröskelvärdet.
Tröskelvärde. Tröskelvärdet för CPU-belastning är som standard 25 %.
Den här övervakaren är som standard inaktiverad för alla hanteringsservrar.
Alltför hög CPU-belastning av de olika agentprocesserna i Operations Manager kan ange att agenten eller en av dess underliggande beroenden inte fungerar korrekt. Om agenten och dess underliggande beroenden är korrekt uppdaterade överanvänds agenten i det övervakade systemet. Det kan vara kortvarigt och bero på en nyligen genomförd uppdatering i hanteringsgruppen, till exempel ett nytt hanteringspaket, eller också kan det bero på att agenten verkligen används för mycket. I så fall kan finjustering krävas.
Gör följande för att kontrollera att agenten och dess underliggande beroenden fungerar korrekt:
Kontrollera att den allra senaste versionen av Operations Manager är installerad i systemet.
Kontrollera att uppdateringen för MSXML 6.0 som finns i Knowledge Base-artikeln 968967 (http://go.microsoft.com/fwlink/?LinkId=181885) är installerad.
Om operativsystemet är Windows XP, Windows 2000 Server eller Windows Server 2003 ska du kontrollera att systemet kör Windows Script Host 5.7 eller en senare version. I följande länk anges hämtningsplatser för Windows Script Host 5.7 http://go.microsoft.com/fwlink/?LinkId=181884.
Om tillståndet är detsamma efter att dessa konfigurationer har kontrollerats krävs en mer ingående undersökning för att förstå vad som påverkar CPU-belastningen. Fortsätt undersökningen med hjälp av dessa steg:
Granska de senaste uppgifterna om agentprocessorbelastning, arbetsflödesantal och modulantal i följande vy: Agentprestandavyn. Uppgifterna om agentprocessorbelastningen visar om det är ett problem som nyligen har uppstått eller om det har pågått under en längre tid. Uppgifterna om arbetsflödesantal och modulantal ger en indikation om vilken arbetsbelastning de olika reglerna, övervakarna och identifieringarna ger agenten. Dessa data bör också jämföras med data för felfria agenter.
Använd ett verktyg som Visningsprogram för Effektiv konfiguration (http://go.microsoft.com/fwlink/?LinkId=182300) för att förstå antalet klassinstanser som identifieras på agenten. Ett större antal klassinstanser kan leda fler arbetsflöden och moduler vilket kan ge större arbetsbelastning.
Med prestandaövervakaren kan du samla in mer detaljerade mätningar av processortid i procent från processobjektet. Det ger information om vilka processer som främst orsakar den totala processorsbelastningen.
Granska nyligen genomförda paketuppdateringar eller ändringar för att avgöra om de kan ha orsakat den ökade CPU-belastningen.
När orsaken eller orsakerna är identifierade kan något av följande steg vidtas för att åtgärda problemet:
Om ett hanteringspaket nyligen har gjorts eller om ett nytt hanteringspaket har distribuerats ska du övervaka situationen för att se om problemet kvarstår.
Minska frekvensen på identifieringar via åsidosättanden för att sprida ut deras CPU-belastning över dagen. Detta kan få till följd att identifieringar eventuellt kan dröja längre.
Minska frekvensen på regler och övervakare som körs enligt ett schema för att sprida ut deras CPU-belastning över dagen. Detta får följder för övervakningen.
Om en agent hanteras av flera hanteringsgrupper (en konfiguration som kallas “multi-homed”) blir processorbelastningen högre. Överväg att minska antalet hanteringsgrupper som agenten hanteras av.
Om stegen ovan inte leder till en lösning kan du kontakta Microsofts kundservice och support (http://support.microsoft.com/).
Den här övervakaren har en relaterad diagnostikuppgift, “Samla in diagnostik om agentprocessorbelastning” som kör beräkningarna av CPU-belastning på nytt. Diagnostikuppgiften är som standard inaktiverad.
Det finns också en uppgift i driftkonsolen, “Ta fram agentprocessorbelastningen”, som kör beräkningarna av CPU-belastning på nytt. När du kör uppgiften ”Ta fram agentprocessorbelastningen” kan du ställa in parametrarna för tidsgräns och antal beräkningar. Uppgiften returnerar en resultattabell. Kör uppgiften Ta fram agentprocessorbelastningen
Target | Microsoft.SystemCenter.HealthService | ||
Parent Monitor | Microsoft.SystemCenter.HealthService.PerformanceHealthRollup | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeCounterMonitorType | ||
Remotable | False | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>