- Adam Bertram
@ adbertram
- 6. April 2020, 11:18 EDT
En av De mer oversett verktøyene I Windows Er Perfmon, ellers kjent som performance monitor. Dette verktøyet har mange oversett evner, en av dem er evnen til å varsle på ulike metriske forhold. I denne artikkelen undersøker vi hvordan Du skal bruke perfmons varslingsevne med høy CPU-bruk.
Hva Er Perfmon?
Tilgjengelig Siden De tidlige Dagene Av Windows i ulike gjentakelser, Er Performance Monitor tilgjengelig SOM EN MMC snap-in Til Windows ment å bistå i overvåking systembruk og ulike ytelsesmålinger. Standardvisningen ved lansering fremhever noen forskjellige områder og sanntidsmålinger.
- Ytelsesmåler-sanntidsvisning av beregninger
- Datainnsamlingssett-Definert innsamling av data over et gitt tidsintervall
- Rapporter – slik viser du dataene som er samlet inn I Datainnsamlingssettene
Hvis Ytelsesmåler ikke startes Som Administrator, vil verktøyet være begrenset, og Du kan ikke se Datainnsamlingssettene eller Rapportene.
Vise Beregninger
når du først klikker På Ytelsesmåler, vises et bevegelig linjediagram som standard er %Processor Time
. Dette er i seg selv ikke veldig nyttig da dataene er en rullende verdi, og egentlig vil vi vite om det er ugunstige forhold.
Du kan legge til flere beregninger i denne grafen ved å klikke på det grønne pluss og legge til flere beregninger. Husk at verdiskalaen kanskje ikke samsvarer mellom forskjellige datapunkter, og kan derfor være av mindre bruk når den kombineres på en enkelt graf.
Datainnsamlingssett
Sanntidsdata er nyttig, men ikke det vi til slutt ser etter. Hvordan varsler vi på visse forhold, i dette tilfellet, høy CPU-bruk opprettholdt over tid?
Det er her Datainnsamlingssettene kommer inn. Etter å ha utvidet Datainnsamlingssettene, høyreklikker du På Brukerdefinert → Nytt →
Du vil bli presentert med muligheten til å navngi settet og om du vil opprette settet fra en mal eller å opprette settet manuelt. I dette tilfellet må vi manuelt opprette konfigurasjonen.
I dette tilfellet setter vi opp En Ytelse Counter Alert. Dette vil overvåke en gitt teller, og da kan vi fortelle varselet om å ta visse handlinger.
Siden vi ønsker å overvåke den totale CPU-prosentandelen, er det viktigst å velge riktig metrisk å overvåke. Her velger Vi Prosessor → _Total ved å klikke på «Legg til > >» ved siden av den valgte forekomsten.
ett problem er at du får alle Prosessor _Total beregninger. Til slutt vil vi bare ha \Processor(_Total)\% Processor Time
metriske. For å fjerne de andre, velg hver og klikk På Fjern-knappen.
Dessverre, slik fjern fungerer, kan du ikke bare klikke på fjern-knappen flere ganger når den flytter det valgte elementet tilbake til toppen hver gang. Velg hver beregning individuelt og klikk På Fjern.
Vi må nå fortelle ytelsestelleren på hvilket tidspunkt varselet skal starte, og i dette tilfellet ser vi ut til å bare varsle når over 95
.
til slutt lagrer og lukker Datainnsamlingssettet.
Konfigurere Varsler
med vår standardkonfigurasjon ut av veien, må vi nå konfigurere Hvilken Varslingshandling som skal finne sted. Det er to måter å angi varsler, Alert Handling og Alert Oppgave. Velg Ditt Brukerdefinerte → datainnsamlingssett Med høy CPU-BRUK, høyreklikk på standard DataCollector01
og velg Egenskaper.
den enkleste måten å starte overvåking oppføringer er å navigere til Kategorien Varsling Handling og klikk på boksen For «Logg en oppføring I Programhendelsesloggen». Du har også muligheten til å starte et annet datainnsamlingssett når kriteriene for et varsel er oppfylt. På denne måten kan du samle inn ekstra logging etter behov. Her skjønt, vi skal bare logge en oppføring.
Konfigurere En Varslingsoppgave
Dette er alt bra og bra, men til slutt får vi ikke et faktisk varsel i dette tilfellet, bare en ny hendelsesloggoppføring. I Kategorien Varslingsoppgave kan vi fortelle Denne Datainnsamleren å starte en planlagt oppgave, og sende noen parametere, som deretter kan utføre hvilke varslingshandlinger vi vil ha det til. For å gjøre dette arbeidet må vi gjøre to ting. Opprett skriptet for å kjøre og den planlagte oppgaven selv.
Logging Script
Nedenfor Er et veldig enkelt logging script. Vi leser i varslingsberegningene som sendes ut Av Varslingsoppgaven, og sender disse resultatene til en loggfil.
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'
Planlagt Oppgave
Her må vi opprette den planlagte oppgaven som faktisk vil kjøre skriptet ved påkalling av Datainnsamleren. Vi bruker PowerShell til å lage den planlagte oppgaven og bruke PowerShell 7 som kjøretid, som betegnet av pwsh.exe
kjørbar.
$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'
Til PowerShell 7 er formelt utgitt, kan den kjørbare filen være pwsh-preview.exe
.
Konfigurere Varslingsoppgave
Til Slutt må Vi konfigurere Varslingsoppgaven på Datainnsamleren. For å gjøre dette naviger til egenskapene igjen av DataCollector01
og skriv inn følgende detaljer.
vi siterer oppgaveargumentene fordi De kommer inn som strenger Til PowerShell. Derfor, ved å sitere dem, gjør vi det enkelt å skille argumentene ut av indeks, dvs.
$arg
eller$arg
.
når du klikker på lagre, kan du bli bedt om en legitimasjon, dette bør være en bruker Med Administratortilgang.
Kjøre Datainnsamleren
ved å høyreklikke På Datainnsamlingssettet, HØY CPU-Bruk og velge Start, starter du innsamlingsprosessen. Hvis Du overvåker De Planlagte Oppgavene, vil du se at den nyopprettede planlagte oppgaven kjøres regelmessig, avhengig av overvåkingsintervallet og terskelsettet.
Konklusjon
ved å bruke de innebygde overvåkingsverktøyene I Windows, kan du strukturere noen nyttige og kraftige overvåkingsløsninger rundt kjerneverktøy og PowerShell. Med denne fleksibiliteten vil du kunne komme til bunnen av nesten alle problemer som kan diagnostiseres via metrisk datainnsamling!
Adam Bertram er en 20 + år veteran AV IT og en erfaren online business profesjonell. Han er konsulent, Microsoft MVP, blogger, trener, publisert forfatter og innhold markedsfører for flere teknologibedrifter. Fang Opp På Adams artikler på adamtheautomator.com, koble På LinkedIn, eller følg ham På Twitter på @ adbertram.Les Hele Bio »