Kako bilježiti i pratiti potrošnju prometa pomoću vnStata
vnStat je lagani konzolni alat koji čuva povijest mrežnog prometa na Linuxu. Pozadinska usluga vnstatd čita brojače sučelja iz jezgre i sprema ih u malu bazu podataka. Promet zatim možete pregledavati po satima, danima, mjesecima i godinama ili u stvarnom vremenu pratiti trenutačnu brzinu prijenosa. vnStat ne hvata pakete, pa je njegovo opterećenje sustava vrlo malo. Prikazuje koliko je prometa prošlo kroz pojedino sučelje, ali ne i koje su IP adrese, portove ili veze taj promet stvorile.
Ovaj vodič prikazuje kako instalirati vnStat iz repozitorija ili iz izvornog koda te kako pregledavati statistiku prometa. vnStat je koristan na svakom poslužitelju na kojem je promet ograničen ili se naplaćuje, na primjer na INTROSERV Linux VPS-u ili namjenskom poslužitelju.
Instalacija vnStata iz repozitorija
Spojite se na poslužitelj putem SSH-a. Pojedinosti potražite u članku Povezivanje putem SSH-a.
Ubuntu i Debian
vnStat je dostupan u standardnim repozitorijima. Instalirajte ga:
sudo apt update sudo apt install -y vnstat
Instalacija pokreće uslugu vnstat i omogućuje njezino pokretanje pri podizanju sustava. Provjerite izvodi li se:
sudo systemctl status vnstat
Izlaz mora prikazati active (running). Ako se usluga ne izvodi, omogućite je i pokrenite naredbom sudo systemctl enable --now vnstat.

AlmaLinux i Rocky Linux
vnStat je dostupan u repozitoriju EPEL. Omogućite EPEL i instalirajte vnStat:
sudo dnf install -y epel-release sudo dnf install -y vnstat
Omogućite i pokrenite uslugu:
sudo systemctl enable vnstat && sudo systemctl start vnstat
Provjerite izvodi li se:
sudo systemctl status vnstat
Instalacija vnStata iz izvornog koda
vnStat prevedite iz izvornog koda ako paket nije dostupan za vašu distribuciju ili ako trebate najnoviju verziju.
Ako je vnStat već instaliran iz repozitorija, prvo uklonite paket: sudo apt remove -y vnstat na Ubuntuu i Debianu ili sudo dnf remove -y vnstat na AlmaLinuxu i Rocky Linuxu. Obje instalacije koriste istu konfiguracijsku datoteku, istu bazu podataka i isti naziv usluge, pa njihovo zajedničko postojanje uzrokuje sukobe.
Instalirajte ovisnosti potrebne za prevođenje. Na Ubuntuu i Debianu:
sudo apt update && sudo apt install -y build-essential libsqlite3-dev wget
Na AlmaLinuxu i Rocky Linuxu:
sudo dnf group install -y "Development Tools" sudo dnf install -y sqlite-devel wget
Preuzmite i raspakirajte najnovije izdanje:
wget https://humdi.net/vnstat/vnstat-latest.tar.gz tar -xf vnstat-latest.tar.gz cd vnstat-*/
Arhiva se raspakira u direktorij u čijem je nazivu broj verzije, na primjer vnstat-2.13. Zamjenski znak u vnstat-*/ omogućuje ulazak u direktorij bez upisivanja broja verzije.
Prevedite i instalirajte vnStat:
./configure --prefix=/usr --sysconfdir=/etc && make && sudo make install
Opcija --prefix=/usr instalira programe u /usr/bin i /usr/sbin, a --sysconfdir=/etc postavlja konfiguracijsku datoteku u /etc/vnstat.conf.
Na AlmaLinuxu i Rocky Linuxu s omogućenim SELinuxom, ako je vnStat prethodno instaliran iz repozitorija, prvo vratite SELinux oznake direktorija baze podataka. U suprotnom se usluga neće pokrenuti i prijavit će pogrešku Permission denied:
sudo restorecon -Rv /var/lib/vnstat
Instalirajte uslugu systemd, zatim je omogućite i pokrenite:
sudo cp -v examples/systemd/vnstat.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now vnstat
Provjerite verziju i stanje usluge:
vnstat --version sudo systemctl status vnstat
Pronalaženje mrežnog sučelja
vnStat prema zadanim postavkama dodaje u bazu podataka sva mrežna sučelja poslužitelja, osim povratnog sučelja (loopback). Da biste vidjeli sučelja koja se trenutačno nalaze u bazi podataka, pokrenite:
vnstat --dbiflist
Sučelja možete ispisati i naredbom ip a. U primjerima u nastavku koristi se sučelje ens3. Zamijenite ga nazivom svojeg sučelja, na primjer eth0 ili enp1s0.
vnStat prema zadanim postavkama sprema nove podatke u bazu podataka svakih 5 minuta. Odmah nakon instalacije naredba vnstat javlja da još nema podataka, na primjer porukom Not enough data available yet ili No data. Pričekajte nekoliko minuta i ponovno pokrenite naredbu.
Pregled statistike prometa
Pokrenite vnstat bez opcija da biste vidjeli sažetak za sva sučelja, koji uključuje promet za tekući dan i mjesec te procjenu do kraja svakog razdoblja.
vnstat
U svim izvješćima rx označava dolazni promet, tx odlazni promet, a total njihov zbroj.
Promet po satima
Za prikaz posljednjih 12 satnih zapisa pokrenite:
vnstat -i ens3 -h --limit 12

Promet po danima
Za prikaz posljednja 2 dnevna zapisa pokrenite:
vnstat -i ens3 -d --limit 2
Bez opcije --limit broj prikazanih zapisa određuje parametar ListDays u datoteci /etc/vnstat.conf, prema zadanim postavkama 30. Parametar ograničava samo ispis, a ne podatke pohranjene u bazi podataka.
Promet po mjesecima
vnstat -i ens3 -m

Promet po godinama
vnstat -i ens3 -y
Promet u stvarnom vremenu
Za praćenje trenutačne brzine prijenosa pokrenite:
vnstat -i ens3 -l
Brzina se osvježava dok ne pritisnete Ctrl+C. Ako se naredba izvodila dulje od 10 sekundi, vnStat zatim prikazuje sažetak za to razdoblje.

Promet u zadanom broju sekundi
Da biste izmjerili prosječnu brzinu prometa tijekom određenog razdoblja, navedite trajanje u sekundama. Na primjer, 20 sekundi:
vnstat -i ens3 -tr 20
Bez navedene vrijednosti mjerenje traje 5 sekundi. Rezultat se prikazuje kada vrijeme istekne.
Grafikon za posljednja 24 sata
Za prikaz prometa u posljednja 24 sata u obliku tekstualnog grafikona pokrenite:
vnstat -i ens3 -hg

Za obradu statistike u skripti koristite opciju --json ili --oneline. Na primjer, vnstat -i ens3 --json d izvozi dnevnu statistiku u JSON formatu.
Postavljanje zadanog sučelja
Ako poslužitelj ima više sučelja, a obično provjeravate samo jedno, postavite ga kao zadano u konfiguracijskoj datoteci /etc/vnstat.conf. Otvorite datoteku:
sudo nano /etc/vnstat.conf
Na AlmaLinuxu i Rocky Linuxu nano nije instaliran prema zadanim postavkama. Instalirajte ga naredbom sudo dnf install -y nano ili koristite vi.
Pronađite redak Interface, uklonite točku sa zarezom na početku i upišite naziv svojeg sučelja:
Interface "ens3"
Spremite datoteku. Sada vnstat prikazuje to sučelje kada ga pokrenete bez opcije -i, na primjer vnstat -d. Usluga vnstat i dalje nadzire sva sučelja.
Potpuni popis opcija dobit ćete naredbom vnstat --longhelp ili u priručniku man vnstat.