- Adam Bertram
@ adbertram
- 06.04.09, 11: 18
jednym z bardziej pomijanych narzędzi w systemie Windows jest Perfmon, znany również jako performance monitor. To narzędzie ma wiele pomijanych zdolności, jedną z nich jest możliwość ostrzegania o różnych warunkach metrycznych. W tym artykule zbadamy, jak prawidłowo korzystać z funkcji ostrzegania Perfmon przy dużym zużyciu procesora.
Co To jest Perfmon?
dostępny od wczesnych dni systemu Windows w różnych iteracjach, Performance Monitor jest dostępny jako przystawka MMC do systemu Windows, która ma pomóc w monitorowaniu użytkowania systemu i różnych wskaźników wydajności. Domyślny widok po uruchomieniu wyróżnia kilka różnych obszarów i metryki w czasie rzeczywistym.
- Performance Monitor-podgląd metryk w czasie rzeczywistym
- zestawy kolektorów danych-zdefiniowany zbiór danych w danym przedziale czasowym
- raporty – jak wyświetlić dane zebrane w zestawach kolektorów danych
jeśli Performance Monitor nie zostanie uruchomiony jako Administrator, jego użyteczność będzie ograniczona i możesz nie zobaczyć zestawów kolektorów danych ani raportów.
wyświetlanie metryk
po pierwszym kliknięciu Monitora wydajności pojawi się ruchomy Wykres linii, który domyślnie jest %Processor Time
. To samo w sobie nie jest zbyt użyteczne, ponieważ dane są wartością kroczącą i naprawdę chcemy wiedzieć, czy występują niekorzystne warunki.
możesz dodać dodatkowe metryki do tego wykresu, klikając zielony plus i dodając kolejne metryki. Należy pamiętać, że skala wartości może nie pasować do różnych punktów danych i dlatego może być mniej przydatna w połączeniu na jednym wykresie.
zestawy kolektorów danych
dane w czasie rzeczywistym są przydatne, ale nie tego, czego ostatecznie szukamy. Jak zatem alarmować o pewnych warunkach, w tym przypadku wysokie zużycie procesora utrzymujące się w czasie?
tu wchodzą zestawy kolektorów danych. Po rozwinięciu zestawów kolektorów danych kliknij prawym przyciskiem myszy zdefiniowany przez Użytkownika → nowy → zestaw kolektorów danych.
zostanie wyświetlona opcja nazwania zestawu i czy utworzyć zestaw z szablonu, czy utworzyć zestaw ręcznie. W tym przypadku musimy ręcznie utworzyć naszą konfigurację.
w takim przypadku ustawiamy licznik wydajności. To będzie monitorować dany licznik, a następnie możemy powiedzieć alertowi, aby podjął określone działania.
ponieważ chcemy monitorować całkowity procent procesora, najważniejsze jest, aby wybrać właściwą metrykę do monitorowania. Tutaj wybieramy procesor → _total klikając na „Dodaj >>” obok wybranej instancji.
jeden problem polega na tym, że dostajesz wszystkie dane procesora _Total. Ostatecznie chcemy tylko metrykę \Processor(_Total)\% Processor Time
. Aby usunąć pozostałe, zaznacz każdą z nich i kliknij przycisk Usuń.
niestety, sposób, w jaki działa usuwanie, nie możesz po prostu kliknąć przycisku Usuń wiele razy, ponieważ za każdym razem przenosi wybrany element z powrotem na górę. Wybierz każdą metrykę indywidualnie i kliknij Usuń.
musimy teraz powiedzieć licznikowi wydajności, w którym momencie powinien się rozpocząć alert i w tym przypadku chcemy mieć alert tylko wtedy, gdy powyżej 95
.
na koniec zapisz i zamknij zestaw kolektora danych.
Konfigurowanie alertów
po usunięciu naszej domyślnej konfiguracji musimy teraz skonfigurować działanie alertu. Istnieją dwa sposoby ustawiania alertów: Akcja alertu i zadanie alertu. Wybierz Zdefiniowany przez Użytkownika → zestaw kolektorów danych o wysokim zużyciu procesora, kliknij prawym przyciskiem myszy domyślną pozycję DataCollector01
i wybierz Właściwości.
najprostszym sposobem na rozpoczęcie monitorowania wpisów jest przejście do zakładki działania alertu i kliknięcie pola wyboru „Zaloguj wpis w dzienniku zdarzeń aplikacji”. Masz również wygodną opcję uruchomienia innego zestawu kolektorów danych, gdy spełnione są kryteria alertu. W ten sposób możesz zebrać dodatkowe logowanie w razie potrzeby. Tutaj jednak po prostu zapiszemy wpis.
Konfiguracja zadania alertu
wszystko jest dobrze i dobrze, ale ostatecznie nie otrzymujemy rzeczywistego alertu w tym przypadku, tylko nowy wpis dziennika zdarzeń. Na karcie zadanie alertu możemy powiedzieć temu Kolektorowi danych, aby rozpoczął zaplanowane zadanie i wysłał kilka parametrów, które mogą następnie wykonać dowolne akcje alertu, które chcemy. Aby to zadziałało, musimy zrobić dwie rzeczy. Utwórz skrypt do uruchomienia i zaplanowane zadanie.
skrypt logowania
Poniżej znajduje się bardzo prosty skrypt logowania. Odczytujemy w metrykach alertów, które są generowane przez zadanie alertów i wysyłamy te wyniki do pliku dziennika.
HighCPUAlert.ps1
$Date = $args $Threshold = $args $Counter = $args $Value = " {1} {2} | {3}" -F $Date, 'High CPU', $Threshold, $Counter Add-Content -Value $Value -Path 'C:\HighCPUAlert.log'
zaplanowane zadanie
tutaj musimy utworzyć zaplanowane zadanie, które faktycznie uruchomi skrypt po wywołaniu przez kolektor danych. Używamy PowerShell do tworzenia zaplanowanych zadań i używając PowerShell 7 jako czasu pracy, oznaczonego przez plik wykonywalny pwsh.exe
.
$Params = @{ "Action" = New-ScheduledTaskAction -Execute "pwsh.exe" -Argument "-NoProfile -File C:\HighCPUAlert.ps1 $(Arg0)" "Principal" = New-ScheduledTaskPrincipal -UserId "LOCALSERVICE" -LogonType ServiceAccount "Settings" = New-ScheduledTaskSettingsSet } New-ScheduledTask @Params | Register-ScheduledTask 'HighCPUAlert'
dopóki PowerShell 7 nie zostanie oficjalnie wydany, plik wykonywalny może być pwsh-preview.exe
.
Konfigurowanie zadania alertu
na koniec musimy skonfigurować zadanie alertu w kolektorze danych. Aby to zrobić, przejdź ponownie do właściwości DataCollector01
i wprowadź następujące dane.
cytujemy argumenty zadania, ponieważ są one dostarczane jako ciągi znaków do PowerShell. Dlatego, cytując je, ułatwiamy oddzielanie argumentów za pomocą indeksu, tj.
$arg
lub$arg
.
po kliknięciu przycisku Zapisz możesz zostać poproszony o poświadczenie, powinien to być użytkownik z dostępem administratora.
uruchamianie kolektora danych
klikając prawym przyciskiem myszy zestaw kolektora danych, wysokie zużycie procesora i wybierając Start, rozpoczniesz proces zbierania. Jeśli monitorujesz Zaplanowane zadania, nowo utworzone zaplanowane zadanie będzie okresowo uruchamiane w zależności od ustawionego interwału monitorowania i progu.
podsumowanie
korzystając z wbudowanych narzędzi monitorujących systemu Windows, możesz uporządkować kilka przydatnych i wydajnych rozwiązań monitorujących wokół podstawowych narzędzi i PowerShell. Dzięki tej elastyczności będziesz w stanie dotrzeć do sedna prawie każdego problemu, który można zdiagnozować za pomocą zbierania danych metrycznych!
Adam Bertram jest ponad 20-letnim weteranem IT i doświadczonym profesjonalistą w biznesie online. Jest konsultantem, Microsoft MVP, blogerem, trenerem, autorem publikacji i marketerem treści dla wielu firm technologicznych. Zapoznaj się z artykułami Adama na adamtheautomator.com, połącz się na LinkedIn lub śledź go na Twitterze pod adresem @adbertram.Przeczytaj Cały Biogram ”