Como posso usar a ferramenta atop e a ferramenta atopsar para obter estatísticas históricas de uso de processos na minha instância Linux do EC2?

6 minuto de leitura
0

Quero aprender a usar a ferramenta atop para monitorar o uso histórico de recursos, como CPU, memória e E/S de disco, para processos em execução na minha instância Linux do Amazon EC2. Quero obter instruções sobre como instalar a atop e analisar seus arquivos de log.

Breve descrição

A ferramenta atop é uma ferramenta de monitoramento de desempenho que registra o uso histórico de recursos para análise posterior. Essa ferramenta também fornece relatórios em tempo real. Você pode recuperar o uso para utilização da CPU, consumo de memória e E/S de disco para cada processo e thread. A ferramenta atop permanece ativa como um serviço em segundo plano enquanto registra as estatísticas. Isso permite uma análise de longo prazo do servidor. Os dados são armazenados por 28 dias, por padrão.

Observação: atop registra os dados somente depois de instalada. Os dados históricos de desempenho não podem ser recuperados antes da data de instalação da atop.

Resolução

Instalar atop

Para ver as instruções de instalação, consulte Como configuro as ferramentas de monitoramento ATOP e SAR em uma instância do EC2 que está executando Amazon Linux, RHEL, CentOS ou Ubuntu?

Criar logs de relatórios históricos da atop

A ferramenta atop cria 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 seguinte comando:

atop -r /var/log/atop/atop_ccyymmdd

Substitua atop_ccyymmdd pela data que você deseja revisar.

Veja o exemplo a seguir do comando e do arquivo de log:

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

Neste exemplo de saída, o primeiro snapshot registrado foi em 02/09/2021 17:03:44. Para avançar para o próximo snapshot, pressione a tecla t (minúscula) no teclado. Para retornar ao snapshot anterior, pressione a tecla T (maiúscula). Para analisar um intervalo de tempo específico, pressione a tecla b e insira a data e a hora. A ferramenta atop pula para a hora especificada na variável Inserir nova hora:

NET |  lo      ----  |  pcki       2  |  pcko       2  |  sp    0 Mbps |  si    0 Kbps  |  so    0 Kbps  |  erro       0  |
Enter new time (format [YYYYMMDD]hhmm):
  PID              TID              RDDSK              WRDSK             WCANCL              DSK             CMD        1/4

Para ver estatísticas diferentes, pressione a tecla de atalho designada. Veja a seguir exemplos de teclas de atalho:

  • g: Informações genéricas (padrão).
  • m: Detalhes da memória.
  • d: Detalhes do disco.
  • n: Detalhes da rede. Essa chave funciona somente quando o módulo do kernel netatop está instalado.
  • c: Linha de comando completa por processo.

Para classificar a lista de processos, use as seguintes teclas de atalho:

  • C: Atividade da CPU.
  • M: Consumo de memória.
  • D: Atividade do disco.
  • N: Atividade de rede. Essa chave funciona somente se o kernel netatop estiver instalado.
  • A: O recurso mais ativo do sistema (modo automático).

Pressione a tecla h para ver a documentação de ajuda.

Criar logs de relatórios da atop por um determinado período

Para acessar o arquivo de log e extrair somente um determinado período de dados de desempenho, execute o comando:

atop -r /var/log/atop/atop_ccyymmdd -b starttime -e endtime -M

Substitua atop_ccyymmdd pela data que você deseja revisar. Substitua starttime pela hora de início e endtime pela hora de término do período de desempenho.

Por exemplo, o comando a seguir retorna dados de desempenho capturados para a memória em 22 de abril de 2024, entre 08:00 e 08:10:

$ atop -r /var/log/atop/atop_20240422 -b 0800 -e 0810
            -M

Sinalizadores usados no exemplo:

  • b: hora de início
  • e: hora de término
  • r: especificar arquivo
  • M: memória

Gerar relatórios de atividades do sistema com o comando atop

Use o comando atopsar para gerar relatórios de atividades do sistema.

Se você usar o sinalizador**\ -c**, um relatório será gerado sobre a utilização atual da CPU do sistema. O exemplo a seguir mostra dois resultados desse relatório, cada um com um segundo de diferença:

$ atopsar -c 1 2
ip-172-20-139-91  4.14.238-182.422.amzn2.x86_64  #1 SMP Tue Jul 20 20:35:54 UTC 2021  x86_64  2021/09/02

-------------------------- analysis date: 2021/09/02 --------------------------

18:50:16  cpu  %usr %nice %sys %irq %softirq  %steal %guest  %wait %idle  _cpu_
18:50:17  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100
18:50:18  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100

O comando atopsar pode analisar dados dentro de um período de tempo especificado. Por exemplo, para gerar todos os relatórios (-A) que começam às 13h00 (-b) e terminam às 13h35 (-e) do dia atual, execute o seguinte comando:

atopsar -A -b 13:00 -e 13:35

Para recuperar várias saídas, combine os sinalizadores para atopsar em um único comando. O exemplo de comando a seguir consulta a utilização de cpu, a carga do processo(processador) e os processos e threads:

$ atopsar -cpP

Exemplo de saída:

ip-172-31-89-231 6.1.84-99.169.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Apr 8 19:19:48 UTC 2024 x86_64 2024/04/22

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle cpu
08:00:27 all 0 0 0 0 0 0 0 4 95
08:01:27 all 0 0 0 0 0 0 0 0 100
08:02:27 all 0 0 0 0 0 0 0 0 100
08:03:27 all 0 0 0 0 0 0 0 0 100

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 pswch/s devintr/s clones/s loadavg1 loadavg5 loadavg15 load
08:00:27 203 70 1.07 0.13 0.29 0.14
08:01:27 53 31 0.07 0.05 0.23 0.13
08:02:27 59 31 0.87 0.02 0.19 0.12
08:03:27 68 35 0.22 0.00 0.15 0.10

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 clones/s pexit/s curproc curzomb thrrun thrslpi thrslpu procthr
08:00:27 1.07 1.07 114 0 1 83 58
08:01:27 0.07 0.07 114 0 1 83 58
08:02:27 0.87 0.88 109 0 1 83 53
08:03:27 0.22 0.28 105 0 1 76 52

Para obter uma lista detalhada de sinalizadores e valores de saída que o atop recupera e exibe, consulte atopsar no site do Linux.

Informações relacionadas

Por que minha instância Linux do EC2 está deixando de responder devido à utilização excessiva de recursos?

Um guia para um comando atop no Linux no site da DigitalOcean

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses