Strumenti di monitoraggio del sistema per Ubuntu

134

Sto cercando strumenti di monitoraggio del sistema che siano GUI e Cli o basati sul Web che includono Funzioni di base come

  • Utilizzo della CPU

  • Utilizzo della ram

  • Uso dello swap

  • 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.

    
posta Qasim 10.05.2013 - 11:13

15 risposte

172

Sguardi: un occhio sul tuo sistema

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

Installazione

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

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

Installazione Easy Script Sguardi

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 glances digita semplicemente glances nel terminale.

In poche parole vedrai molte informazioni sulle risorse del tuo sistema: CPU, Load, Memory, Swap Network, Disk I / O e Process tutto in un'unica 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 Glance è in esecuzione, puoi premere alcuni tasti speciali per dare comandi ad esso:

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

Cpu, Ram, Swap Monitoring

Monitoraggio disco

Monitoraggio del calore del sistema

Se digiti glances --help troverai ( -e Abilita il modulo sensori (solo per Linux))

glances -e

File di configurazione

È possibile impostare le 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 digitando solo glances -s , questo darà un output come il server di Glances è in esecuzione su 0.0.0.0:61209 e ora puoi collegarti ad esso da un altro computer che usa le occhiate -c @server dove @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 binding (-B ADDRESS) e ascoltare la porta TCP (-p PORT), l'indirizzo di binding predefinito è 0.0.0.0 (Glances ascolterà su tutte le interfacce di rete) e la porta TCP è 61209. In modalità client, è possibile impostare la porta TCP del server (porta -p). 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

Aggiornamento

Monitorare il contenitore juju, ad esempio, come appare Immagine grande

Nel terminale n. 1, Glances è in esecuzione in modalità server, nel terminale n. 2 il contenitore juju è in esecuzione apt-get update & amp; Nel terminale 3 glances -c 192.168.1.103 Glances è connesso al contenitore ip

Evidenzia l'utilizzo della CPU

Le occhiate sembrano richiedere picchi di tempo di utilizzo della cpu mentre sono attive, come evidenziato dal grafico di utilizzo del monitor integrato nel sistema. Se il grafico è accurato, allora usando gli sguardi si arrende circa 1/4 di una CPU su un sistema. Questo mio effetto è valido per coloro che stanno monitorando i carichi della CPU sui server.

    
risposta data Qasim 10.05.2013 - 12:00
31

Indicatore-SysMonitor

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

Scarica da qui

Conky

Uno dei miei preferiti

Screenlet troverai una serie di monitor CPU e RAM in stile diverso inclusi negli screenlet, tutto disponibile nel Software Center di Ubuntu.

Sguardi

Per installare:

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

vmstat

Visualizza informazioni su CPU, memoria, processi, ecc.

iostat

Questo strumento della 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 report, esegui questo comando:

iostat

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

iostat -c

Per ulteriori parametri, usa questo comando:

iostat --help

mpstat

L'utilità della riga di comando mpstat mostrerà 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à del dispositivo di sistema tramite la riga di comando.

È possibile installare con questo comando:

sudo apt-get install saidar

Per iniziare il monitoraggio, esegui questo comando:

saidar -c -d 1

Le statistiche verranno aggiornate ogni secondo.

GKrellM

GKrellM è un widget personalizzabile con vari temi che vengono visualizzati sulle informazioni del dispositivo del sistema desktop (CPU, temperatura, memoria, rete, ecc.).

Per installare GKrellM, esegui 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.

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/

    
risposta data Maythux 08.03.2014 - 10:43
19

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

  1. Comandi di sistema come top , free -m , vmstat , iostat , iotop , sar , netstat ecc. Nulla si avvicina a questi programmi di utilità Linux quando si esegue il debug di un problema. Questi comandi ti danno un'immagine chiara che sta andando nel tuo server
  2. SeaLion : L'agente esegue tutti i comandi menzionati in # 1 (anche definiti dall'utente) e le uscite 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 è chiara. E 'GRATIS
  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 plugin nagios che coprono praticamente tutte le metriche importanti di Linux
  4. Munin
  5. Densità del server: un servizio a pagamento basato sul cloud che raccoglie importanti metriche Linux e offre agli utenti la possibilità di scrivere propri plugin.
  6. Nuova reliquia: un altro servizio di monitoraggio ben noto.
  7. Zabbix
risposta data stylusbrook 20.11.2013 - 14:30
9

Negli ultimi anni ho usato:

Indicatore di caricamento del sistema

disponibile da Centro software

    
risposta data david6 22.02.2014 - 22:50
7

top

top sta monitorando il software, elencando tutti i processi con l'utilizzo della CPU / RAM, l'utilizzo complessivo della CPU / RAM e altro Inoltre è per lo più installato di default

htop

htop è come una versione estesa di top. Ha tutte le caratteristiche di cui sopra, ma puoi vedere i processi figli e personalizzare la visualizzazione di tutto. Ha anche colori.

iotop

Iotop è specifico per il monitoraggio di I / O hard rive Elenca tutti i processi e mostra il loro utilizzo del disco rigido per leggere e scrivere.

    
risposta data BeryJu 10.05.2013 - 12:43
4

Potresti provare sysmon . Sebbene non sia elegante come Glance, è 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 psutil per monitorare la maggior parte delle cose. È più semplice utilizzare un programma di installazione di moduli esterni invece di compilare 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 la codifica.

Per prima cosa, crea un file chiamato usage.py .

gedit ~/usage.py

Inizia importando psutil

import psutil

Quindi, crea una funzione per monitorare la percentuale in cui i core della CPU funzionano.

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]), "%"

Analizziamolo un po ', vero?

La prima riga, cpu_num = psutil.cpu_percent(interval=1, percpu=True) , trova la percentuale in cui i core della tua CPU sono in esecuzione e la assegna a un elenco chiamato cpu_perc .

Questo ciclo 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 attuale di ciascun 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 dati diversi sulla RAM del tuo computer.

Successivamente, puoi aggiungere alcuni dati 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 scambio, aggiungi questa funzione.

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

Questo è piuttosto semplice.

La temperatura è piuttosto difficile da fare, quindi potrebbe essere necessario fare qualche ricerca per capire cosa funzionerà con il tuo hardware. Dovrai visualizzare il contenuto di un determinato file.

L'utilizzo 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 puoi 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 riga 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. Passa i dischi che vuoi 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 questo aiuti! Commenta se hai qualche domanda.

link

    
risposta data calthecoder 13.06.2015 - 22:43
2

Il pacchetto systat ha uno strumento chiamato sar che fa tutto ciò che vuoi. Può anche raccogliere dati storici in modo da poter vedere cosa è successo qualche tempo fa.

    
risposta data Grzegorz Żur 10.05.2013 - 15:22
2

SeaLion può essere utile strumento in quanto ha comandi integrati per monitorare le prestazioni del tuo server e puoi anche aggiungere i tuoi comandi personalizzati , scirpts e log output. È molto semplice da configurare e scoprire cosa è andato storto in un momento specifico.

    
risposta data Adam Johnson 08.07.2014 - 09:48
1

Raccomando link

Molto semplice da configurare e utilizzo minimo delle risorse.

    
risposta data Ronny 27.05.2013 - 14:30
1

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

    
risposta data menixator 08.03.2014 - 11:18
1

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à.

    
risposta data ShaneCar 03.12.2015 - 11:33
1
  1. Il comando free è il comando più semplice e facile da usare per controllare l'utilizzo della memoria su linux / ubuntu.

    free -m
    
  2. Per controllare l'utilizzo della memoria è necessario leggere il file /proc/meminfo .

    cat /proc/meminfo
    
  3. Il comando vmstat con l'opzione s .

    vmstat -s
    
  4. Il comando top 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 le informazioni hardware sulla RAM installata.

    sudo dmidecode -t 17
    
risposta data hennamusick 30.01.2017 - 13:23
0

controlla lo strumento di monitoraggio di Linux ad esempio: link

basato sul web, semplice da installare e persino supportare la virtualizzazione di Linux.

    
risposta data Mark Smith 27.12.2013 - 02:00
0

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

    
risposta data Steve Young 03.03.2017 - 13:17
0

Mi piace usare conky che può essere configurato in qualsiasi modo:

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

Nella parte superiore del display, l'avviso "Blocco schermo: 4 minuti Luminosità: 2074". Questi sono generati da "Indicator-Sysmonitor" che ti permette di visualizzare l'indicatore systray / applicazione usando uno script bash.

Per un tutorial sull'impostazione di "Indicator-Sysmonitor" vedi: È possibile visualizzare BASH in systray come indicatore dell'applicazione?

    
risposta data WinEunuuchs2Unix 08.05.2018 - 04:27

Leggi altre domande sui tag