- Adam Bertram
@adbertram
- 6. Dubna 2020 11: 18 EDT
jedním z více přehlížených nástrojů v systému Windows je Perfmon, jinak známý jako performance monitor. Tento nástroj má mnoho přehlížených schopností, jednou z nich je schopnost upozornit na různé metrické podmínky. V tomto článku zkoumáme, jak správně používat varovnou schopnost Perfmon s vysokým využitím CPU.
co je Perfmon?
k dispozici od prvních dnů Windows v různých iteracích, Performance Monitor je k dispozici jako MMC snap-in pro Windows určené k pomoci při sledování využití systému a různé metriky výkonu. Výchozí zobrazení při spuštění zdůrazňuje několik různých oblastí a metriky v reálném čase.
- sledování výkonu-zobrazení metrik v reálném čase
- sady sběračů dat-definovaný sběr dat v daném časovém intervalu
- zprávy – jak zobrazit data shromážděná v sadách sběračů dat
pokud Performance Monitor není spuštěn jako správce, jeho nástroj bude omezen a nemusí se zobrazit sady nebo sestavy sběračů dat.
zobrazení metrik
při prvním kliknutí na monitor výkonu se zobrazí graf pohybující se čáry, který je ve výchozím nastavení %Processor Time
. To samo o sobě není strašně užitečné, protože data jsou valivou hodnotou a opravdu chceme vědět, zda existují nepříznivé podmínky.
do tohoto grafu můžete přidat další metriky kliknutím na zelené plus a přidáním dalších metrik. Mějte na paměti, že stupnice hodnot se nemusí shodovat mezi různými datovými body, a proto může být méně užitečná, pokud je kombinována na jednom grafu.
sady sběračů dat
data v reálném čase jsou užitečná, ale ne to, co nakonec hledáme. Jak tedy upozorníme na určité podmínky,v tomto případě vysoké využití CPU v průběhu času?
Zde přicházejí sady sběračů dat. Po rozbalení Sad datových sběračů klikněte pravým tlačítkem myši na User Defined → New → Data Collector Set.
zobrazí se vám možnost pojmenovat sadu a zda vytvořit sadu ze šablony nebo vytvořit sadu ručně. V tomto případě musíme ručně vytvořit naši konfiguraci.
v tomto případě nastavujeme výstrahu čítače výkonu. To bude monitorovat daný čítač a pak můžeme říct výstrahu, aby podnikla určité kroky.
protože se snažíme sledovat celkové procento CPU, je nejdůležitější zvolit správnou metriku, kterou chcete sledovat. Zde volíme procesor → _Total kliknutím na“ Přidat >> “ vedle vybrané instance.
jedním problémem je, že získáte všechny metriky procesoru _Total. Nakonec chceme jen metriku \Processor(_Total)\% Processor Time
. Chcete-li odstranit ostatní, vyberte každý z nich a klikněte na tlačítko Odebrat.
bohužel, způsob, jakým odstranění funguje, nemůžete jednoduše kliknout na tlačítko Odebrat několikrát, protože pokaždé přesune vybranou položku zpět nahoru. Vyberte každou metriku jednotlivě a klikněte na Odebrat.
nyní musíme říct počítadlu výkonu, v jakém okamžiku by mělo být upozornění zahájeno, a v tomto případě se snažíme, aby bylo upozorněno pouze tehdy, když je nad 95
.
nakonec uložte a zavřete sadu sběratelů dat.
konfigurace upozornění
s naší výchozí konfigurací z cesty musíme nyní nakonfigurovat, jaká výstražná akce se bude konat. Existují dva způsoby, jak nastavit upozornění, výstražnou akci a výstražnou úlohu. Vyberte uživatel definovaný → vysoká sada sběračů dat CPU, klepněte pravým tlačítkem myši na výchozí položku DataCollector01
a zvolte Vlastnosti.
nejjednodušší způsob, jak začít sledovat záznamy, je přejít na kartu Akce upozornění a kliknout na zaškrtávací políčko „přihlásit položku v protokolu událostí aplikace“. Máte také pohodlnou možnost spustit jinou sadu sběratelů dat, pokud jsou splněna kritéria pro výstrahu. Tímto způsobem můžete podle potřeby sbírat další protokolování. Zde však, právě se chystáme přihlásit záznam.
konfigurace výstražné úlohy
to je vše v pořádku a dobré, ale nakonec v tomto případě nedostáváme skutečné upozornění, pouze novou položku protokolu událostí. Na kartě Alert Task můžeme tomuto sběrateli dat říci, aby zahájil naplánovanou úlohu, a odeslat některé parametry,které pak mohou provádět jakékoli výstražné akce, které chceme. Aby to fungovalo, musíme udělat dvě věci. Vytvořte skript, který chcete spustit, a samotnou naplánovanou úlohu.
protokolovací skript
níže je velmi jednoduchý protokolovací skript. Čteme v alert metriky výstup Alert úkolu a odeslat tyto výsledky do souboru protokolu.
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'
naplánovaná úloha
zde musíme vytvořit naplánovanou úlohu, která skutečně spustí skript po vyvolání sběratelem dat. Používáme PowerShell k vytvoření naplánované úlohy a použití PowerShell 7 jako run-time, jak je označeno spustitelným souborem 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'
dokud není PowerShell 7 formálně uvolněn, spustitelný soubor může být pwsh-preview.exe
.
konfigurace Alert Task
nakonec musíme nakonfigurovat Alert Task na sběrači dat. Chcete-li to provést, přejděte znovu na vlastnosti DataCollector01
a zadejte následující podrobnosti.
citujeme argumenty úlohy, protože přicházejí jako řetězce do PowerShell. Proto jejich citací usnadňujeme oddělení argumentů podle indexu, tj.
$arg
nebo$arg
.
jakmile kliknete na Uložit, můžete být vyzváni k zadání pověření, měl by to být uživatel s přístupem správce.
spuštěním sběrače dat
kliknutím pravým tlačítkem myši na sadu sběračů dat, vysokým využitím procesoru a výběrem možnosti Start zahájíte proces sběru. Pokud sledujete naplánované úlohy, uvidíte nově vytvořenou naplánovanou úlohu pravidelně spouštět v závislosti na nastaveném intervalu monitorování a prahové hodnotě.
závěr
pomocí vestavěných monitorovacích nástrojů systému Windows můžete strukturovat některá užitečná a výkonná monitorovací řešení kolem základních nástrojů a PowerShell. Díky této flexibilitě se budete moci dostat na dno téměř jakéhokoli problému, který lze diagnostikovat pomocí sběru metrických dat!
Adam Bertram je 20 + rok Veterán IT a zkušený online obchodní profesionál. Je konzultantem, MVP společnosti Microsoft, bloggerem, trenérem, publikovaným autorem a obchodníkem s obsahem pro více technologických společností. Dohnat Adamovy články na adamtheautomator.com, připojte se na LinkedIn nebo ho sledujte na Twitteru na adrese @adbertram.Číst Celé Bio “