V tomto tutoriálu uvidíme, co je vnStat, jak jej nainstalovat a jak monitorovat šířku pásma sítě pomocí vnStat v operačních systémech Linux a BSD.
Úvod Vnstat
VnStat je bezplatný, open source, lehký a konzolový monitor síťového provozu. Pomocí VnStat můžeme snadno zjistit, kolik šířky pásma sítě je spotřebováno, a zobrazit výsledek hodinově, denně, měsíčně nebo za konkrétní časové období.
Vnstat shromažďuje podrobnosti o použití jednoho nebo více síťových rozhraní a zobrazuje souhrn na příkazovém řádku. Pomáhá také vypočítat přibližné množství využití šířky internetového pásma za měsíc, za den nebo za určité časové období.
Nainstalujte vnStat v systému Linux
VnStat je k dispozici ve výchozích úložištích mnoha operačních systémů Linux a Unix. Můžete jej nainstalovat pomocí správce balíčků vaší distribuce.
Na systémech založených na Arch:
Ujistěte se, že jste povolili [Community]
úložiště a nainstalujte jej pomocí pacmana jako níže:
$ sudo pacman -S vnstat
V systémech Debian, Uubntu, Linux Mint, Pop OS:
$ sudo apt install vnstat
Na Ubuntu možná budete muset povolit [Universe]
úložiště pro instalaci vnstat.
Na Redhat, CentOS, AlmaLinux, Rocky Linux:
Nejprve přidejte a povolte úložiště EPEL:
$ sudo dnf nainstalovat epel-release
A poté nainstalujte vnStat, jak je uvedeno výše.
$ sudo dnf install vnstat
Na Fedoře:
$ sudo dnf install vnstat
Na openSUSE:
$ sudo zypper install vnstat
Po instalaci vnStat spusťte jeho službu příkazem:
$ sudo systemctl enable --now vnstat
Vnstat nemusíte spouštět na systémech založených na DEB, protože se automaticky spustí během instalace.
Nainstalujte vnStat na FreeBSD
Na systémech BSD, jako je freeBSD, aktualizujte strom portů a nainstalujte vnStat jako root
uživatel pomocí příkazů:
# aktualizace balíčků
# pkg install vnstat
Po instalaci povolte a spusťte službu vnStat, jak je uvedeno níže.
# echo 'vnstat_enable="YES"'>> /etc/rc.conf
# spuštění služby vnstat
Ukázkový výstup:
Spouštění vnstat.V databázi nebyla nalezena žádná rozhraní, přidávám dostupná rozhraní...Přidáno rozhraní "em0" s limitem šířky pásma 1000 Mbit.-> Bylo nalezeno 1 nové rozhraní. Limity lze upravit pomocí konfiguračního souboru. Viz "man vnstat.conf". Nežádoucí rozhraní lze z monitorování odebrat pomocí "vnstat --remove".
Nakonfigurujte výchozí síťové rozhraní v systému Linux
vnStat používá eth0
jako výchozí síťové rozhraní v jeho konfiguračním souboru (/etc/vnstat.conf
).
V některých systémech Linux (např. Ubuntu) se však název síťového rozhraní může lišit, například enp0s3
, enp0s8
. Název síťového rozhraní můžete ověřit pomocí "ip addr"
příkaz.
Pojďme se podívat na obsah konfiguračního souboru vnstat.
$ head /etc/vnstat.conf
Ukázkový výstup:
# konfigurační soubor vnStat 1.18### výchozí rozhraníRozhraní "eth0" # umístění adresáře databázeDatabaseDir "/var/lib/vnstat"# národní prostředí (LC_ALL) ("-" =použití národního prostředí systému)
Jak vidíte, výchozí rozhraní je etho
v tomto souboru.
Pojďme zkontrolovat dostupná síťová rozhraní identifikovaná vnstat.
$ ls /var/lib/vnstatenp0s3 enp0s8
Jak vidíte, dostupná síťová rozhraní se liší od toho, které je definováno v souboru vnstat.conf.
Pokud nenastavíte správné výchozí rozhraní, může se při zobrazení hodinového nebo měsíčního provozu šířky pásma sítě zobrazit následující chyba.
Chyba:Nelze přečíst databázi "/var/lib/vnstat/eth0":Žádný takový soubor nebo adresář
K tomu dochází, protože výchozí rozhraní je nesprávně definováno v /etc/vnstat.conf
soubor.
Chcete-li nakonfigurovat výchozí síťové rozhraní, upravte /etc/vnstat.conf
soubor a aktualizujte správný název rozhraní. Můžete přímo upravit /etc/vnstat.conf
soubor a globálně aktualizujte název rozhraní. Doporučuje se však vytvořit si vlastní konfigurační soubor vnstat v adresáři HOME uživatele.
$ cp /etc/vnstat.conf ~/.vnstatrc
$ nano ~/.vnstatrc
Budu používat enp0s3
jako mé výchozí rozhraní.

Nahraďte enp0s3 svým vlastním. Uložte a zavřete soubor.
Nakonfigurujte výchozí síťové rozhraní na FreeBSD
Upravit konfigurační soubor vnstat:
# vi /usr/local/etc/vnstat.conf
Pokud konfigurační soubor není k dispozici, vytvořte nový pomocí vzorového konfiguračního souboru:
# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf
Potom aktualizujte správné výchozí síťové rozhraní:
Rozhraní "em0"
Uložte a zavřete soubor.
Monitorování šířky pásma sítě pomocí vnStat v Linuxu a Unixu
Pokud s vnStat začínáte, vyvolejte část nápovědy vnStat a zobrazte seznam dostupných možností spuštěním tohoto příkazu:
$ vnstat --help
Ukázkový výstup:
vnStat 1.18 od Teemu Toivola-q, --query query database -h, --hours show hours -d, --days show days -m, --months show months -w, --weeks show weeks -t, --top10 show top 10 days -s, --short use short output -u, --update update database -i, --iface select interface (výchozí:eth0) -?, -- help krátká nápověda -v, --version zobrazit verzi -tr, --traffic vypočítat provoz -ru, --rateunit swap nakonfigurovaná rychlostní jednotka -l, --live zobrazit přenosovou rychlost v reálném časeViz také "--longhelp" pro kompletní možnosti seznam a "man vnstat".
Zobrazení využití šířky pásma všech rozhraní
Nyní zobrazme síťový provoz všech rozhraní.
Chcete-li to provést, stačí spustit:
$ vnstat
Ukázkový výstup:
rx / tx / celkem / odhadovaný enp0s3:září '19 120 KiB / 66 KiB / 186 KiB / 0 KiB dnes 120 KiB / 66 KiB / 186 KiB / -- enp0s8:září 2019 128 KiB / 218 KiB KiB / 0 KiB dnes 128 KiB / 88 KiB / 216 KiB / --

Tady,
rx
- Přijatý provoztx
- Přenesený provoz
Počkejte několik minut, než Vnstat začne shromažďovat využití síťového provozu. Pokud spustíte vnstat ihned po jeho instalaci, můžete získat výsledek podobný níže.
enp0s3:Zatím není k dispozici dostatek dat.
Nebo získáte následující výstup v distribucích založených na RPM, jako je CentOS.
Nebyla nalezena žádná databáze, není co dělat. Pro nápovědu použijte --help.Novou databázi lze vytvořit pomocí následujícího příkazu:vnstat --create -i eth0Nahraďte 'eth0' rozhraním, které by mělo být monitorováno. V současné době jsou k dispozici následující rozhraní:enp0s3 (1000 Mbit) loTeď nezobrazuje nic. Je to proto, že vnStat ještě nezačal shromažďovat statistiky.
Zobrazení využití šířky pásma konkrétního rozhraní
Chcete-li zobrazit využití šířky pásma sítě konkrétního rozhraní, například enp0s3 , stačí uvést název síťové karty jako níže.
$ vnstat -i enp0s3Ukázkový výstup:
Aktualizace databáze:Po 9. září 08:26:47 2019 enp0s3 od 9. 9. 2019 rx:136 KiB tx:74 KiB celkem:210 KiB měsíčně rx | tx | celkem | prům. sazba ------------------------+-------------+---------- ---+--------------- Září '19 136 KiB | 74 kB | 210 kiB | 0,00 kbit/s -----------------------+-------------+-------- ------+--------------- odhadovaný -- | -- | -- | denně rx | tx | celkem | prům. sazba ------------------------+-------------+---------- ---+--------------- dnes 136 KiB | 74 kB | 210 kiB | 0,06 kbit/s -----------------------+-------------+-------- ------+--------------- odhadovaný -- | -- | -- |![]()
Zde
enp0s3
je název mé síťové karty. Název síťové karty najdete pomocí"ip addr"
příkaz.Na FreeBSD , název síťové karty je
em0
. Chcete-li zobrazit jeho šířku pásma, jednoduše spusťte:# vnstat -i em0Ukázkový výstup:
Aktualizace databáze:2019-09-09 16:40:00 em0 od 2019-09-09 rx:606,84 KiB tx:56,12 KiB celkem:662,96 KiB měsíčně rx | tx | celkem | prům. sazba ------------------------+-------------+---------- ---+--------------- 2019-09 606,84 KiB | 56,12 KiB | 662,96 KiB | 7 bit/s ------------------------+-------------+-------- ------+--------------- odhadovaný -- | -- | -- | denně rx | tx | celkem | prům. sazba ------------------------+-------------+---------- ---+--------------- dnes 606,84 KiB | 56,12 KiB | 662,96 KiB | 90 bit/s ------------------------+-------------+-------- ------+--------------- odhadem 873 kiB | 80 kiB | 953 kB![]()
Zobrazení využití šířky pásma za hodinu
Zobrazme výsledky síťového provozu za hodinu. Chcete-li to provést, spusťte:
$ vnstat -hUkázkový výstup:
enp0s3 09:46 ^ r | r r | r r | r r | r r r | rt rt r | rt rt r | rt rt rt | rt rt rt | r rt rt rt -+-------------------------------------------- -------------------------------> | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 h rx (KiB) tx (KiB) ][ h][K rx (K) ][ h][K rx (K) ) tx (KiB) 10 0 0 ][ 18 0 0 ][ 02 0 011 0 0 ][ 19 0 0 ][ 03 0 012 0 0 ][ 20 0 0 ][ 04 0 013 0 0 ][ 21 0 [ 05 0 014 0 0 ][ 22 0 0 ][ 06 12 715 0 0 ][ 23 0 0 ][ 07 86 4816 0 0 ][ 00 0 0 ][ 08 88 4517 0 0 ][ 0 ][ 01 59 32![]()
Pokud máte více rozhraní, použijte -i parametr pro zobrazení hodinového síťového provozu konkrétní karty, jak je uvedeno níže.
$ vnstat -h -i enp0s8Doporučené čtení:
- Jak omezit šířku pásma sítě v Linuxu pomocí Wondershaper
Zobrazení denního využití šířky pásma
Použijte '-d'
příznak pro zobrazení síťového provozu výchozího síťového rozhraní za den.
$ vnstat -d
Ukázkový výstup:
enp0s3 / denní den rx | tx | celkem | prům. sazba ------------------------+-------------+---------- ---+--------------- 9. 9. 2019 258 kiB | 138 kB | 396 KiB | 0,09 kbit/s -----------------------+-------------+-------- ------+--------------- odhadovaný -- | -- | -- |
Zobrazení týdenního využití šířky pásma
$ vnstat -w
Ukázkový výstup:
enp0s3 / týdenní rx | tx | celkem | prům. sazba ---------------------------+-------------+------- ------+--------------- posledních 7 dní 258 KiB | 138 kB | 396 KiB | 0,00 kbit/s aktuální týden 258 kB | 138 kB | 396 KiB | 0,09 kbit/s ---------------------------+-------------+----- ---------+--------------- odhadovaný -- | -- | -- |
Zobrazení měsíčního využití šířky pásma
Chcete-li zobrazit měsíční využití karty síťového rozhraní, použijte '-m'
přepínač.
$ vnstat -m
Ukázkový výstup:
enp0s3 / měsíc rx | tx | celkem | prům. sazba ------------------------+-------------+---------- ---+--------------- Září '19 258 KiB | 138 kB | 396 KiB | 0,00 kbit/s -----------------------+-------------+-------- ------+--------------- odhadovaný -- | -- | -- |
Zobrazení využití šířky pásma za posledních deset dní
Chcete-li zobrazit využití sítě za posledních deset dní, použijte '-t'
vlajka.
$ vnstat -t
Ukázkový výstup:
enp0s3 / top 10 # den rx | tx | celkem | prům. sazba -----------------------------+--------------+----- --------+--------------- žádné údaje nejsou k dispozici ----------------------- ------+-------------+-------------+---------------
Nezobrazuje žádná data prvních deseti dnů, protože jsem dnes nainstaloval Vnstat.
Doporučené čtení:
- Nainstalujte nástroj NetData Performance Monitoring Tool v systému Linux
Zobrazení využití šířky pásma v konkrétním čase
Můžeme také zobrazit využití šířky pásma v konkrétním čase.
Chcete-li zobrazit využití šířky pásma za posledních deset sekund, spusťte:
$ vnstat -i enp0s3 -tr 10
Ukázkový výstup:
7 paketů vzorkovaných za 10 sekund Průměrný provoz pro enp0s3 rx 0,28 kbit/s 0 paketů/s tx 0,14 kbit/s 0 paketů/s
Zobrazení využití šířky pásma v reálném čase
Chcete-li zahájit živé sledování používání konkrétní karty rozhraní, spusťte:
$ vnstat -i enp0s3 -l
Ukázkový výstup:
Monitorování enp0s3... (pro zastavení stiskněte CTRL-C) rx:0 kbit/s 0 p/s tx:0 kbit/s 0 p/s

Chcete-li zastavit živé sledování, stiskněte CTRL-C
.
Další podrobnosti naleznete na manuálových stránkách:
$ man vnstat
Závěr
VnStat je praktický a užitečný nástroj pro sledování používání internetu nebo síťového provozu pro jedno nebo více síťových rozhraní. V případě, že vás zajímá, jakou šířku pásma denně/měsíčně spotřebováváte, můžete tento nástroj použít ke zjištění bez pomoci vašeho poskytovatele internetových služeb nebo pomocí nástrojů třetích stran.