Hogyan állítsuk be a megfigyelést, hogy figyelmeztessük a Windows magas Rendszerhasználatát

  • Adam Bertram

    @ adbertram

  • április 6, 2020, 11: 18am EDT

Perfmon

A Windows egyik figyelmen kívül hagyott eszköze a Perfmon, más néven teljesítményfigyelő. Ennek a segédprogramnak számos figyelmen kívül hagyott képessége van, amelyek közül az egyik a különféle metrikus körülmények közötti riasztás képessége. Ebben a cikkben megvizsgáljuk, hogyan lehet megfelelően használni a Perfmon riasztási képességét magas CPU-használat mellett.

mi az a Perfmon?

A Windows kezdetei óta különböző iterációkban elérhető Performance Monitor MMC beépülő modulként érhető el a Windows-hoz, amelynek célja a rendszerhasználat és a különböző teljesítménymutatók figyelése. Az indításkor az alapértelmezett nézet néhány különböző területet és valós idejű mutatót emel ki.

  • Teljesítményfigyelő-a mutatók valós idejű megtekintése
  • adatgyűjtő készletek-meghatározott adatgyűjtés egy adott időintervallumban
  • jelentések – az adatgyűjtő készletekben gyűjtött adatok megtekintése

ha a Teljesítményfigyelőt nem rendszergazdaként indítja el, akkor a segédprogramja korlátozott lesz, és előfordulhat, hogy nem látja az adatgyűjtő készleteket vagy jelentéseket.

mérőszámok megtekintése

amikor először kattint a Teljesítményfigyelőre, egy mozgó Vonaldiagram jelenik meg, amely alapértelmezés szerint %Processor Time. Ez önmagában nem túl hasznos, mivel az adatok gördülő érték, és valóban szeretnénk tudni, hogy vannak-e kedvezőtlen körülmények.

további mutatókat adhat hozzá ehhez a grafikonhoz, ha rákattint a zöld pluszra, majd további mutatókat ad hozzá. Ne feledje, hogy az értékskála nem egyezik meg a különböző adatpontok között, ezért kevésbé használható, ha egyetlen grafikonon kombinálják.

adatgyűjtő készletek

a valós idejű adatok hasznosak, de nem azok, amelyeket végül keresünk. Hogyan figyelmeztetünk bizonyos körülmények között, ebben az esetben a magas CPU-használat az idő múlásával?

hirdetés

itt jönnek be az adatgyűjtő készletek. Miután bővülő Adatokat Gyűjtő Szett, kattintson a jobb gombbal a Felhasználó által Definiált → Új → Adatokat Gyűjtő Szett.

megjelenik a lehetőség a készlet megnevezésére, valamint arra, hogy sablonból hozza létre a készletet, vagy manuálisan hozza létre a készletet. Ebben az esetben manuálisan kell létrehoznunk a konfigurációt.

ebben az esetben teljesítményszámláló riasztást állítunk be. Ez figyelemmel kíséri az adott számlálót, majd megmondhatjuk a riasztásnak, hogy tegyen bizonyos intézkedéseket.

mivel a teljes CPU-százalékot szeretnénk figyelemmel kísérni, a legfontosabb a megfelelő mutató kiválasztása a monitorozáshoz. Itt választjuk a processzort a kiválasztott példány melletti “Add >>” gombra kattintva.

hirdetés

az egyik probléma az, hogy megkapja az összes processzor _Total mutatót. Végül csak a \Processor(_Total)\% Processor Time metrikát akarjuk. A többiek eltávolításához válassza ki mindegyiket, majd kattintson az Eltávolítás gombra.

sajnos, ahogy az Eltávolítás működik, nem csak többször kattinthat az Eltávolítás gombra, mivel a kiválasztott elemet minden alkalommal visszahelyezi a tetejére. Válassza ki az egyes mutatókat külön-külön, majd kattintson az Eltávolítás gombra.

most meg kell mondanunk a teljesítményszámlálónak, hogy a riasztásnak mikor kell kezdődnie, és ebben az esetben csak akkor szeretnénk riasztani, ha 95felett van.

végül mentse és zárja be az adatgyűjtő készletet.

riasztások konfigurálása

mivel az alapértelmezett konfigurációnk nincs útban, most be kell állítanunk, hogy milyen riasztási műveletre kerül sor. Kétféle módon állíthatja be a riasztásokat, a riasztási műveletet és a riasztási feladatot. Válassza ki a felhasználó által definiált, magas CPU-használatú adatgyűjtő készletet, kattintson a jobb gombbal az alapértelmezett DataCollector01 bejegyzésre, majd válassza a Tulajdonságok lehetőséget.

a bejegyzések figyelésének legegyszerűbb módja, ha navigál a riasztási művelet fülre, majd kattintson a “bejegyzés naplózása Az alkalmazás eseménynaplójában”jelölőnégyzetre. Arra is lehetősége van, hogy egy másik adatgyűjtő készletet indítson, ha a riasztás feltételei teljesülnek. Így szükség szerint további naplózást gyűjthet. Itt azonban csak egy bejegyzést fogunk naplózni.

riasztási feladat konfigurálása

ez mind szép és jó, de végső soron ebben az esetben nem kapunk tényleges riasztást, csak egy új eseménynapló bejegyzést. A riasztási feladat lapon megmondhatjuk ennek az Adatgyűjtőnek, hogy indítson el egy ütemezett feladatot, és küldjön el néhány paramétert, amelyek ezután végrehajthatják a kívánt riasztási műveleteket. Ahhoz, hogy ez működjön, két dolgot kell tennünk. Hozza létre a futtatandó parancsfájlt és magát az ütemezett feladatot.

naplózási parancsfájl

az alábbiakban egy nagyon egyszerű naplózási parancsfájl található. Elolvassuk a riasztási feladat által kiadott riasztási mutatókat, és elküldjük ezeket az eredményeket egy naplófájlba.

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' 

ütemezett feladat

itt létre kell hoznunk az ütemezett feladatot, amely ténylegesen futtatja a szkriptet az adatgyűjtő meghívásakor. A PowerShell-t használjuk az ütemezett feladat létrehozásához, a PowerShell 7-et pedig futási időként használjuk, amelyet a pwsh.exe futtatható fájl jelöl.

$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' 

a PowerShell 7 hivatalos kiadásáig a futtatható fájl lehet pwsh-preview.exe.

riasztási feladat konfigurálása

végül konfigurálnunk kell a riasztási feladatot az Adatgyűjtőn. Ehhez keresse meg ismét a DataCollector01 tulajdonságokat, és írja be a következő adatokat.

idézzük a feladat argumentumokat, mert a PowerShell karakterláncaként jönnek be. Ezért idézve őket, megkönnyítjük az argumentumok index szerinti elválasztását, azaz $arg vagy $arg.

ha a Mentés gombra kattint, előfordulhat, hogy a rendszer hitelesítő adatot kér, ennek rendszergazdai hozzáféréssel rendelkező felhasználónak kell lennie.

az adatgyűjtő futtatása

ha a jobb egérgombbal kattint az adatgyűjtő készletre, magas CPU-használat, majd kiválasztja a Start lehetőséget, megkezdi a gyűjtési folyamatot. Ha figyeli az ütemezett tevékenységeket, látni fogja, hogy az újonnan létrehozott ütemezett tevékenység rendszeresen fut a megfigyelési intervallumtól és a beállított küszöbértéktől függően.

következtetés

A Windows beépített felügyeleti eszközeinek használatával felépíthet néhány hasznos és hatékony felügyeleti megoldást az alapvető segédprogramok és a PowerShell köré. Ezzel a rugalmassággal, szinte minden olyan probléma végére juthat, amelyet metrikus adatgyűjtéssel lehet diagnosztizálni!

Adam Bertram
Adam Bertram több mint 20 éves informatikai veterán és tapasztalt online üzleti szakember. Tanácsadó, Microsoft MVP, blogger, tréner, publikált szerző és tartalommarketing több technológiai vállalat számára. Vegye fel Adam cikkeit a adamtheautomator.com, csatlakozzon a LinkedIn-hez, vagy kövesse őt a Twitteren a @adbertram címen.Olvassa El A Teljes Életrajzot ”

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.