Monitoruj wszystkie procesy agentów w celu stwierdzenia potencjalnych problemów z nadmiernym użyciem procesora przez agentów.
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.
W celu zmiany domyślnego zachowania tego monitora można użyć wartości zastępujących następujące parametry:
Częstotliwość (w sekundach). Jest to częstotliwość, z jaką monitor próbkuje użycie procesora przez agentów. Domyślnie monitor ocenia użycie procesora przez agentów co 300 sekund (5 minut).
Liczba kolejnych próbek powodująca stan krytyczny. Domyślnie ten monitor zgłasza stan krytyczny w momencie, gdy 6 kolejnych próbek przekracza ustalony próg.
Liczba kolejnych próbek powodująca stan prawidłowy. Domyślnie ten monitor zgłasza stan prawidłowy w momencie, gdy 3 kolejne próbki nie przekraczają ustalonego progu.
Próg. Próg użycia procesora CPU wynosi domyślnie 25%.
Te monitor jest domyślnie wyłączony dla wszystkich serwerów zarządzania.
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.
by upewnić się, że agent i jego bazowe elementy zależne działają prawidłowo, sprawdź następujące kwestie:
Upewnij się, że w systemie jest zainstalowana najnowsza wersja agenta programu Operations Manager.
Sprawdź, czy została zainstalowana aktualizacja programu MSXML 6.0 udostępniona w artykule nr 968967 w bazie wiedzy Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=181885).
Jeśli jest używany system operacyjny Windows XP, Windows 2000 Server lub Windows Server 2003, upewnij się, że w systemie jest używany host skryptów systemu Windows w wersji 5.7 lub nowszej. Poniższe łącze służy do uzyskania lokalizacji pobierania hosta skryptów systemu Windows w wersji 5.7: http://go.microsoft.com/fwlink/?LinkId=181884.
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:
Sprawdź niedawną historię użycia procesora przez agentów, liczbę przepływów pracy i liczbę modułów za pomocą następującego widoku: Widok wydajności agenta. Dane dotyczące użycia procesora przez agentów pozwalają ustalić, czy problem pojawił się niedawno, czy też występuje od dłuższego czasu. Dane dotyczące liczby przepływów pracy i modułów identyfikują obciążenie kierowane do agenta przez różne zasady, monitory i operacje odnajdywania. Te dane należy także porównać z agentami o prawidłowej kondycji w celu uzyskania odniesienia.
Użyj narzędzia takiego, jak Effective Configuration Viewer (http://go.microsoft.com/fwlink/?LinkId=182300), aby poznać liczbę wystąpień klas znalezionych w ramach danego agenta. Większa liczba wystąpień klas może prowadzić do wyższej liczby przepływów pracy i modułów, co z kolei może zwiększać obciążenie pracą.
Korzystając z monitora wydajności, zbierz bardziej szczegółowe pomiary wartości Procesor\Czas procesora (%) z obiektu procesu. Na tej podstawie będzie można ustalić, które procesy najmocniej przyczyniają się do ogólnego użycia procesora.
Sprawdź, czy ostatnie aktualizacje i zmiany pakietów administracyjnych łączą się ze wzrostem użycia procesora CPU.
Po ustaleniu przyczyn problemu dowolne z opisanych poniżej kroków mogą zostać podjęte w celu jego rozwiązania:
Jeśli niedawno została dokonana zmiana pakietu administracyjnego lub został wdrożony nowy pakiet administracyjny, monitoruj sytuację w celu sprawdzenia, czy problem nadal występuje.
Zmniejsz częstotliwość odnajdywania, zastępując wartości parametrów, aby rozłożyć użycie procesora powodowane przez te operacje na cały dzień. Negatywnym efektem tego działania może być potencjalne wydłużenie czasu odnajdywania.
Zmniejsz częstotliwość uruchamiania zasad lub monitorów zaplanowanych w ramach harmonogramu, aby rozłożyć użycie procesora powodowane przez te operacje na cały dzień. Negatywnym efektem tego działania może być ograniczenie monitorowania.
Jeśli dany agent jest zarządzany przez wiele grup zarządzania (konfiguracja określana mianem „wieloadresowej”), może to również wpływać na zwiększenie użycia procesora. Rozważ zmniejszenie liczby grup zarządzania, przez które jest zarządzany dany agent.
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/).
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”
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/>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<Threshold>25</Threshold>
<ConsecutiveSampleCountCritical>6</ConsecutiveSampleCountCritical>
<ConsecutiveSampleCountHealthy>3</ConsecutiveSampleCountHealthy>
</Configuration>
</UnitMonitor>