Wie kann ich die Nutzung meiner Lightsail-Ressourcen von der Befehlszeile aus überwachen?

Lesedauer: 8 Minute
0

Meine in Amazon Lightsail gehostete Website oder Anwendung ist ausgefallen oder läuft sehr langsam. Ich möchte meine Lightsail-Ressourcennutzung von der Befehlszeile aus überwachen, um diese Probleme zu beheben.

Kurzbeschreibung

Mehrere Faktoren wirken sich auf Dienste aus, die auf Lightsail-Instances ausgeführt werden, darunter eine hohe Auslastung der Ressourcen. Verwenden Sie gängige Tools, um Ressourcen wie CPU, Arbeitsspeicher, Festplatten-I/O und Netzwerknutzung auf Lightsail-Instances zu überwachen. Dies ist in Echtzeit von der Befehlszeile aus möglich. Die Tools bieten einen detaillierten Überblick, welche Prozesse am meisten CPU, Arbeitsspeicher, Festplatten-I/O oder Netzwerkleistung beanspruchen.

Verwenden Sie folgende Hilfsmittel, um die Ressourcen Ihrer Lightsail-Instance von der Befehlszeile aus zu analysieren und zu überwachen:

  • Das Tool atop
  • Das Tool htop
  • Die Befehle iostat, vmstat und mpstat

Lösung

Das Tool atop

Das Tool atop meldet die Aktivität aller Prozesse, auch wenn diese Prozesse innerhalb des angegebenen Intervalls abgeschlossen wurden. Es protokolliert kontinuierlich alle relevanten Systeminformationen. Aufgrund dieser kontinuierlichen Protokollierung stehen Ihnen bei erneuten Problemen historische Daten zur Verfügung, die Sie analysieren können. Das Tool atop ist in den offiziellen Repositorys der meisten Linux-Distributionen enthalten. Installieren Sie atop, indem Sie die folgenden Befehle ausführen:

Systeme auf Basis von Red Hat

$ sudo yum install atop

Systeme auf Basis von Debian

$ sudo apt install atop

Das Tool atop protokolliert standardmäßig alle Aktivitäten in Intervallen von 600 Sekunden. Führen Sie den folgenden Befehl aus, um die Konfiguration des Tools so zu ändern, dass Aktivitäten in Intervallen von 60 Sekunden protokolliert werden:

Systeme auf Basis von Red Hat

$sudo sed 's/600/60/' /etc/atop/atop.daily -i

Systeme auf Basis von Debian

$ sudo sed 's/600/60/' /etc/default/atop -i

Nachdem Sie den Befehl ausgeführt haben, protokolliert atop alle Aktivitäten innerhalb von 60-Sekunden-Intervallen. Die Daten werden in Protokolldateien in /var/log/atop gespeichert. Diese Dateien haben das Format „atop_jjjjmmtt“. Beispielsweise ist „atop_20230902“ die Aufzeichnung für den 2. September 2023.

Um auf die Protokolldatei zuzugreifen, führen Sie den Befehl atop -r atologfilepath aus. Der Befehl und die Protokolldatei erscheinen im folgenden Beispiel:

atop -r /var/log/atop/atop_20210902

ATOP - ip-172-20-139-91                2021/09/02  17:03:44                ----------------                 3h33m7s elapsed
PRC |  sys    6.51s  |  user   7.85s  |  #proc    103  |  #tslpi    81 |  #tslpu     0  |  #zombie    0  |  #exit      0  |
CPU |  sys     0%  |  user      3%  |  irq       0%  |  idle    197% |  wait      0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu000 w  0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu001 w  0%  |  ipc notavail  |  curscal   ?%  |

In diesem Ausgabebeispiel datiert der erste aufgezeichnete Snapshot auf den 02.09.2021, 17:03:44 Uhr. Drücken Sie die Taste „t“ auf der Tastatur, um zum nächsten Snapshot zu gelangen. Um zum vorherigen Snapshot zurückzukehren, drücken Sie die Taste „T“ (Großbuchstabe „T“).

Die folgenden Optionen werden häufig verwendet, um mit atop zu starten:

Nach Speicher sortieren

$ atop -m

Nach Datenträgerdetails sortieren

$ atop -d

Nach Netzwerkdetails sortieren

$ atop -n

Das Tool htop

Das Tool htop ist eine interaktive Anwendung zur Echtzeit-Prozessüberwachung für Linux, die die Auslastung pro CPU oder Kern anzeigt. Es bietet außerdem ein Textdiagramm der Speicher- und Swap-Nutzung.

Installieren Sie htop, indem Sie die folgenden Befehle ausführen:

Systeme auf Basis von Red Hat

$ sudo yum install htop

Systeme auf Basis von Debian und Ubuntu

$ sudo apt install htop

Verwenden Sie den folgenden Befehl, um htop auf Ihrem System auszuführen:

$ htop

Das Tool htop führt alle aktuell auf dem System laufenden Prozesse auf und gibt an, wie viel CPU und Speicher jeder Prozess verwendet. Ebenso wird der Befehl angezeigt, mit dem jeder Prozess gestartet wurde.

Die Spalten in der Ausgabe sind wie folgt definiert:

  • PID: Eine Prozess-ID-Nummer für den Prozess.
  • BUSER: Der Prozessbesitzer.
  • PR: Die Priorität des Prozesses. Je niedriger die Zahl, desto höher die Priorität.
  • NI: Der Nice-Wert des Prozesses, der sich auf seine Priorität auswirkt.
  • VIRT: Wie viel virtuellen Speicher der Prozess verwendet.
  • RES: Wie viel physischen RAM der Prozess verwendet, gemessen in Kilobyte.
  • SHR: Wie viel gemeinsam genutzten Speicher der Prozess verwendet.
  • S: Der aktuelle Status des Prozesses.
  • CPU: Der Prozentsatz der vom Prozess verwendeten Prozessorzeit.
  • MEM: Der Prozentsatz des vom Prozess verwendeten physischen Arbeitsspeichers.
  • TIME+: Wie viel Prozessorzeit der Prozess verwendet hat.
  • COMMAND: Der Name des Befehls, der den Prozess gestartet hat.

Die Befehle iostat, vmstat und mpstat

Die Befehle iostat, vmstat und mpstat sind Teil des sysstat-Pakets. Verwenden Sie die folgenden Befehle, um diese Tools in Ihrer Lightsail-Instance zu installieren:

Systeme auf Basis von Red Hat wie Amazon Linux, CentOS oder RHEL

$ sudo yum install sysstat

Debian und Ubuntu

$ sudo apt-get install sysstat

Verwenden Sie die folgenden Befehle, um sysstat für die kontinuierliche Datenerfassung zu starten und einzurichten:

$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat

Der Befehl „iostat“

Der Befehl iostat sammelt und zeigt Systemeingabe- und -ausgabestatistiken für Speichergeräte an. Dieses Tool wird häufig verwendet, um Leistungsprobleme von Speichergeräten, einschließlich Geräten und Festplatten, zu verfolgen. Die folgenden Iostat-Optionen werden häufig verwendet:

  • iostat: Berichte und Statistiken abrufen.
  • iostat -x: Zeigt detailliertere Statistiken an.
  • iostat -c: Zeigt nur die CPU-Statistik an.
  • iostat -d: Zeigt nur den Gerätebericht an.
  • iostat -xd: Zeigt erweiterte I/O-Statistiken nur für das Gerät an.

Nachfolgend sehen Sie eine Beispielausgabe des iostat-Befehls:

$ iostat
Linux 4.14.246-187.474.amzn2.x86_64     10/22/2021     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.34    0.00    1.36    1.06    1.67   90.58

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             41.64      1496.90       890.16     502148     298612

Der Befehl „vmstat“

Der Befehl vmstat (Virtual Memory Statistics) zeigt Informationen über Systemspeicher, Prozesse, Interrupts, Paging und Block-I/O an. Mit dem Befehl vmstat können Sie ein Erfassungsintervall angeben, um die Systemaktivität nahezu in Echtzeit zu beobachten. Nachfolgend sehen Sie eine Beispielausgabe des vmstat-Befehls:

$ vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 1409320 2088 485404 0 0 568 724 232 393 4 2 93 1 1
0 0 0 1409332 2088 485404 0 0 0 67 146 261 0 0 100 0 0
0 0 0 1408916 2088 485404 0 0 0 0 157 276 0 0 100 0 0
0 0 0 1408980 2088 485408 0 0 0 0 161 259 0 0 100 0 0
0 0 0 1408984 2088 485408 0 0 0 0 105 190 0 0 100 0 0

Die folgenden Optionen werden häufig mit dem vmstat-Befehl verwendet:

Die Option -a zeigt den aktiven und inaktiven Speicher des Systems an:

$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
2 0 0 1402016 311232 218864 0 0 60 77 74 129 0 0 99 0 0

Die Option -d meldet Festplattenstatistiken:

$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
nvme0n1 7728 25 433681 4544 3133 93 555950 4196 0 1

Der Befehl „mpstat“ dient zur Anzeige von Leistungsstatistiken für alle logischen Prozessoren im System. Wenn Sie den Befehl mpstat ohne Optionen ausführen, wird ein einziger Bericht generiert, der die Leistungsstatistiken für alle logischen Prozessoren seit dem Systemstart enthält.

$ mpstat
Linux 4.18.0-305.el8.x86_64 (ip-xxx-xx-x-xx.ec2.internal)     10/27/2021     _x86_64_    (2 CPU)

04:23:26 PM  CPU    %usr   %nice    %sys  %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
04:23:26 PM  all    8.42    0.13    2.43    1.49     0.18    0.05    0.22    0.00    0.00   87.08

Die erste Zeile im vorherigen Beispiel besteht aus einer Reihe von Spaltenbeschriftungen. Die zweite Zeile ist der Wert für jede Spalte:

  • %usr: % CPU-Auslastung auf Benutzerebene.
  • %nice: % CPU-Auslastung für Benutzerprozesse, die als „nice“ gekennzeichnet sind.
  • %sys: % CPU-Auslastung auf Systemebene (Linux-Kernel).
  • %iowait: % CPU-Auslastung im Leerlauf beim Warten auf eine Festplatte mit Lese-/Schreibzugriff.
  • %irq: % CPU-Auslastung, die Hardware-Interrupts verarbeitet.
  • %soft: % CPU-Auslastung, die Software-Interrupts verarbeitet.
  • %steal: % CPU-Auslastung, die gezwungen ist, auf einen Hypervisor zu warten, der andere virtuelle Prozessoren verarbeitet.
  • %guest: % CPU-Auslastung, die für einen virtuellen Prozessor aufgewandt wird.
  • Leerlauf: % CPU-Auslastung während der Leerlaufzeit (keine Prozesse und kein Warten auf eine Festplatte mit Lese-/Schreibzugriff).

Nutzen Sie die genannten Befehlszeilentools, um Prozesse mit hohem Ressourcenverbrauch zu identifizieren. Verwenden Sie die ermittelten Informationen, um Instances mit ausreichenden Ressourcen für Ihre Arbeitslast auszuwählen.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 9 Monaten