Wie ein Monitoring, Alert auf Windows-High-System-Nutzung

0
205

Einer der mehr übersehen-tools in Windows Perfmon, sonst bekannt als performance-monitor. Dieses utility hat viele übersehen Fähigkeiten, eine davon ist die Fähigkeit, wachsam zu verschiedenen metrischen Bedingungen. In diesem Artikel untersuchen wir, wie man richtig mit der Alarmierung Fähigkeit von Perfmon mit einer hohen CPU-Auslastung.

Was ist Perfmon?

Seit den frühen Tagen von Windows in verschiedenen Iterationen, Performance Monitor ist erhältlich als MMC-snap-in für Windows soll Sie unterstützen bei der überwachung der Verwendung des Systems und verschiedenen performance-Metriken. Die Standardansicht beim Start des highlights ein paar verschiedene Bereiche, und Echtzeit-Metriken.

  • Leistungsüberwachung – Echtzeit-Anzeige der Metriken
  • Data Collector Sets – Definierte Sammlung von Daten in einem bestimmten Intervall
  • Berichte – Wie zum anzeigen der gesammelten Daten in der Data Collector Sets

Wenn Performance Monitor wird nicht gestartet, als Administrator, seine Nützlichkeit begrenzt und Sie können nicht sehen, die Data Collector Sets oder Berichte.

Anzeigen Von Metriken

Beim ersten Klick auf Performance Monitor, den Sie werden gezeigt, eine sich bewegende Linie Diagramm, das standardmäßig auf ” %Processor Time. Diese, von selbst, ist nicht sonderlich hilfreich, da die Daten einen Durchschnittswert und wirklich wollen wir wissen, ob es widrigen Bedingungen.

Sie können fügen Sie zusätzliche Metriken, um das Diagramm, indem Sie auf das grüne plus und das hinzufügen von mehr Metriken. Beachten Sie, dass die Wert-Skala nicht entsprechen kann zwischen verschiedenen Datenpunkten und ist daher möglicherweise weniger verwenden, wenn Sie kombiniert auf einer einzigen Grafik.

Data Collector Sets

Real-time data ist nützlich, aber nicht das, was wir letztendlich suchen. Wie machen wir es dann Warnungen auf bestimmten Bedingungen, in diesem Fall eine hohe CPU-Auslastung auf Dauer?

Dies ist, wo Data Collector Sets kommen in. Nach der Erweiterung Data Collector Sets, mit der rechten Maustaste auf Benutzer Definiert → Neu → Data Collector Set.

Sie werden vorgestellt mit der option, die Namen und ob der Satz aus einer Vorlage oder erstellen, die manuell eingestellt werden. In diesem Fall müssen wir manuell erstellen unsere Konfiguration.

In diesem Fall erstellen wir eine leistungsindikatorenwarnung. Dieser überwacht einen bestimmten Indikator und dann können wir sagen, die Warnung um bestimmte Handlungen zu nehmen.

Da suchen wir überwachen die gesamte CPU-Prozentsatz, ist es sehr wichtig, wählen Sie die richtige Metrik zu überwachen. Hier haben wir die Wahl Prozessor → _Total durch Klick auf “Hinzufügen >>” neben der ausgewählten Instanz.

Ein problem ist, dass du alle Prozessor _Total Metriken. Schließlich wollen wir nicht nur die \Prozessor(_Total)\% Processor Time-Metrik. Entfernen Sie die anderen, die Sie auswählen möchten, und klicken Sie auf die Schaltfläche “Entfernen”.

Leider, die Art und Weise, dass das entfernen funktioniert, können Sie nicht nur klicken Sie auf die Schaltfläche entfernen, mehrere Male, wie es verschiebt das ausgewählte Element zurück auf die oben jeder Zeit. Wählen Sie jede Metrik einzeln und klicken Sie auf Entfernen.

Wir müssen jetzt sagen die performance counter zu welchem Zeitpunkt der Alarm starten soll und in diesem Fall, wir sind auf der Suche, um es Alarm nur, wenn über dem 95.

Endlich, speichern Sie und schließen Sie den sammlungssatz.

Konfigurieren Von Warnungen

Mit unseren Standard-Konfiguration aus dem Weg, wir müssen jetzt was konfigurieren Alarm-Aktion stattfinden. Es gibt zwei Möglichkeiten zum einstellen der Warnungen, die Alert Action-und Alert-Aufgabe. Wählen Sie Ihre benutzerdefinierte → High CPU Usage data collector set, rechts-klicken Sie auf die Standard-DataCollector01 Eintrag und wählen Sie “Eigenschaften”.

Der einfachste Weg, um die überwachung starten-Einträge navigieren Sie zu der Alarm-Registerkarte “Aktion” und klicken Sie auf das Kontrollkästchen “Anmeldung eines Eintrags in das Ereignisprotokoll der Anwendung”. Sie haben auch die komfortable option zum starten eines anderen data collector set, wenn die Kriterien für eine Warnung erfüllt sind. Auf diese Weise können Sie sammeln zusätzliche Protokollierung Bedarf. Hier, aber, wir sind gerade dabei, ein log-Eintrag.

Konfigurieren einer Warnmeldung Aufgabe

Das ist ja alles schön und gut, aber letztendlich, wir sind nicht immer einer tatsächlichen Warnung in diesem Fall einfach einen neuen Eintrag im Ereignisprotokoll. Auf dem Alert-Registerkarte Task können wir sagen, dass diese Datensammler starten Sie einen geplanten task, und senden einige Parameter, die dann führen Sie beliebige alert-Aktionen, die wir wollen. Um diese Arbeit zu machen, müssen wir zwei Dinge tun. Erstellen Sie das Skript ausführen und die geplante Aufgabe selbst.

Logging-Skript

Unten ist ein sehr einfaches logging script. Wir Lesen in der alert-Metriken ausgegeben Alert Aufgabe und senden Sie diese Ergebnisse in eine log-Datei.

HighCPUAlert.ps1

$Datum = $args[0]
$Threshold = $args[1]
$Counter = $args[2]

$Wert = “[{0}] {1} {2} | {3}” -F $Datum, ‘Hohe CPU’, $Schwelle $Counter

Add-Content -Wert $Wert -Pfad ‘C:\HighCPUAlert.log’

Geplanten Task

Hier benötigen wir zum erstellen des geplanten tasks ausführen, tatsächlich das Skript nach Aufruf durch den Data Collector. Wir sind mit PowerShell erstellt die geplante Aufgabe und mithilfe von PowerShell-7, da die run-Zeit, wie gekennzeichnet durch die pwsh.exe ausführbare Datei.

$Params = @{
“Action” = Neue-ScheduledTaskAction -Ausführen “pwsh.exe” -Argument “-NoProfile -Datei C:\HighCPUAlert.ps1 $(Arg0)”
“Principal” = Neue-ScheduledTaskPrincipal -UserId “LOCALSERVICE” -Logontyp ServiceAccount
“Einstellungen” = Neue-ScheduledTaskSettingsSet
}

Neue-ScheduledTask @Params | Register-ScheduledTask ‘HighCPUAlert’

Bis PowerShell-7 ist offiziell freigegeben ist, wird die ausführbare Datei kann sein pwsh-preview.exe.

Konfigurieren Von Alert-Aufgabe

Schließlich brauchen wir Sie zum konfigurieren der Alarm-Task auf die Daten-Sammler. Dies zu tun, navigieren Sie zu den Eigenschaften wieder von DataCollector01 und geben Sie die folgenden Informationen ein.

Wir zitieren die Aufgabe, die Argumente da kommen Sie als strings zu PowerShell. Daher zitieren Sie, wir machen es einfach, trennen Sie die Argumente heraus, die durch den index, d.h. $arg[0] oder $arg[1].

Sobald Sie auf speichern klicken werden Sie aufgefordert, Anmeldeinformationen, dies sollte ein Benutzer mit Administrator-Zugang.

Denen die Daten-Sammler

Indem Sie mit der rechten Maustaste auf die Daten Collector Set, Hohe CPU-Auslastung und der Auswahl Starten, werden Sie beginnen, die Sammlung Prozess. Überwachen Sie die Eingeplanten Aufgaben, sehen Sie die neu erstellte geplante Aufgabe in regelmäßigen Abständen ausführen, je nach der monitoring-Intervall und Schwellenwert festlegen.

Fazit

Mithilfe der built-in monitoring-tools von Windows können Sie die Struktur einige nützliche und leistungsfähige monitoring-Lösungen rund um die Kern-Dienstprogramme und PowerShell. Mit dieser Flexibilität werden Sie in der Lage, auf den Grund zu gehen, die nahezu jedes problem, das diagnostiziert werden kann, die über Metrik-Daten-Sammlung!