So überwachen Sie die CPU-Auslastung in Linux im Laufe der Zeit

0 Comments
  • Anthony Heddings
  • April 23, 2020, 10:00am EDT

Das Dienstprogramm top zeigt die aktuelle CPU-Auslastung für jeden laufenden Prozess an, aber was ist, wenn Sie dies im Laufe der Zeit überwachen und in einem Diagramm anzeigen möchten? Es gibt einige Dienstprogramme dafür, wenn Ihr Cloud-Anbieter noch keines hat.

Wenn Sie es noch nicht installiert haben, ist das Dienstprogramm htop (oben abgebildet) viel schöner als das Standardprogramm top.,

Die triviale Lösung: Verwenden Sie die Diagramme Ihres Cloud-Anbieters

Diese Lösung ist bei weitem am einfachsten zu verwenden, aber nicht für jedermann verfügbar. Wenn Sie auf AWS sind, macht CloudWatch die Überwachung der CPU-Auslastung sehr einfach.

Wählen Sie in der CloudWatch-Verwaltungskonsole „Metriken“ aus und zeigen Sie dann Metriken für EC2 an. Die Metrik „CPUUtilization“zeigt Ihre durchschnittliche CPU-Auslastung an:

<

Ihre durchschnittliche CPU-Auslastung wird in Schritten von 5 Minuten gemessen, Sie können jedoch eine erweiterte Überwachung für die Instanz aktivieren und sie auf 1 Minute erhöhen., Dies kostet jedoch zusätzliche Kosten. Sie können auch einfach Alarme einstellen, wenn die CPU-Auslastung zu hoch wird.

Wenn Sie sich auf der Google Cloud Platform befinden, wird bei Auswahl einer Instanz auf der Registerkarte „Überwachung“ ein Diagramm angezeigt.

Azure hat Azure Monitor, der ähnliche Informationen anzeigt:

Für die meisten anderen Cloud-Anbieter haben sie wahrscheinlich auch ein Diagramm wie dieses.

Mit /proc / loadavg

Der beste Weg, dies nativ zu tun, ist zu sehen, woher top seine Informationen erhält. /proc/loadavg enthält 1-Minuten -, 5-Minuten-und 15-Minuten-Durchschnittswerte., Sie können es mit cat

cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429

Sie können dies verwenden, um ein Diagramm zu generieren, indem Sie jede Zeile in eine kommagetrennte CSV-Datei mit awk magic:

cat /proc/loadavg | awk "{print $1","$2","$3}" >> cpu.csv

Haken Sie dies an eine cron Job läuft jede Minute, drehen Sie Protokolle mit logrotate, und Sie haben sich einen Jerry-manipulierten CPU-Monitor. Sie können die CSV-Datei in Excel importieren, wo Sie die durchschnittliche CPU-Auslastung in einem Liniendiagramm einfach darstellen können.,

Werbung

Beachten Sie, dass der obige Befehl die Durchschnittswerte für 1 Minute, 5 Minuten und 15 Minuten ausgibt. Wenn Sie es jede Minute ausführen, ist es nicht wirklich notwendig, die 5 – und 15-Minuten-Durchschnittswerte zu drucken, da Sie dies rechnerisch herausfinden können.

sysstat installieren

Das Dienstprogramm sar eignet sich hervorragend zur Überwachung der Systemleistung. Es ist als Teil von sysstat, das wahrscheinlich nicht standardmäßig auf Ihrem System installiert ist. Sie müssen es vom Paketmanager Ihrer Distribution abrufen., Für Debian-basierte Systeme wie Ubuntu wäre es:

sudo apt-get install sysstat

Aktivieren Sie es als nächstes, indem Sie /etc/default/sysstat bearbeiten und“ ENABLED “ auf true setzen.

Dabei überwacht Ihr System und erzeugt einen Bericht alle 10 Minuten, drehen sie nach einer Woche. Sie können dieses Verhalten ändern, indem Sie die sysstat-Crontab unter /etc/cron.d/sysstat bearbeiten oder die Rotationseinstellungen unter sysstat unter /etc/sysstat/sysstatändern.,

Sie können einen Echtzeitbericht mit dem folgenden Befehl generieren:

sar -u 1 3

sysstat sammelt jede Minute Hintergrund-CPU-Nutzungsdaten und speichert sie in /var/log/sysstat/. Sie können diese Daten dann zur Analyse importieren, indem Sie entweder ein Tabellenkalkulationsprogramm oder ein benutzerdefiniertes Tool wie sargraph verwenden, das ein schönes Diagramm anzeigt:

Sie können auch Befehlszeilenprogramme zum Zeichnen solcher Diagramme verwenden, z. B. ttyplot, aber keiner von ihnen ist so einfach zu bedienen (und so gut aussehend) wie eine GUI., Die Befehlszeile ist auf diesem Beat-Charts sind schöner.

Monit kann Sie alarmieren, wenn die CPU-Auslastung zu hoch ist

Monit ist eine Open-Source-Überwachungssuite für Unix, die den Zustand Ihres Servers überprüft und so konfiguriert werden kann, dass Sie Benachrichtigungen senden, wenn die CPU-Auslastung Ihres Servers gefährlich hoch wird. Lesen Sie unseren Leitfaden zum Einrichten, um mehr zu erfahren.

Werbung

Beachten Sie, dass CloudWatch mit Alarmen sofort dasselbe erreicht und mit mehreren verschiedenen Metriken arbeiten kann, nicht nur mit der CPU-Auslastung.,

Anthony Heddings
Anthony Heddings ist der Resident Cloud Engineer für LifeSavvy Media, ein technischer Autor, Programmierer und ein Experte bei Amazon AWS-Plattform. Er schrieb Hunderte von Artikeln für How-To Geek und CloudSavvy es, die Millionen Mal gelesen wurden.Lesen Sie die vollständige Biografie “


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.