Come posso monitorare l'utilizzo delle mie risorse Lightsail dalla linea di comando?

8 minuti di lettura
0

Il mio sito Web o la mia applicazione ospitata in Amazon Lightsail è inattivo o funziona molto lentamente. Desidero monitorare l'utilizzo delle mie risorse Lightsail dalla linea di comando in modo da poter risolvere questi problemi.

Breve descrizione

Esistono diversi fattori, tra cui l'elevato utilizzo delle risorse, che influiscono sui servizi eseguiti su istanze Lightsail. Usa strumenti comuni per monitorare risorse come CPU, memoria, I/O del disco e utilizzo della rete sulle istanze Lightsail. Puoi farlo in tempo reale dalla linea di comando. Gli strumenti consentono una visione granulare di quali processi utilizzano la maggior parte della CPU, della memoria, dell'I/O del disco o della rete.

Le seguenti sono risorse che puoi utilizzare per analizzare e monitorare le risorse della tua istanza Lightsail dalla linea di comando:

  • Lo strumento atop
  • Lo strumento htop
  • I comandi iostat, vmstat e mpstat

Risoluzione

Lo strumento atop

Lo strumento atop riporta l'attività di tutti i processi, anche se tali processi sono terminati durante l'intervallo specificato. Questo strumento registra continuamente tutte le informazioni di sistema rilevanti. Grazie a questa registrazione continua, se i problemi si ripresentano, hai dati storici da analizzare. Lo strumento atop è incluso nei repository ufficiali della maggior parte delle distribuzioni Linux. Installa lo strumento atop eseguendo i seguenti comandi:

Sistemi basati su Red Hat

$ sudo yum install atop

Sistemi basati su Debian

$ sudo apt install atop

Per impostazione predefinita, lo strumento atop registra tutte le attività a intervalli di 600 secondi. Per modificare la configurazione dello strumento atop in modo che le attività vengano registrate a intervalli di 60 secondi, esegui il seguente comando:

Sistemi basati su Red Hat

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

Sistemi basati su Debian

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

Dopo aver eseguito il comando, atop registra tutte le attività entro 60 secondi interni. I dati vengono memorizzati in file di registro in /var/log/atop. Questi file sono denominati nel seguente formato "atop_ccyymmdd". Ad esempio, "atop\ _20230902" è la registrazione del 2 settembre 2023.

Per accedere al file di registro, esegui il comando atop -r atologfilepath. Il comando e il file di registro vengono visualizzati nell'esempio seguente:

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 questo esempio di output, la prima istantanea registrata è stata alle 17:03:44 del 02/09/2021. Per passare all'istantanea successiva, premi il tasto "t" sulla tastiera. Per tornare all'istantanea precedente, premere il tasto "T" ("t" maiuscola).

Di seguito sono riportate le opzioni di uso comune con cui è possibile avviare:

Ordina per memoria

$ atop -m

Ordina per dettagli del disco

$ atop -d

Ordina per dettagli di rete

$ atop -n

Lo strumento htop

Lo strumento htop è un'applicazione di monitoraggio dei processi interattiva e in tempo reale per Linux che mostra l'utilizzo per CPU o core. Questo strumento fornisce anche un grafico testuale dell'utilizzo della memoria e degli swap.

Per installare htop, esegui i seguenti comandi:

Sistemi basati su Red Hat

$ sudo yum install htop

Sistemi basati su Debian e Ubuntu

$ sudo apt install htop

Usa il seguente comando per eseguire htop sul tuo sistema:

$ htop

Lo strumento htop elenca tutti i processi attualmente in esecuzione sul sistema e include informazioni sulla quantità di CPU e memoria utilizzate da ciascun processo. È incluso anche il comando utilizzato per avviare il processo.

Di seguito sono riportate le definizioni per ogni colonna dell'output:

  • **PID:**Un numero ID del processo.
  • UTENTE: Il proprietario del processo.
  • PR: La priorità del processo. Più basso è il numero, maggiore è la priorità.
  • NI: Il buon valore del processo, che influisce sulla sua priorità.
  • VIRT: Quanta memoria virtuale utilizza il processo.
  • RES: Quanta RAM fisica utilizza il processo, misurata in kilobyte.
  • SHR: Quanta memoria condivisa utilizza il processo.
  • S: Lo stato attuale del processo.
  • CPU: La percentuale del tempo del processore utilizzato dal processo.
  • **MEM:**La percentuale di RAM fisica utilizzata dal processo.
  • TEMPO+: Quanto tempo di elaborazione ha impiegato il processo.
  • COMANDO: Il nome del comando che ha avviato il processo.

I comandi iostat, vmstat e mpstat

I comandi iostat, vmstat e mpstat fanno parte del pacchetto sysstat. Usa i seguenti comandi per installare questo set di strumenti nella tua istanza Lightsail:

Sistemi basati su Red Hat, come Amazon Linux, CentOS o RHEL

$ sudo yum install sysstat

Debian e Ubuntu

$ sudo apt-get install sysstat

Usa i seguenti comandi per avviare e abilitare sysstat per la raccolta continua dei dati:

$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat

comando 'iostat'

Il comando iostat raccoglie e visualizza le statistiche dei dispositivi di archiviazione di input e output del sistema. Questo strumento viene spesso utilizzato per tracciare i problemi di prestazioni dei dispositivi di archiviazione, inclusi dispositivi e dischi. Le seguenti sono opzioni iostat comuni:

  • iostat: Ottieni report e statistiche.
  • iostat -x: Mostra informazioni statistiche più dettagliate.
  • iostat -c: Mostra solo le statistiche della CPU.
  • iostat -d: Visualizza solo il rapporto sul dispositivo.
  • iostat -xd: Mostra statistiche I/O estese solo per il dispositivo.

Di seguito è riportato un esempio di output del comando iostat:

$ 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

comando vmstat

Il comando vmstat (virtual memory statistics) raccoglie e visualizza informazioni sulla memoria di sistema, sui processi, sulle interruzioni, sul paging e sull'I/O a blocchi. Il comando vmstat consente di specificare un intervallo di campionamento per osservare l'attività del sistema quasi in tempo reale. Di seguito è riportato un esempio del comando e dell'output 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

Di seguito sono riportate le opzioni di uso comune che è possibile utilizzare con il comando vmstat:

L'opzione**-a** mostra la memoria attiva e inattiva del sistema:

$ 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

L'opzione**-d** riporta le statistiche del disco:

$ 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

Il comando mpstat raccoglie e visualizza le statistiche sulle prestazioni per tutti i processori logici del sistema. Se si esegue il comando mpstat senza opzioni, viene generato un singolo report che contiene le statistiche sulle prestazioni di tutti i processori logici dall'avvio.

$ 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

La prima riga dell'esempio precedente è un set di etichette di colonna. La seconda riga è il valore per ogni colonna:

  • %usr: % di utilizzo della CPU a livello utente.
  • %nice: % di utilizzo della CPU per i processi utente etichettati "nice".
  • %sys: % di utilizzo della CPU a livello di sistema (kernel Linux).
  • %iowait: % di utilizzo inattivo della CPU in attesa di lettura/scrittura su disco.
  • %irq: % di utilizzo della CPU che gestisce le interruzioni hardware.
  • %soft: % di utilizzo della CPU che gestisce le interruzioni software.
  • %steal: % utilizzo della CPU costretto ad attendere che un hypervisor gestisca altri processori virtuali.
  • %guest: % di utilizzo della CPU speso per un processore virtuale.
  • idle: % utilizzo della CPU nei tempi di inattività (nessun processo e nessuna attesa di lettura/scrittura su disco).

Con i precedenti strumenti della linea di comando, identifica i processi con un elevato utilizzo di risorse. Usa queste informazioni per scegliere istanze con risorse sufficienti per il tuo carico di lavoro.

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa