Użycie procesora przez agentów

Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor (UnitMonitor)

Monitoruj wszystkie procesy agentów w celu stwierdzenia potencjalnych problemów z nadmiernym użyciem procesora przez agentów.

Knowledge Base article:

Podsumowanie

Ten monitor oblicza łączne użycie procesora CPU agenta programu Operations Manager i powiązanych z nim procesów, a następnie generuje alert w przypadku, gdy użycie procesora CPU przekracza ustalony próg w określonej liczbie kolejnych próbek.

Skrypt bazowy tego monitora lokalizuje i próbkuje użycie procesora CPU przez proces agenta programu Operations Manager (HealthService.exe), jego podrzędny proces hosta monitorowania (MonitoringHost.exe) oraz procesy podrzędne względem procesów hosta monitorowania (cscript.exe, PowerShell.exe itd.). Skrypt uruchamia obliczenia trzykrotnie, a następnie generuje średnią z trzech kolejnych próbek, na podstawie której monitor określa krytyczny lub prawidłowy stan kondycji.

Konfiguracja

W celu zmiany domyślnego zachowania tego monitora można użyć wartości zastępujących następujące parametry:

Te monitor jest domyślnie wyłączony dla wszystkich serwerów zarządzania.

Przyczyny

Intensywne użycie procesora CPU przez różne procesy agenta programu Operations Manager mogą wskazywać na nieprawidłowe działanie tego agenta lub jednego z bazowych elementów zależnych. Jeśli agent i jego bazowe elementy zależne są zaktualizowane prawidłowo, agent ten jest nadmiernie używany w monitorowanym systemie. Ten stan może być krótkotrwały i wynikać z niedawnej aktualizacji grupy zarządzania, na przykład wdrożenia nowego pakietu administracyjnego, bądź też oznaczać faktyczne nadmierne obciążenie agenta wymagające przeprowadzenia dostrajania.

Rozwiązania

by upewnić się, że agent i jego bazowe elementy zależne działają prawidłowo, sprawdź następujące kwestie:

Jeśli ten stan nadal utrzymuje się po zweryfikowaniu konfiguracji, konieczna jest głębsza analiza przyczyn nadmiernego użycia procesora CPU. W celu jej przeprowadzenia wykonaj dowolną kombinację poniższych kroków:

Po ustaleniu przyczyn problemu dowolne z opisanych poniżej kroków mogą zostać podjęte w celu jego rozwiązania:

Jeśli żadna z opisanych wyżej czynności nie spowoduje rozwiązania problemu, skontaktuj się z działem obsługi klienta i pomocy technicznej firmy Microsoft (http://support.microsoft.com/).

Informacje dodatkowe

Z tym monitorem jest powiązane zadanie diagnostyczne „Zbieranie diagnostyki użycia procesora przez agentów” zwracające próbki użycia procesora CPU. T zadanie diagnostyczne jest domyślnie wyłączone.

Próbki użycia procesora CPU można również uzyskać za pomocą zadania „Pobierz użycie procesora przez agentów” w konsoli Operacje. Podczas uruchamiania zadania „Pobierz użycie procesora przez agentów” można ustawić parametry limitu czasu i liczby próbek. Zadanie zwraca tabelę wyników. Uruchom zadanie „Pobierz użycie procesora przez agentów”

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 agentów programu Operations Manager zużywają zbyt dużo czasu procesora
Łączne użycie procesora na komputerze {0} przez wszystkie procesy agentów przekroczyło wartość progową {1} w wielu próbkach.
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/>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<Threshold>25</Threshold>
<ConsecutiveSampleCountCritical>6</ConsecutiveSampleCountCritical>
<ConsecutiveSampleCountHealthy>3</ConsecutiveSampleCountHealthy>
</Configuration>
</UnitMonitor>