Wie kann ich meine Lightsail-Ressourcennutzung über die Befehlszeile überwachen?

Lesedauer: 8 Minute
0

Meine Website oder Anwendung, die in Amazon Lightsail gehostet wird, ist ausgefallen oder läuft sehr langsam. Wie kann ich die Nutzung meiner Lightsail-Ressourcen von der Befehlszeile aus überwachen, damit ich diese Probleme beheben kann?

Kurzbeschreibung

Es gibt mehrere Faktoren, einschließlich einer hohen Ressourcenauslastung, die Dienste beeinflussen, die auf Lightsail-Instances ausgeführt werden. Mit gängigen Tools können Sie Ressourcen wie CPU, Speicher, Disk I/O und Netzwerkauslastung auf Lightsail-Instances in Echtzeit von der Befehlszeile aus überwachen.

Die Analyse und Überwachung der Ressourcennutzung von Lightsail-Instances von der Befehlszeile aus bietet System-Insights in Echtzeit. Dies erlaubt auch eine granulare Ansicht darüber, welche Prozesse die CPU, den Speicher, Disk I/O oder das Netzwerk am meisten verwenden.

Im Folgenden finden Sie Ressourcen, mit denen Sie die Ressourcen Ihrer Lightsail-Instance über die Befehlszeile analysieren und überwachen können:

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

Auflösung

Das atop-Tool

Das atop-Tool meldet die Aktivität aller Prozesse, auch wenn diese Prozesse während des angegebenen Intervalls abgeschlossen wurden. Dieses Tool protokolliert kontinuierlich alle relevanten Systeminformationen. Aufgrund dieser kontinuierlichen Protokollierung können Sie historische Daten analysieren, wenn Probleme erneut auftreten. Das atop-Tool ist in offiziellen Repositorien für die meisten Linux-Distributionen enthalten. Installieren Sie das atop-Tool, indem Sie die folgenden Befehle ausführen:

Red-Hat-basierte Systeme

$ sudo yum install atop

Debian-basierte Systeme

$ sudo apt install atop

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

Red-Hat-basierte Systeme

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

Debian-basierte Systeme

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

Nach dem Ausführen des vorhergehenden Befehls protokolliert atop alle Aktivitäten innerhalb von 60-Sekunden-Intervallen. Die Daten werden in Protokolldateien in /var/log/atop gespeichert. Diese Dateien werden im folgenden Format atop_ccyymmdd benannt. Zum Beispiel ist atop_20210902 die Aufzeichnung für den 2. September 2021.

Um auf die Protokolldatei zuzugreifen, führen Sie den Befehl atop -r atoplogfilepath aus. Der Befehl und die Protokolldatei sind im folgenden Beispiel zu sehen:

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   ?%  |

Im vorangegangenen Ausgabebeispiel war der erste aufgezeichnete Snapshot um 02.09.2021 17:03:44. Um zum nächsten Snapshot zu gelangen, drücken Sie die Taste t auf der Tastatur. Um zum vorherigen Snapshot zurückzukehren, drücken Sie die Taste T (Großes t).

Hier sind häufig verwendete Optionen, mit denen Sie atop starten können:

Sortieren nach Speicher

$ atop -m

Sortieren nach Festplatten-Details

$ atop -d

Sortieren nach Netzwerkdetails

$ atop -n

Das htop-Tool

Das htop-Tool ist eine interaktive Prozessüberwachungsanwendung in Echtzeit für Linux, die Ihre Auslastung pro CPU oder Kern anzeigt. Dieses Tool bietet auch ein aussagekräftiges Textdiagramm Ihres Speichers und Ihrer Swap-Nutzung.

Führen Sie die folgenden Befehle aus, um htop zu installieren:

Red-Hat-basierte Systeme

$ sudo yum install htop

Debian- und Ubuntu-basierte Systeme

$ sudo apt install htop

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

$ htop

Das htop-Tool listet alle laufenden Prozesse auf dem System auf und erfasst Informationen darüber, wie viel CPU und Speicher jeder Prozess verwendet. Der Befehl zum Starten des Prozesses ist ebenfalls enthalten.

Das Folgende sind Definitionen für jede Spalte in der Ausgabe:

  • PID: Eine Prozess-ID-Nummer für den Prozess.
  • BUSER: Der Prozesseigentümer.
  • PR: Die Priorität des Prozesses. Je niedriger die Zahl, desto höher ist die Priorität.
  • NI: Der Nice-Wert des Prozesses, der seine Priorität beeinflusst.
  • VIRT: Wie viel virtuellen Speicher der Prozess verwendet.
  • RES: Wie viel physischen RAM der Prozess verwendet, gemessen in Kilobyte.
  • SHR: Wie viel Shared Memory der Prozess verwendet.
  • S: Der aktuelle Status des Prozesses (zombied, schlafend, läuft, ununterbrochen schlafend oder verfolgt).
  • CPU: Der Prozentsatz der vom Prozess verwendeten Prozessorzeit.
  • MEM: Der Prozentsatz des physischen RAM, der vom Prozess verwendet wird.
  • TIME+: Wie viel Prozessorzeit der Prozess verbraucht 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-Bündels. Verwenden Sie die folgenden Befehle, um diese Tools in Ihrer Lightsail-Instance zu installieren:

Red-Hat-basierte Systeme 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 zu starten und für die kontinuierliche Datenerfassung zu aktivieren:

$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat

‚iostat‘-Befehl

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

  • iostat: Erhalten Sie einen Bericht und Statistiken.
  • iostat -x: Zeigen Sie detailliertere Statistikinformationen an.
  • iostat -c: Zeigen Sie nur die CPU-Statistik an.
  • iostat -d: Zeigen Sie nur den Gerätebericht an.
  • iostat -xd: Zeigen Sie erweiterte I/O-Statistiken nur für das Gerät an.

Es folgt ein Beispiel für eine iostat-Befehlsausgabe:

$ 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

'vmstat'-Befehl

Der Befehl vmstat (Virtual Memory Statistics) sammelt und zeigt Informationen über Systemspeicher, Prozesse, Interrupts, Paging und Block-I/O an. Mit dem Befehl vmstat können Sie ein Abtastintervall festlegen, mit dem die Systemaktivität nahezu in Echtzeit beobachtet werden kann. Es folgt ein Beispiel für den Befehl und die Ausgabe von vmstat:

$ 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

Es folgen häufig verwendete Optionen, die Sie mit dem Befehl vmstat verwenden können:

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

'mpstat'-Befehl Der Befehl mpstat sammelt und zeigt Leistungsstatistiken für alle logischen Prozessoren im System an. Wenn Sie den Befehl mpstat ohne Optionen ausführen, wird ein einziger Bericht generiert, der die Leistungsstatistiken für alle logischen Prozessoren seit der Startzeit 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 vorangegangenen Beispiel ist ein Satz von Spaltenbeschriftungen. Die zweite Zeile enthält den Wert für jede Spalte:

  • %usr: % CPU-Auslastung auf Benutzerebene.
  • %nice: % CPU-Auslastung für als „nice“ ausgewiesene Benutzerprozesse.
  • %sys: % CPU-Auslastung auf Systemebene (Linux-Kernel).
  • %iowait: % CPU-Auslastung im Leerlauf, auf eine Festplattenoperation wartend.
  • %irq: % CPU-Auslastung zur Verarbeitung von Hardwareunterbrechungen.
  • %soft: % CPU-Auslastung zur Verarbeitung von Software-Unterbrechungen.
  • %steal: % CPU-Auslastung, die warten muss, bis ein Hypervisor andere virtuelle Prozessoren verarbeitet.
  • %guest: % CPU-Auslastung zur Ausführung eines virtuellen Prozessors.
  • idle: %CPU-Auslastung im Leerlauf (keine Prozesse und kein Warten auf eine Festplattenoperation).

Mithilfe der vorhergehenden Befehlszeilentools können Sie die Prozesse mit hoher Ressourcennutzung identifizieren. Und Sie können diese Informationen verwenden, um Instances mit ausreichenden Ressourcen für Ihre Workload auszuwählen.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren