Strumenti di monitoraggio del sistema per Ubuntu


147

Sto cercando strumenti di monitoraggio del sistema che sono GUI e Cli o Web Based che includono funzioni di base come

  • Uso della CPU

  • Ram Usage

  • Scambia utilizzo

  • Utilizzo del disco (spazio / I / O)

  • Monitoraggio del calore

So che ci sono molti strumenti che posso usare, ma sto cercando un singolo strumento che abbia queste funzioni di base.

Risposte:


184

Sguardi: un occhio sul tuo sistema

Glances è un software gratuito (concesso in licenza sotto LGPL) per monitorare il sistema operativo GNU / Linux o BSD da un'interfaccia di testo. Glances utilizza la libreria libstatgrab per recuperare informazioni dal sistema ed è sviluppato in Python.

Installazione

Apri un terminale ( Ctrl+ Alt+ T) ed esegui i seguenti comandi:

Da Ubuntu 16.04 e versioni successive puoi semplicemente digitare sudo apt install glances, ma la versione 2.3 ha questo bug . Altro:

Sguardi di installazione di script facili

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

O

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

Installazione manuale

sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances

Utilizzo di base

Per iniziare, glancesdigita semplicemente il glancesterminale.

immagine dello schermo

A colpo d'occhio vedrai molte informazioni sulle risorse del tuo sistema: CPU, caricamento, memoria, rete di scambio, I / O del disco e processi tutto in una pagina, per impostazione predefinita il codice colore significa:

GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)

Quando Glances è in esecuzione, puoi premere alcuni tasti speciali per impartire comandi:

c: Sort processes by CPU%  
m: Sort processes by MEM%  
p: Sort processes by name  
i: Sort processes by IO Rate  
d: Show/hide disk I/O stats  
f: Show/hide file system stats  
n: Show/hide network stats  
s: Show/hide sensors stats  
b: Bit/s or Byte/s for network IO  
w: Delete warning logs  
x: Delete warning and critical logs  
1: Global CPU or Per Core stats  
h: Show/hide this help message  
q: Quit (Esc and Ctrl-C also work)  
l: Show/hide log messages

Monitoraggio CPU, RAM, Swap

immagine dello schermo

Monitoraggio del disco

immagine dello schermo

Monitoraggio del calore del sistema

Se digiti glances --helptroverai ( -eAbilita il modulo sensori (solo Linux))

glances -e

immagine dello schermo

immagine dello schermo

File di configurazione

Puoi impostare le tue soglie nel file di configurazione di Glances, su GNU / Linux, il file di configurazione predefinito si trova in /etc/glances/glances.conf.

Modalità client / server

Un'altra caratteristica interessante di questo strumento di monitoraggio è che puoi avviarlo in modalità server semplicemente digitando glances -s, questo darà un output come il server Glances è in esecuzione su 0.0.0.0:61209 e ora puoi collegarti da un altro computer usando gli sguardi -c @ server in cui @server è l'indirizzo IP o il nome host del server.

Glances utilizza un server XML / RPC e può essere utilizzato da un altro software client. In modalità server, è possibile impostare l'indirizzo di associazione (-B ADDRESS) e l'ascolto della porta TCP (-p PORT), l'indirizzo di associazione predefinito è 0.0.0.0 (gli sguardi ascolteranno su tutte le interfacce di rete) e la porta TCP è 61209. In modalità client, è possibile impostare la porta TCP del server (-p port). In modalità client / server, i limiti sono impostati dal lato server. La versione 1.6 introduce una password opzionale per accedere al server (password -P) che se impostata sul server deve essere utilizzata anche sul client.

Fonti aggiuntive: PyPI , Github , Linuxaria

Aggiornare

Monitoraggio del contenitore juju solo per esempio di come le cose sembrano grandi

Nel terminale n. 1 Glances è in esecuzione in modalità server, Nel terminale n. 2 il container juju è in esecuzione apt-get updatee Nel terminale 3 glances -c 192.168.1.103Glances è collegato al contenitore ip

immagine dello schermo

Panoramica sull'utilizzo della CPU

Gli sguardi stessi sembrano richiedere picchi di periodo di utilizzo della CPU mentre sono attivi, come evidenziato dal grafico di utilizzo del monitor di sistema integrato. Se il grafico è accurato, usando gli sguardi si rinuncia a circa 1/4 di CPU su un sistema. Questo ha effetto per coloro che stanno monitorando i carichi della CPU sui server.

dà un'occhiata all'utilizzo della cpu


:), Sì, è @ B4NZ41
Qasim,

4
miglior strumento che abbia mai visto ....
Dinesh,

1
Consiglio vivamente di non utilizzare il metodo di installazione "facile" qui suggerito! Il piping dei dati da Internet a un interprete BASH privilegiato è molto insicuro. Se qualcuno ha configurato male il DNS o l'hackerato bit.ly, potresti installare qualcosa sul tuo sistema e potresti non saperlo mai.
Luke Stanley,

1
Io non consiglio la "Easy Installation Script", installare solo utilizzando i pacchetti.
Pablo,

3
Per disinstallare solo sudo pip uninstall glances.
Pablo Un

33

Indicatore-SysMonitor

Indicator-SysMonitor fa un po ', ma lo fa bene. Una volta installato ed eseguito, mostra l'utilizzo della CPU e della RAM sul pannello superiore. Semplice.

inserisci qui la descrizione dell'immagine

Scarica da qui

Conky

Uno dei miei preferiti personali

inserisci qui la descrizione dell'immagine

Screenlet troverai un sacco di monitor CPU e RAM di diverso stile inclusi nel pacchetto screenlet-all disponibile in Ubuntu Software Center.

inserisci qui la descrizione dell'immagine

sguardi

Installare:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors

inserisci qui la descrizione dell'immagine

vmstat

Visualizza informazioni su CPU, memoria, processi, ecc.

iostat

Questo strumento da riga di comando visualizzerà statistiche sulla CPU, informazioni I / O per le partizioni del disco rigido, Network File System (NFS), ecc. Per installare iostat, eseguire questo comando:

sudo apt-get install sysstat

Per avviare il rapporto, eseguire questo comando:

iostat

Per controllare solo le statistiche della CPU, utilizzare questo comando:

iostat -c

Per più parametri, utilizzare questo comando:

iostat --help

mpstat

L'utilità della riga di comando mpstat visualizzerà l'utilizzo medio della CPU per processore. Per eseguirlo, usa semplicemente questo comando:

mpstat

Per l'utilizzo della CPU per processore, utilizzare questo comando:

mpstat -P ALL

saidar

Saidar consente inoltre di monitorare le attività dei dispositivi di sistema tramite la riga di comando.

inserisci qui la descrizione dell'immagine

È possibile installare è con questo comando:

sudo apt-get install saidar

Per avviare il monitoraggio, eseguire questo comando:

saidar -c -d 1

Le statistiche verranno aggiornate ogni secondo.

GKrellM

GKrellM è un widget personalizzabile con vari temi che visualizza le informazioni sul dispositivo del sistema desktop (CPU, temperatura, memoria, rete, ecc.).

inserisci qui la descrizione dell'immagine

Per installare GKrellM, eseguire questo comando:

sudo apt-get install gkrellm

Monitorix

Monitorix è un'altra applicazione con un'interfaccia utente basata sul web per il monitoraggio dei dispositivi di sistema.

inserisci qui la descrizione dell'immagine

Installalo con questi comandi:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix

Avvia Monitorix tramite questo URL:

http://localhost/monitorix/

 


Gli sguardi sono buoni. Ciò che mi mostra a volte sono alcuni registri critici. Dove trovare qual è il problema? Dove sono i registri delle case? AVVISO | Registri CRITICI (ultime 9 voci) 23/03/2016 19:09:48> 23-03-2016 19:09:54 Utente CPU (72.7 / 76.6 / 80.6) 23-03-2016 19:09:28> 23/03/2016 19:09:32 CPU IOwait (62.5 / 62.5 / 62.5) 23-03-2016 19:08:45> 2016-03-23 ​​19:08:48 Utente CPU (86.3 / 86.3 / 86.3) ~ 23-03-2016 19:08:16> ___________________ LOAD 5-min (1.0 / 1.1 / 1.2) - Top process: php5-cgi 23-03-2016 19:08:09> 2016-03-23 ​​19:08: 19 CPU IOwait (74.3 / 74.6 / 75.0)
Canguro

@Thuener È meglio per te solo leggere e cercare prima di tali commenti senza senso e sì è ppa :: upubuntu-com / ppa ... fare riferimento a questo link launchpad.net/~upubuntu-com/+archive/ubuntu/ppa e i pensa meglio a rimuovere il downvote :)
Maythux,

Ho usato GKrellM e mi piace molto, in particolare il display del sensore di temperatura. Vorrei che fossero grafici, tuttavia mi fa sapere come sta andando il mio laptop perché ha un problema di surriscaldamento.
Heather92065,

22

Di seguito sono riportati gli strumenti per il monitoraggio di un sistema Linux

  1. I comandi di sistema come top, free -m, vmstat, iostat, iotop, sar, netstatecc Niente viene vicino a queste utility Linux quando si esegue il debug di un problema. Questi comandi ti danno un'immagine chiara che sta andando all'interno del tuo server
  2. SeaLion : l'agente esegue tutti i comandi menzionati nel n. 1 (anche definito dall'utente) e gli output di questi comandi sono accessibili in una bellissima interfaccia web. Questo strumento è utile quando si esegue il debug su centinaia di server poiché l'installazione è chiaramente semplice. Ed è GRATUITO
  3. Nagios : è la madre di tutti gli strumenti di monitoraggio / avviso. È molto personalizzazione ma molto difficile da configurare per i principianti. Esistono set di strumenti chiamati plug-in nagios che coprono praticamente tutte le importanti metriche Linux
  4. Munin
  5. Densità del server: un servizio a pagamento basato su cloud che raccoglie importanti metriche Linux e offre agli utenti la possibilità di scrivere plugin propri.
  6. New Relic: un altro ben noto servizio di monitoraggio ospitato.
  7. Zabbix


8

superiore

top sta monitorando il software, elencando tutti i processi con utilizzo di CPU / RAM, utilizzo complessivo di CPU / RAM e altro Inoltre è installato principalmente per impostazione predefinita

htop

htop è come una versione estesa di top. Ha tutte le funzionalità dall'alto, ma puoi vedere i processi figlio e personalizzare la visualizzazione di tutto. Ha anche dei colori.

iotop

iotop è specifico per il monitoraggio degli I / O del disco rigido. Elenca tutti i processi e mostra l'utilizzo del disco rigido in lettura e scrittura.


dov'è il monitoraggio del calore? e nella tua risposta hai già incluso 3 utility ... controlla la domanda ** Sto cercando un singolo strumento con alcune funzioni di base **
Qasim

Con i tre strumenti sto solo offrendo diverse opzioni per il PO, ma sono deluso nel dire che nessuno di questi ha il monitoraggio del calore
BeryJu,

almeno hai provato a rispondere alla domanda ... grazie
Qasim,

google (Saidar Ubuntu)
Qasim,

5

Potresti provare sysmon . Sebbene non sia elegante come Glances, è molto semplice e facile da usare.

Se vuoi sporcarti e fare un po 'di scripting in Python, ecco alcune basi del monitoraggio del sistema con Python per iniziare.

Avrai bisogno di un modulo esterno chiamato psutilper monitorare la maggior parte delle cose. È più semplice utilizzare un programma di installazione del modulo esterno invece di creare dal sorgente.

Nota: questi esempi sono scritti in Python 2.7

sudo apt-get install pip
sudo pip install psutil

Ora che abbiamo installato i moduli, possiamo iniziare a scrivere codice.

Innanzitutto, crea un file chiamato usage.py.

gedit ~/usage.py

Inizia importando psutil

import psutil

Quindi, crea una funzione per monitorare la percentuale di esecuzione dei core della CPU.

def cpu_perc(): 

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True) 
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

Dividiamolo un po ', vero?

La prima riga, cpu_num = psutil.cpu_percent(interval=1, percpu=True)trova la percentuale di esecuzione dei core nella CPU e la assegna a un elenco chiamato cpu_perc.

Questo loop proprio qui

for i in range(len(cpu_num)):
    print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

è un ciclo for che stampa la percentuale corrente di ciascuno dei core della CPU.

Aggiungiamo l'utilizzo della RAM.

Crea una funzione chiamata ram_perc.

def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"

psutil.virtual_memory fornisce un set di dati contenente diversi fatti sulla RAM del computer.

Successivamente, puoi aggiungere alcuni fatti sulla tua rete.

def net():
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv

Poiché psutil.net_io_counters()ci fornisce solo informazioni sui pacchetti inviati e ricevuti in byte, era necessaria una conversione.

Per ottenere alcune informazioni sullo spazio di swap, aggiungi questa funzione.

def swap_perc():
    swap = psutil.swap_memory()
    swap_perc = swap.percent

Questo è piuttosto semplice.

La temperatura è un po 'difficile da fare, quindi potresti dover fare qualche ricerca per capire cosa funzionerà con il tuo hardware. Dovrai visualizzare il contenuto di un determinato file.

L'uso del disco è molto più semplice della temperatura. Tutto quello che devi fare è passare il disco che vuoi monitorare (cioè:) /attraverso una determinata funzione.

def disks():
    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

L'output originale di psutil.disk_usageè questo,

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)

ma si può anche solo ricevere total, used, free, o percent.

Il programma completato: (le funzioni di cui sopra sono state combinate)

import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var



def disp(degree):
    global cpu_perc
    global swap
    global swap_perc
    global mem
    global mem_perc
    global net
    global mbytes_sent
    global mbytes_recv

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
    swap = psutil.swap_memory()
    swap_perc = swap.percent
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576

    os.system('clear') #clear the screen

    print "-"*30
    print "CPU"
    print "-"*30
    print "CPU Temperature: " , degree, "'C"
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

    print "-"*30
    print "MEMORY"
    print "-"*30
    print "RAM: ", mem_perc, "%"
    print "Swap: ", swap_perc, "%"
    print "-"*30
    print "NETWORK"
    print "-"*30
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
    print "-"*30
    print "DISKS"
    print "-"*30

    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

def main():
    print("Press Ctrl+C to exit")
    while True:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
        temp = float(temp) / 1000
        disp(temp)

main()

La linea temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')potrebbe non funzionare con la configurazione hardware.

Esegui questo programma dalla riga di comando. Passare i dischi che si desidera monitorare come argomenti dalla riga di comando.

$ python usage.py /

Press Ctrl+C to exit

------------------------------
CPU
------------------------------
CPU Temperature:  39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM:  33.6 %
Swap:  6.4 %
------------------------------
NETWORK
------------------------------
MB sent:  2.93382358551
MB received:  17.2131490707
------------------------------
DISKS
------------------------------
/ 

Megabytes total:  13952.484375
Megabytes used:  8542.6640625
Megabytes free:  4678.5703125
Percentage used:  61.2 

/media/calvin/Data 

Megabytes total:  326810.996094
Megabytes used:  57536.953125
Megabytes free:  269274.042969
Percentage used:  17.6 

Spero che sia di aiuto! Commenta se hai domande.

https://github.com/calthecoder/sysmon-1.0.1


Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.
Ron,

@Ron - Ok, aggiungerò una modifica al mio post e mostrerò le parti di script di base di sysmon in un paio di giorni. Grazie per il consiglio!
calvin k,

Dai un'occhiata a meta.askubuntu.com/questions/13900/… . Cosa hai provato esattamente?
Muru,

@muru - Nevermind, ora funziona. Grazie per il link!
calvin k,

@muru - Ma, per rispondere alla tua domanda, ho iniziato il blocco di codice con tre backtick seguiti dalla lingua in cui volevo evidenziare la sintassi, e terminavo con tre backtick.
calvin k,


3

SeaLion può essere uno strumento utile in quanto dispone di comandi integrati per monitorare le prestazioni del server, nonché di aggiungere comandi personalizzati, script e output del registro. È molto facile da configurare e scoprire cosa è andato storto in un momento specifico.

2



2

C'è uno strumento integrato chiamato gnome-system-monitor. Può fare tutto ciò che hai menzionato, tranne il monitoraggio del calore.


2

Nagios sembra essere il più popolare e più personalizzabile, ma non lo sceglierei per la GUI.

La soluzione open source di Zabbix monitora tutto ciò che hai menzionato e fornisce grafici basati sul tempo per il monitoraggio delle prestazioni.

Se stai cercando una GUI ancora più pulita, dai un'occhiata a Zenoss. Zenoss è uno strumento open source basato sul web, ma offre analisi dei servizi e analisi delle cause alla radice con il suo strumento di proprietà.


2
  1. Il freecomando è il comando più semplice e facile da usare per controllare l'utilizzo della memoria su Linux / Ubuntu.

    free -m
    
  2. Controllare l'utilizzo della memoria è leggere il /proc/meminfofile.

    cat /proc/meminfo
    
  3. Il vmstatcomando con l' sopzione.

    vmstat -s
    
  4. Il topcomando viene generalmente utilizzato per controllare l'utilizzo della memoria e della cpu per processo.

    top
    
  5. Il comando htop mostra anche l'utilizzo della memoria insieme a vari altri dettagli.

    htop
    
  6. Per scoprire informazioni sull'hardware della RAM installata.

    sudo dmidecode -t 17
    

1
Adoro htop! Semplice e abbastanza buono.
Pale Blue Dot

2

Mi piace usare conkyquale può essere configurato comunque:

inserisci qui la descrizione dell'immagine

Puoi google conkye trovare 787.000 hit. C'è qualcosa per tutti.

Nella parte superiore del display viene visualizzato il messaggio "Schermata di blocco: 4 minuti Luminosità: 2074". Questi sono generati da "Indicator-Sysmonitor" che consente di visualizzare l'indicatore systray / applicazione utilizzando uno script bash.

Per un'esercitazione sulla configurazione di "Indicator-Sysmonitor", vedere: BASH può essere visualizzato nel systray come indicatore dell'applicazione?



1

Penso che dovresti dare un'occhiata a Agentless Monitor di AppPerfect, che copre vari aspetti del monitoraggio come il monitoraggio delle applicazioni JAVA / J2EE, il monitoraggio del server, il monitoraggio del database, il monitoraggio delle transazioni, il monitoraggio della rete, il monitoraggio dei log e il monitoraggio del sistema. È gratuito e facile da usare.


1

Nel mio caso, questa risposta da questo link mi ha aiutato molto.

Utilizzato per essere un utente Windows? Potresti volere un equivalente di Ubuntu del Task Manager di Windows e aprirlo tramite la combinazione di tasti Ctrl + Alt + Canc.

Ubuntu ha l'utilità integrata per monitorare o interrompere i processi in esecuzione del sistema che agisce come il "Task Manager", si chiama System Monitor.

Il tasto di scelta rapida Ctrl + Alt + Canc per impostazione predefinita viene utilizzato per visualizzare la finestra di dialogo di disconnessione su Ubuntu Unity Desktop. Non è utile per gli utenti che sono abituati ad accedere rapidamente al Task Manager.

Per modificare le impostazioni del tasto, apri l'utilità Tastiera da Unity Dash (o Impostazioni di sistema -> Tastiera).

Nella scheda Collegamenti -> Collegamenti personalizzati, fai clic sull'icona più per aggiungere un collegamento. Digita il nome Task Manager e il comando gnome-system-monitor.

Aiuto

Dopo che è stato aggiunto, fai clic su "Disabilita" e premi Ctrl + Alt + Canc. Si aprirà una finestra di dialogo che dice "Il tasto di scelta rapida ... è già utilizzato per disconnettersi", fare clic su Riassegna e il gioco è fatto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.