Använd VnStat för att övervaka nätverkstrafik från Linux-kommandoraden
Övervakning av nätverkstrafik hjälper inte bara administratörer att upptäcka orsaker till trafikrelaterade problem, till exempel överbelastning av nätverket, men hjälper dem också att hålla en flik på trafikflödet till och från Internet. Sammantaget är det en viktig uppgift som kräver en dedikerad och effektiv programvara.
För Linux finns det många GUI-baserade nätverkstrafikövervakningsverktyg, men om du letar efter ett kommandoradsbaserat verktyg är vnstat
värt att prova. I den här artikeln kommer vi att diskutera grunderna i kommandot tillsammans med de funktioner som det ger.
Introduktion
vnStat är ett kommandoradsbaserat nätverkstrafikövervakningsverktyg tillgängligt för både Linux och BSD. Den håller en logg över nätverkstrafik för de valda gränssnitten och använder nätverksgränssnittsstatistiken som tillhandahålls av kärnan som informationskälla, vilket effektivt betyder att det är lätt på systemresurser eftersom det inte snusar någon trafik. För att kommandot ska kunna köras korrekt krävs emellertid åtminstone en 2, 2-seriekärna.
Här är några av de funktioner som den ger:
- Den statistik som samlar in fortsätter genom systemåterstart
- Den kan övervaka flera gränssnitt vid vilken tidpunkt som helst
- Det ger flera utmatningsalternativ: sammanfattning, timme, daglig, månad, vecko och topp 10 dagar
- Månader kan konfigureras för att följa faktureringsperioden
- Det ger ett alternativ att producera produktionen som en png-bild
- Det är lätt på systemresurser
- Den kan användas utan root behörigheter
Ladda ner och installera
Användare av Debian-baserade Linux-distributioner, som Ubuntu, kan enkelt hämta och installera verktyget med följande kommando:
sudo apt-get install vnstat
Alternativt kan du också ladda ner kommandos källkodspaket från dess officiella hemsida och installera det manuellt.
Användningsexempel
Här är några exempel på hur kommandot vnstat
kan användas:
Obs! Alla exempel som presenteras i denna artikel testas på Ubuntu 14.04.
Standardutgång
Om du kör kommandot vnstat
utan något kommandoradsalternativ, visas en månads- och daglig rapport om nätverksaktiviteten. Här är det output som kommandot gav på mitt system:
vnstat
Så klart från första raden i utgången uppdaterade vnstat
någon slags databas innan den producerade någon annan utmatning. Det här är samma databas (motsvarande ett nätverksgränssnitt) som verktyget skapade när du installerade det:
Databasen är skapad med samma namn som gränssnittet som övervakas ( eth0
i det här fallet) och lagras som en FPT-fil i /var/lib/vnstat/
katalogen.
Visa timme, dagligen, veckovis och månadstrafik
Kommandot ger kommandoradsalternativ för att visa timme och dag, såväl som månadsvis, nätverksaktivitet. Till exempel, för att visa timvis trafik, använd kommandoraden -h
kommandoraden:
vnstat -h
För att visa daglig trafik, använd alternativet -d
:
vnstat -d
På samma sätt, för att visa veckovis och månadstrafik, använd respektive -w
och -m
kommandoradsalternativ:
Provtrafik för ett visst antal sekunder med alternativet -tr
Kommandot vnstat
kan du beräkna hur mycket trafik som går igenom det valda gränssnittet under ett visst antal sekunder. Detta kan göras med hjälp av -tr
alternativet. Till exempel använde jag följande kommando för att beräkna den genomsnittliga trafikmängden som går igenom eth0
på 10 sekunder:
vnstat -tr 10
Observera att standardtiden kommer att vara 5 sekunder om en nummerparameter inte ingår.
Visa utmatningen i en rad
Du kan också tvinga kommandot vnstat
att producera utmatning i en enda rad, ett format som är särskilt lämpat för att analysera kommandot av kommandot från koden. Detta kan göras genom att använda alternativet --oneline
. Här är ett exempel:
vnstat --oneline
För mer information om vnstat
, gå igenom sin man sida.
Slutsats
Vnstat är ett praktiskt verktyg för dem som vill övervaka nätverkstrafik via kommandoraden. Det ger inte bara ett brett utbud av alternativ men är också extremt lätt på systemresurser. Har du någonsin använt vnstat
eller något annat liknande verktyg? Hur var din erfarenhet? Dela dina tankar i kommentarer nedan.