Como monitorizar a utilização do CPU no Linux ao longo do tempo
- Anthony Heddings
- 23 de abril de 2020, 10:00am EDT
o top
utility mostra a utilização actual do CPU para cada processo em execução, mas e se você quisesse monitorizar isto ao longo do tempo e mostrá-lo num gráfico? Existem alguns utilitários para isso se o seu provedor de nuvem não tem um já.
Como nota lateral, se você não tiver já instalado, o utilitário htop
(ilustrado acima) é muito mais agradável de usar do que o predefinido top
.,
a solução Trivial: Use os gráficos do seu fornecedor de nuvem
Esta solução é de longe a mais fácil de usar, mas não estará disponível para todos. Se você estiver no AWS, CloudWatch torna o monitoramento do uso de CPU muito fácil.
da consola de gestão CloudWatch, você seleciona “métricas” e, em seguida, ver métricas para EC2. A métrica de “Cpuutilização” mostra a sua utilização média da CPU:
a sua utilização média da CPU é medida em incrementos de 5 minutos, mas pode permitir uma monitorização prolongada para a instância e aumentá-la até incrementos de 1 minuto., Mas fazê-lo custa mais. Você também é capaz de definir facilmente alarmes para quando o uso de CPU fica muito alto também.
Se estiver na plataforma do Google Cloud, aparece um gráfico na página “monitorização” quando selecciona uma instância.
Azure tem um Monitor Azure, que mostra informações semelhantes:
para a maioria dos outros provedores de nuvem, eles provavelmente terão um grafo como este também.
usando /proc / loadavg
a melhor maneira de fazer isso nativamente é olhar para onde top
obtém a sua informação de. /proc/loadavg
contém médias de 1 minuto, 5 minutos e 15 minutos., Você pode fazer isso com cat
cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429
Você pode usar isso para gerar um gráfico através da impressão de cada linha em uma vírgula separados arquivo CSV, usando alguns awk
magic:
cat /proc/loadavg | awk "{print $1","$2","$3}" >> cpu.csv
Gancho de até cron
execução do trabalho de cada minuto, rotação de logs com logrotate, e você tem-se uma jerry-fraudada monitor de CPU. Você pode importar o arquivo CSV para o Excel, onde será fácil de gráfico a utilização média de CPU em um gráfico de linha.,Nota: O comando acima imprime as médias de 1 minuto, 5 minutos e 15 minutos. Se você está executando a cada minuto, não é realmente necessário imprimir as médias de 5 e 15 minutos, porque você pode descobrir isso computacionalmente.
instale sysstat
osar
utilitário é ótimo para monitorar o desempenho do sistema. Está incluído como parte de sysstat
, que provavelmente não está instalado por padrão no seu sistema. Vais ter de ir buscá-lo ao gerente do pacote da tua distribuição., Para sistemas baseados em Debian como Ubuntu, seria:
sudo apt-get install sysstat
Next, habilite-o editando /etc/default/sysstat
e ajustando “habilitado” para ser verdadeiro.ao fazê-lo, monitora o seu sistema e gera um relatório a cada 10 minutos, girando-os para fora após uma semana. Você pode modificar esse comportamento editando o sysstat crontab no /etc/cron.d/sysstat
, ou alterando configurações de rotação sysstat
configurações /etc/sysstat/sysstat
.,
Você pode gerar um relatório em tempo real com o seguinte comando:
sar -u 1 3
sysstat
irá recolher o uso de CPU de dados a cada minuto, salvando-o para /var/log/sysstat/
. Em seguida, você pode importar estes dados para análise, usando um programa de planilha ou de uma ferramenta personalizada como sargraph, que exibe um belo gráfico:
Você também pode usar utilitários de linha de comando para plotagem de gráficos como este, tal como o ttyplot
, mas nenhuma delas chegou perto de ser tão fácil de usar (e, como boa aparência) como uma GUI., A linha de comando está melhor neste gráfico.
Monit pode alarmá-lo se a utilização do CPU for demasiado elevada
Monit é um pacote de monitorização de código aberto para o Unix que verifica a saúde do seu servidor e pode ser configurado para lhe enviar notificações se a utilização do CPU do seu servidor se tornar perigosamente elevada. Leia nosso guia para configurá-lo para saber mais.
Note que CloudWatch consegue a mesma coisa fora da caixa com alarmes, e pode operar em várias métricas diferentes, não apenas a utilização da CPU.,
Anthony Heddings é o engenheiro de nuvem residente para a LifeSavvy Media, Um escritor técnico, programador, e um especialista na plataforma AWS da Amazon. Ele escreveu centenas de artigos para “Como-To Geek” e “CloudSavvy IT” que foram lidos milhões de vezes.Ler Bio completo ”