Jak skonfigurować monitorowanie w celu ostrzegania o wysokim zużyciu systemu Windows

  • Adam Bertram

    @ adbertram

  • 06.04.09, 11: 18

Perfmon

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?

Reklama

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.

Reklama

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. $arglub $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
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 ”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.