Come per Monitorare l’Utilizzo della CPU in Linux nel Tempo
- Antonio Heddings
- 23 aprile 2020, ore 10:00 EDT
top
utility visualizza l’attuale utilizzo della CPU per ogni processo in esecuzione, ma cosa succede se si voleva monitorare nel tempo e visualizzare su un grafico? Ci sono alcune utilità per questo se il tuo provider cloud non ne ha già uno.
Come nota a margine, se non lo hai già installato, l’utilità htop
(nella foto sopra) è molto più bella da usare di default top
.,
La soluzione banale: usa i grafici del tuo provider cloud
Questa soluzione è di gran lunga la più facile da usare, ma non sarà disponibile per tutti. Se sei su AWS, CloudWatch rende il monitoraggio dell’utilizzo della CPU molto semplice.
Dalla Console di gestione CloudWatch, selezionare “Metriche” e quindi visualizzare le metriche per EC2. La metrica “CPUUtilization” visualizza l’utilizzo medio della CPU:
L’utilizzo medio della CPU viene misurato in incrementi di 5 minuti, ma è possibile abilitare il monitoraggio esteso per l’istanza e aumentarlo fino a incrementi di 1 minuto., In questo modo costa un extra però. Sei anche in grado di impostare facilmente gli allarmi per quando l’utilizzo della CPU diventa troppo alto.
Se sei su Google Cloud Platform, viene visualizzato un grafico nella scheda “Monitoraggio” quando selezioni un’istanza.
Azure ha Azure Monitor, che visualizza informazioni simili:
Per la maggior parte degli altri fornitori di cloud, probabilmente avranno anche un grafico come questo.
Usando / proc / loadavg
Il modo migliore per farlo in modo nativo è guardare da dovetop
ottiene le sue informazioni. /proc/loadavg
contiene medie di 1 minuto, 5 minuti e 15 minuti., È possibile accedere con cat
cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429
È possibile utilizzare per generare un grafico per la stampa di ogni riga in una virgola-separato da file CSV, l’utilizzo di alcune awk
magic:
cat /proc/loadavg | awk "{print $1","$2","$3}" >> cpu.csv
collegare questa fino ad un cron
lavoro nell’esecuzione di ogni minuto, ruotare i log con logrotate, e ti sei preso un jerry-truccate CPU monitor. È possibile importare il file CSV in Excel, dove sarà facile tracciare l’utilizzo medio della CPU su un grafico a linee.,
Nota, il comando precedente stampa le medie di 1 minuto, 5 minuti e 15 minuti. Se lo stai eseguendo ogni minuto, non è davvero necessario stampare le medie di 5 e 15 minuti, perché puoi capirlo computazionalmente.
Installa sysstat
L’utilitàsar
è ottima per monitorare le prestazioni del sistema. È incluso come parte di sysstat
, che probabilmente non è installato di default sul tuo sistema. Dovrai ottenerlo dal gestore dei pacchetti della tua distro., Per i sistemi basati su Debian come Ubuntu, sarebbe:
sudo apt-get install sysstat
Quindi, abilitarlo modificando /etc/default/sysstat
e impostando “ENABLED” su true.
In questo modo monitora il sistema e genera un rapporto ogni 10 minuti, ruotandoli dopo una settimana. È possibile modificare questo comportamento modificando il crontab sysstat in /etc/cron.d/sysstat
, o modificando le impostazioni di rotazione in sysstat
in /etc/sysstat/sysstat
.,
È possibile generare un report in tempo reale con il seguente comando:
sar -u 1 3
sysstat
raccoglierà i dati di utilizzo della CPU in background ogni minuto, salvandoli in /var/log/sysstat/
. Puoi quindi importare questi dati per l’analisi, usando un foglio di calcolo o uno strumento personalizzato come sargraph, che visualizza un bel grafico:
Puoi anche usare le utilità della riga di comando per tracciare grafici come questo, comettyplot
, ma nessuno di loro si avvicina ad essere facile da usare (e bello) come una GUI., La riga di comando è battuta su questo-i grafici sono più belli.
Monit può allarmarti se l’utilizzo della CPU è troppo alto
Monit è una suite di monitoraggio open source per Unix che controlla lo stato del tuo server e può essere configurata per inviarti notifiche se l’utilizzo della CPU del tuo server diventa pericolosamente alto. Leggi la nostra guida per configurarlo per saperne di più.
Si noti che CloudWatch raggiunge la stessa cosa fuori dalla scatola con gli allarmi, e può operare su più metriche diverse, non solo l’utilizzo della CPU.,
Anthony Heddings è l’ingegnere cloud residente per LifeSavvy Media, uno scrittore tecnico, programmatore ed esperto della piattaforma AWS di Amazon. Ha scritto centinaia di articoli per How-To Geek e CloudSavvy ESSO che sono stati letti milioni di volte.Leggi la Biografia completa ”