Como posso monitorar o uso de recursos do Lightsail na linha de comando?

Data da última atualização: 29/10/2021

Meu site ou aplicação hospedado no Amazon Lightsail está inativo ou funcionando muito lentamente. Como posso monitorar o uso de recursos do Lightsail na linha de comando para solucionar esses problemas?

Breve descrição

Existem vários fatores, incluindo a alta utilização de recursos, que afetam os serviços executados nas instâncias do Lightsail. Usando ferramentas comuns, você pode monitorar recursos como CPU, memória, E/S de disco e uso de rede em instâncias do Lightsail em tempo real com a linha de comando.

Analisar e monitorar o uso de recursos da instância do Lightsail na linha de comando fornece insight do sistema em tempo real. Isso também permite uma visão detalhada de quais processos estão usando mais CPU, memória, E/S de disco ou rede.

Veja a seguir os recursos que você pode usar para analisar e monitorar os recursos da instância do Lightsail na linha de comando:

  • A ferramenta atop
  • A ferramenta htop
  • Os comandos iostat, vmstat e mpstat

Resolução

A ferramenta atop

A ferramenta atop relata a atividade de todos os processos, mesmo que esses processos tenham sido concluídos durante o intervalo especificado. Essa ferramenta registra todas as informações relevantes do sistema continuamente. Devido a esse registro contínuo, se os problemas ocorrerem novamente, você terá dados históricos para analisar. A ferramenta atop está incluída nos repositórios oficiais para a maioria das distribuições Linux. Instale a ferramenta atop executando os seguintes comandos:

Sistemas baseados em Red Hat

$ sudo yum install atop

Sistemas baseados em Debian

$ sudo apt install atop

A ferramenta atop registra todas as atividades em intervalos de 600 segundos por padrão. Para alterar a configuração da ferramenta atop para que as atividades sejam registradas em intervalos de 60 segundos, execute o seguinte comando:

Sistemas baseados em Red Hat

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

Sistemas baseados em Debian

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

Depois de executar o comando anterior, o atop registra todas as atividades dentro de 60 segundos internos. Os dados são armazenados em arquivos de log em /var/log/atop. Esses arquivos são nomeados no seguinte formato "atop_ccyymmdd”. Por exemplo, "atop_20210902" é a gravação de 2 de setembro de 2021.

Para acessar o arquivo de log, execute o comando atop -r atologfilepath. O comando e o arquivo de log são mostrados no exemplo a seguir:

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

No exemplo de saída anterior, o primeiro snapshot gravado foi em 02/09/2021 às 17h:03m:44s. Para avançar para o próximo snapshot, pressione a tecla 't' no teclado. Para voltar para o snapshot anterior, pressione a tecla “T” (“t” maiúsculo).

A seguir, são opções comumente usadas com as quais você pode iniciar:

Classificar por memória

$ atop -m

Classificar por detalhes do disco

$ atop -d

Classificar por detalhes da rede

$ atop -n

A ferramenta htop

A ferramenta htop é uma aplicação de monitoramento de processos interativo e em tempo real para Linux que mostra seu uso por CPU ou núcleo. Essa ferramenta também fornece um gráfico de texto significativo de sua memória e uso de troca.

Execute os seguintes comandos para instalar a ferramenta htop:

Sistemas baseados em Red Hat

$ sudo yum install htop

Sistemas baseados em Debian e Ubuntu

$ sudo apt install htop

Use o seguinte comando para executar a ferramenta htop em seu sistema:

$ htop

A ferramenta htop lista todos os processos em execução no sistema e inclui informações sobre a quantidade de CPU e memória que cada processo está usando. O comando usado para iniciar o processo também está incluído.

A seguir estão as definições para cada coluna na saída:

  • PID: um número de ID para o processo.
  • BUSER: o proprietário do processo.
  • PR: a prioridade do processo. Quanto menor o número, maior a prioridade.
  • NI: o bom valor do processo, que afeta sua prioridade.
  • VIRT: quanta memória virtual o processo está usando.
  • RES: quanta memória RAM física o processo está usando, medida em kilobytes.
  • SHR: quanta memória compartilhada o processo está usando.
  • S: o status atual do processo (zumbi, dormindo, correndo, dormindo ininterruptamente ou rastreado).
  • CPU: a porcentagem do tempo do processador usado pelo processo.
  • MEM: a porcentagem de RAM física usada pelo processo.
  • TIME+: quanto tempo de processador o processo usou.
  • COMMAND: o nome do comando que iniciou o processo.

Os comandos iostat, vmstat e mpstat

Os comandos iostat,vmstat e mpstat fazem parte do pacote sysstat. Use os seguintes comandos para instalar esse conjunto de ferramentas na instância do Lightsail:

Sistemas baseados em Red Hat, como Amazon Linux, CentOS ou RHEL

$ sudo yum install sysstat

Debian e Ubuntu

$ sudo apt-get install sysstat

Use os seguintes comandos para iniciar e ativar o sysstat para coleta contínua de dados:

$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat

comando 'iostat'

O comando iostat coleta e exibe estatísticas do dispositivo de armazenamento de entrada e saída do sistema. Essa ferramenta é frequentemente usada para rastrear problemas de performance do dispositivo de armazenamento, incluindo dispositivos e discos. A seguir estão as opções comuns de iostat:

  • iostat: obter relatórios e estatísticas.
  • iostat -x: mostra informações estatísticas mais detalhadas.
  • iostat -c: mostra apenas a estatística da CPU.
  • iostat -d: exibe apenas o relatório do dispositivo.
  • iostat -xd: mostra estatísticas de E/S estendidas somente para o dispositivo.

Veja a seguir um exemplo de saída do 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'

O comando vmstat (estatísticas de memória virtual) coleta e exibe informações sobre memória do sistema, processos, interrupções, paginação e E/S de bloco. O comando vmstat permite especificar um intervalo de amostragem para observar a atividade do sistema quase em tempo real. Veja a seguir um exemplo do comando e da saída 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

A seguir estão as opções comumente usadas que você pode usar com o comando vmstat:

A opção -a exibe a memória ativa e inativa do 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

A opção -d relata estatísticas de 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
comando 'mpstat'

O comando mpstat coleta e exibe estatísticas de performance para todos os processadores lógicos do sistema. A execução do comando mpstat sem opções gera um único relatório que contém as estatísticas de performance de todos os processadores lógicos desde o tempo de inicialização.

$ 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

A primeira linha no exemplo anterior é um conjunto de rótulos de coluna. A segunda linha é o valor de cada coluna:

  • %usr: % de uso da CPU no nível do usuário.
  • %nice: % de uso da CPU para processos do usuário rotulados como “bom”.
  • %sys: % de uso da CPU no nível do sistema (kernel Linux).
  • %iowait: % de uso ocioso da CPU aguardando leitura/gravação de disco.
  • %irq: % de uso da CPU que lida com interrupções de hardware.
  • %soft: % de uso da CPU que lida com interrupções de hardware.
  • %steal: % de uso da CPU sendo forçado a esperar por um hipervisor manipulando outros processadores virtuais.
  • %guest: % de uso da CPU gasto executando um processador virtual.
  • ocioso: % de uso da CPU em tempo ocioso (sem processos e não aguardando leitura/gravação de disco).

Usando as ferramentas da linha de comando acima, você pode identificar os processos com alto uso de recursos e pode usar essas informações para escolher instâncias com recursos suficientes para workload.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?