Gestione di un Server Linux: 18 comandi utili per monitorare il traffico di rete
È un lavoro veramente duro per un SysAdmin gestire ogni giorno i problemi di performance di un Server Linux. Mantenere un server up e funzionante non è per niente un compito banale, ciò richiede dedizione, esperienza e passione.
Per fortuna esistono molti tool progettati per facilitare questi compiti, oggi nel nostro articolo vi sveleremo 18 utili comandi con cui potremo monitorare l’uso della banda ed individuare quindi un eventuale problema che degrada le performance del nostro server. I tool sono disponibili per tutte le versioni Linux, nella nostra guida prenderemo in considerazione l’installazione su un server CentOS e Debian.
- nload
nload è un comando che consente agli utenti di monitorare il traffico in entra e in uscita in modo indipendente. Traccia un grafico e le unità di misura possono essere modificati in base alle esigenze. L’utilizzo è semplice e non ci sono molte opzioni. Vediamo come installarlo:# CentOS $ yum install nload -y # Ubuntu/Debian $ sudo apt-get install nload
gli utenti di CentOS dovranno abilitare i repository Epel
Per avviarlo da terminale digitiamo:$ nload
- iftop
iftop misura il flusso di dati di ogni singola connessione di socket ed è differente rispetto al comando che abbiamo visto in precedenza. iftop utlizza la libreria pcap per cattuare i pacchetti in entrata e uscita dalla scheda di rete del server, e somma il numero e il peso di ogni pacchetto per calcolare la banda utilizzata in quel momento. Il comando iftop è abbastanza sofisticato, infatti con opportuni filtri è possibile monitorare il consumo di banda solo per gli host impostati.
Per installarlo nel nostro server linux digitiamo:# fedora or centos $ yum install iftop -y # ubuntu or debian $ sudo apt-get install iftop
Gli utenti CentOS dovrano abilitare i repository Epel. Avviamolo con il comando:
$ iftop -n
l’opzione -n farà si che verranno mostrati gli IP al posto degli hostname
- iptraf
iptraf è un comando interattivo e colorato per il monitor della banda. Esso permette di visualizzare le connessioni con i singoli host remoti e la quantità di dati scambiati in real time.
Esso colleziona una grande varietà di informazioni sul traffico di ogni singolo IP che passa per la rete, includendo i flag TCP, dettagli ICMP, e vari protocolli di rete usati. L’installazione è semplice:# Centos (base repo) $ yum install iptraf # ubuntu or debian $ sudo apt-get install iptraf
Per avviarlo basta digitare da riga di comando:
$ iptraf
- nethogs
nethogs è simile al comando top e mostra ogni singolo processo, il programma utilizzato e il consumo di dati attuale. De default il tool visualizza le risorse in termini di utilizzo in ordine decrescente in modo che in cima vi sarà l’utente e il processo che in quel momento sta consumando di più.
In caso di un improvviso picco di banda basterà avviare questo comando per individuare subito quale processo ne è responsabile. Questo fa di nethogs un tool fondamentale per l’analisi delle risorse del nostro server. Per installarlo:# ubuntu or debian (default repos) $ sudo apt-get install nethogs # fedora or centos (from epel) $ sudo yum install nethogs -y
Avviamolo con
nethogs
- bmon
bmon (Bandwidth Monitor) è molto simile a nload e visualizza il traffico presente in tutte le interfacce di rete. L’output del comando consiste in un grafico e dettagli dei pacchetti che viaggiano nella rete. Installiamolo semplicemente con:# ubuntu or debian $ sudo apt-get install bmon # fedora or centos (from repoforge) $ sudo yum install bmon
E avviamolo con il comando:
bmon
premendo “g” abiliteremo il grafico e con “d” i dettagli:
- slurm
slurm è un altro tool per il monitor della banda che mostra un grafico in ascii colorato ad indicare il traffico di rete in entrate e uscita. Vi sono 3 differenti stili grafici selezionabili dalle opzioni -c -l o -s. slurm non mostra dettagli sulle singole connessioni ma sul totale. Possiamo installarlo con:# debian or ubuntu $ sudo apt-get install slurm # fedora or centos $ sudo yum install slurm -y
Avviamolo con:
$ slurm -s -i eth0
- tcptrack
tptrack è simile a iftop e anche lui utilizza la libreria pcap per catturare i pacchetti e calcolarne l’utilizzo di banda utilizzato da ogni connessione. È possibile applicare i filtri di pcap per monitorare connessioni specifiche. Installiamolo con:# ubuntu, debian $ sudo apt-get install tcptrack # fedora, centos (from repoforge repository) $ sudo yum install tcptrack
Avviamolo con:
tcptrack -i eth0
- vnstat
vnstat è uno strumento differenti dagli altri, infatti è un servizio che rimane in ascolto nel sistema e colleziona le statistiche di utilizzo di banda e molto altro. Successivamente è possibile utilizzarlo per estrarre un report dettagliato sul consumo di banda e altro. Per installarlo:# ubuntu or debian $ sudo apt-get install vnstat # fedora or centos (from epel) $ sudo yum install vnstat
Per utilizzarlo:
$ vnstat
vnstat ha anche la possibilità di visualizzare l’utilizzo di banda in realtime con il comando:
vnstat -l -i eth0
- bwm-ng
Bwm-ng (Bandwidth Monitor Next Generation) è un tool molto semplice da utilizzare e visualizza l’utilizzo di banda in real time per il traffico in entrata ed uscita di tutte le schede di rete disponibili nel sistema. L’utilizzo è molto semplice, con il tasto “d” variamo l’unità di misura e con “+” e “-” l’intervallo di tempo. Per installarlo:# ubuntu or debian $ sudo apt-get install bwm-ng # fedora or centos (from epel) $ sudo apt-get install bwm-ng
per avviarlo:
bwm-ng
- cbm – Color Bandwidth Meter
Un piccolo e semplice tool per monitorare e visualizzare il volume di traffico attraverso le interfacce di rete. Non sono disponibili altre opzioni. Per installarlo:$ sudo apt-get install cbm
Per avviarlo:
$ cbm
- speedometer
Un altro piccolo tool che mostra i dettagli e disegna un grafico sul traffico attuale nella rete in entrata ed uscita. Installiamolo con:# ubuntu or debian users $ sudo apt-get install speedometer
E avviamolo semplicemente con:
$ speedometer
- pktstat
pkstat mostra tutte le connessioni attive in realtime e la velocità di trasferimento dati. Esso inoltre mostra il tipo di connessione (TCP o UDP) e i dettagli sulle richieste http. Per installarlo:$ sudo apt-get install pktstat
Per avviarlo:
$ pktstat
- netwatch
netwatch fa parte della collezione di tool di netdiag, come altri visualizza tutte le connessioni tra l’host locale e quelli remoti mostrando il traffico in entrata ed uscita e la velocità di ogni connessione. Installiamo la suite di tool con:$ sudo apt-get install netdiag
Per avviarlo:
$ sudo netwatch -e eth0 -nt
- trafshow
trafshow è un altro tool che fa parte della suite di programmi netdiag e come netwatch visualizza le connessioni attuali, il protocollo e la velocità di trasferimento. E’ possibile applicare i filtri della libreria pcap. Se abbiamo installato “netdiag” il tool sarà già disponibile nel sistema, avviamolo quindi:$ sudo trafshow -i eth0 tcp
- netload
Il comando netload visualizza un piccolo report sul carico corrente di traffico e il totale numero di byte trasferiti dall’avvio del comando. Non ci sono altre opzioni disponibili e fa parte sempre della collezione netdiag. Avviamolo con:$ netload eth0
- ifstat
ifstat riporta la banda di rete in stile testuale. L’output è in un formato semplice da loggare e analizzare utilizzando altri strumenti di statistiche o utilità. Per installarlo:# ubuntu, debian $ sudo apt-get install ifstat # fedora, centos (Repoforge) $ sudo yum install ifstat
Avviamolo con:
$ ifstat -t -i eth0 0.5
- dstat
dstat è un tool versatile (scritto in python) che può monitorare diverse sistemi di statistiche e riportare i dati in stile testuale o creare un log in formato csv o simili. Per installarlo:$ sudo apt-get install dstat
Per avviarlo:
$ dstat -nt
- collectl
collectl riporta statistiche di sistema in stile simile a dstat, e come per dstat rileva statistiche di utilizzo di differenti risorse di sistema come cpu, memoria, rete, ecc. Per installarlo:# Ubuntu/Debian users $ sudo apt-get install collectl #Fedora $ sudo yum install collectl
Per monitorare ad esempio l’utilizzo di banda:
$ collectl -sn -oT -i0.5
Nella nostra guida abbiamo visto come diversi strumenti possono aiutare il sistemista a facilitare il compito di analisi di un Server Linux. Rimane comunque necessario una buona interpretazione dei dati per risolvere eventuali problemi.
Se avete suggerimenti o consigli lasciate un commento!