Brug VnStat til at overvåge netværkstrafik fra Linux Command Line
Overvågning af netværkstrafik hjælper ikke kun administratorer med at registrere årsager til trafikrelaterede problemer, som f.eks. Overbelastning af netværk, men hjælper dem også med at holde en fane på trafikstrømmen til og fra internettet. Alt i alt er det en vigtig opgave, der kræver en dedikeret og en effektiv software.
For Linux er der mange GUI-baserede netværkstrafikovervågningsværktøjer, men hvis du leder efter et kommandolinjebaseret værktøj, er vnstat
værd at prøve. I denne artikel vil vi diskutere de grundlæggende elementer i kommandoen sammen med de funktioner, den giver.
Introduktion
vnStat er et kommandolinjebaseret netværkstrafikovervågningsværktøj til både Linux og BSD. Det holder en log over netværkstrafik for de valgte grænseflader og bruger den netværkskortstatistik, der leveres af kernen som informationskilde, hvilket effektivt betyder, at det er let på systemressourcer, da det ikke snupper nogen trafik. Men for at kommandoen skal køre korrekt, kræves der i det mindste en 2, 2-seriens kerne.
Her er nogle af de funktioner, den giver:
- De statistikker, den samler, fortsætter ved hjælp af system genstart
- Den kan overvåge flere grænseflader til enhver tid
- Det giver flere output muligheder: opsummering, time, daglig, månedlig, ugentlig og top 10 dage
- Måneder kan konfigureres til at følge faktureringsperioden
- Det giver mulighed for at producere output som et png-billede
- Det er let på systemressourcer
- Det kan bruges uden root tilladelser
Download og installer
Brugere af Debian-baserede Linux-distributioner, som Ubuntu, kan nemt downloade og installere hjælpeprogrammet ved hjælp af følgende kommando:
sudo apt-get install vnstat
Alternativt kan du også downloade kommandos kildepakke fra dens officielle hjemmeside og installere den manuelt.
Anvendelseseksempler
Her er nogle eksempler på hvordan kommandoen vnstat
kan bruges:
Bemærk : Alle eksempler, der præsenteres i denne artikel, testes på Ubuntu 14.04.
Standard output
Hvis du kører kommandoen vnstat
uden kommandolinjevalg, vises den en månedlig og daglig rapport om netværksaktiviteten. Her er output kommandoen produceret på mit system:
vnstat
Som klart fra den første linje i output opdaterede vnstat
en slags database, før der blev produceret andre output. Dette er den samme database (svarende til en netværksgrænseflade), som værktøjet oprettede, da du installerede det:
Databasen er oprettet med samme navn som den grænseflade, der overvåges ( eth0
i dette tilfælde) og er gemt som en FPT-fil inde i /var/lib/vnstat/
directory.
Vis timers, daglig, ugentlig og månedlig trafik
Kommandoen giver kommandolinjevalg til visning hver time og dagligt såvel som månedligt, netværksaktivitet. For eksempel at vise timetrafik, brug kommandolinjen -h
:
vnstat -h
For at vise daglig trafik skal du bruge kommandolinjen -d
:
vnstat -d
På samme måde skal du bruge kommandolinjen -w
og -m
at vise ugentlig og månedlig trafik:
Prøve trafik i et bestemt antal sekunder ved hjælp af -tr-indstillingen
vnstat
kommandoen giver dig mulighed for at beregne, hvor meget trafik der går gennem den valgte grænseflade i et givet antal sekunder. Dette kan gøres ved hjælp af -tr
indstillingen. For eksempel brugte jeg følgende kommando til at beregne den gennemsnitlige trafikmængde, der går gennem eth0
om 10 sekunder:
vnstat -tr 10
Bemærk, at standardtiden vil være 5 sekunder, hvis en nummerparameter ikke er inkluderet.
Vis output i en linje
Du kan også tvinge kommandoen vnstat
til at producere output i en enkelt linje, et format, der er specielt egnet til at analysere udgangen af kommandoen inden for kode. Dette kan gøres ved at bruge --oneline
indstillingen. Her er et eksempel:
vnstat --oneline
For mere information om vnstat
, gå gennem sin man side.
Konklusion
Vnstat er et praktisk værktøj til dem, der ønsker at overvåge netværkstrafik via kommandolinjen. Det giver ikke kun et bredt udvalg af muligheder, men det er også ekstremt let på systemressourcer. Har du nogensinde brugt vnstat
eller nogen anden lignende hjælpeprogram? Hvordan var din oplevelse? Del dine tanker i kommentarer nedenfor.