Hoe het opzetten van Monitoring te waarschuwen op Windows hoog systeemgebruik

  • Adam Bertram

    @adbertram

  • 6 April 2020, 11: 18am EDT

Perfmon

een van de meer over het hoofd gezien gereedschappen in Windows is Perfmon, ook wel bekend als Prestatiemeter. Dit hulpprogramma heeft veel over het hoofd gezien vaardigheden, een van hen is de mogelijkheid om te waarschuwen op verschillende metrische omstandigheden. In dit artikel onderzoeken we hoe we het waarschuwingsvermogen van Perfmon correct kunnen gebruiken met een hoog CPU-gebruik.

Wat is Perfmon?

beschikbaar sinds het begin van Windows in verschillende iteraties, is Prestatiemeter beschikbaar als een MMC-module voor Windows, bedoeld om te helpen bij het monitoren van systeemgebruik en verschillende prestatiemetingen. De standaardweergave bij de lancering benadrukt een paar verschillende gebieden en real-time statistieken.

  • Prestatiemeter-Real-time weergave van statistieken
  • Gegevensverzamelaarsets-gedefinieerde verzameling van gegevens over een bepaald tijdsinterval
  • rapporten-hoe de in de Gegevensverzamelaarsets verzamelde gegevens te bekijken

als Prestatiemeter niet wordt gestart als beheerder, is het hulpprogramma beperkt en ziet u mogelijk de Gegevensverzamelaarsets of-Rapporten niet.

kijkcijfers

wanneer u voor het eerst op Prestatiemeter klikt, wordt u een bewegende lijngrafiek getoond die standaard %Processor Timeis. Dit is op zich niet erg nuttig omdat de gegevens een rolling value zijn en we echt willen weten of er ongunstige omstandigheden zijn.

u kunt extra statistieken toevoegen aan deze grafiek, door op de groene plus te klikken en meer statistieken toe te voegen. Houd er rekening mee dat de waardeschaal niet kan overeenkomen tussen verschillende gegevenspunten en daarom van minder nut kan zijn wanneer gecombineerd op een enkele grafiek.

Gegevensverzamelaarsets

Real-time gegevens zijn nuttig, maar niet wat we uiteindelijk zoeken. Hoe dan doen we alert op bepaalde voorwaarden, in dit geval, hoge CPU-gebruik aanhoudende na verloop van tijd?

advertentie

Dit is waar Gegevensverzamelaarsets van belang zijn. Na het uitbreiden van Gegevensverzamelaarsets, klik met de rechtermuisknop op User Defined → New → gegevensverzamelaarset.

u krijgt de optie om de set een naam te geven en of u de set van een sjabloon wilt maken of de set handmatig wilt maken. In dit geval moeten we onze configuratie handmatig maken.

In dit geval zetten we een Performance Counter Alert op. Dit zal een bepaalde teller controleren en dan kunnen we de alert vertellen om bepaalde acties te ondernemen.

aangezien we op zoek zijn naar het totale CPU-percentage te controleren, is het zeer belangrijk om de juiste metriek te kiezen om te controleren. Hier kiezen we Processor → _Total door te klikken op “Add >>” naast de geselecteerde instantie.

advertentie

een probleem is dat u alle Processor _totale metrics krijgt. Uiteindelijk willen we alleen de \Processor(_Total)\% Processor Time metriek. Om de anderen te verwijderen, selecteert u elk en klik op de knop Verwijderen.

helaas, de manier waarop het verwijderen werkt, Je kunt niet gewoon klikken op de knop Verwijderen meerdere keren als het verplaatst het geselecteerde item terug naar de top elke keer. Selecteer elke metriek afzonderlijk en klik op verwijderen.

we moeten nu de prestatieteller vertellen op welk punt de waarschuwing moet beginnen en in dit geval, we zijn op zoek naar het alarm alleen wanneer boven 95.

sla tot slot de gegevensverzamelaarset op en sluit deze.

waarschuwingen configureren

met onze standaardconfiguratie uit de weg, moeten we nu configureren welke Waarschuwingsactie er gaat plaatsvinden. Er zijn twee manieren om de waarschuwingen, Alert actie en Alert taak in te stellen. Selecteer uw User Defined → high CPU Usage data collector set, klik met de rechtermuisknop op de standaard DataCollector01 ingang en kies Eigenschappen.

de eenvoudigste manier om te beginnen met het controleren van items is om te navigeren naar de Alert actie tab en klik op het selectievakje voor “Log een item in de toepassing event log”. U hebt ook de handige optie om een andere gegevensverzamelaarset te starten wanneer aan de criteria voor een waarschuwing wordt voldaan. Op deze manier kunt u extra logging verzamelen als dat nodig is. Hier echter, we gaan gewoon om een item in te loggen.

het configureren van een Waarschuwingstaak

dit is allemaal goed en wel, maar uiteindelijk krijgen we in dit geval geen echte waarschuwing, alleen een nieuw gebeurtenislogboek. Op het tabblad Waarschuwingstaak kunnen we deze gegevensverzamelaar vertellen een geplande taak te starten en enkele parameters te verzenden, die vervolgens de gewenste waarschuwingsacties kunnen uitvoeren. Om dit te laten werken, moeten we twee dingen doen. Maak het script om uit te voeren en de geplande taak zelf.

Logging Script

Hieronder is een zeer eenvoudig logging script. We lezen in de alert metrics uitgevoerd door de Alert taak en stuur die resultaten naar een logbestand.

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' 

geplande taak

hier moeten we de geplande taak aanmaken die het script daadwerkelijk zal uitvoeren na aanroep door de gegevensverzamelaar. We gebruiken PowerShell om de geplande taak aan te maken en gebruiken PowerShell 7 als de run-time, zoals aangegeven door het pwsh.exe uitvoerbare bestand.

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

totdat PowerShell 7 formeel is vrijgegeven, kan het uitvoerbare bestand pwsh-preview.exezijn.

Waarschuwingstaak

ten slotte moeten we de Waarschuwingstaak op de gegevensverzamelaar configureren. Om dit te doen navigeer opnieuw naar de eigenschappen van DataCollector01 en voer de volgende details in.

We citeren de taakargumenten omdat ze als strings in PowerShell komen. Daarom maken we het door ze te citeren gemakkelijk om de argumenten te scheiden per index, dat wil zeggen $arg of $arg.

zodra u op Opslaan klikt, kunt u gevraagd worden om een referentie, dit moet een gebruiker zijn met beheerderstoegang.

de gegevensverzamelaar

uitvoeren door met de rechtermuisknop te klikken op de gegevensverzamelaarset, hoog CPU-gebruik en Start te selecteren, begint u met het verzamelen. Als u de geplande taken controleert, ziet u dat de nieuw gemaakte geplande taak periodiek wordt uitgevoerd, afhankelijk van de ingestelde bewakingsinterval en drempelwaarde.

conclusie

door de ingebouwde monitoringtools van Windows te gebruiken, kunt u een aantal nuttige en krachtige monitoringoplossingen structureren rond kernhulpprogramma ‘ s en PowerShell. Met deze flexibiliteit, zult u in staat zijn om tot de bodem van bijna elk probleem dat kan worden gediagnosticeerd via metrische gegevensverzameling!

Adam Bertram
Adam Bertram is al meer dan 20 jaar IT-veteraan en een ervaren online business professional. Hij is een consultant, Microsoft MVP, blogger, trainer, gepubliceerd auteur en content marketeer voor meerdere technologiebedrijven. In te halen op Adam ‘ s artikelen op adamtheautomator.com, verbinding maken op LinkedIn, of volg hem op Twitter op @adbertram.Lees De Volledige Bio ”

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.