vnStat - lekki monitor sieciowy oparty na konsoli
vnStat to oparty na konsoli monitor ruchu sieciowego dla systemów Linux i BSD, który prowadzi dziennik ruchu sieciowego dla wybranych interfejsów. Wykorzystuje statystyki interfejsu sieciowego dostarczone przez jądro jako źródło informacji. Oznacza to, że vnStat nie będzie wąchał żadnego ruchu, a także zapewni niewielkie wykorzystanie zasobów systemowych.
W tym samouczku omówimy:
- cechy
- Instalacja
- Konfiguracja
- Uruchom usługę Systemd
- Użycie (z wiersza poleceń)
- Przykład wyświetlania Conky w czasie rzeczywistym
cechy
- szybki i prosty w instalacji i uruchomieniu
- zebrane statystyki są utrzymywane przez ponowne uruchomienie systemu
- może monitorować wiele interfejsów jednocześnie
- kilka opcji wyjściowych
- podsumowanie, co godzinę, codziennie, co miesiąc, co tydzień, najlepsze 10 dni
- opcjonalne wyjście obrazu png (przy użyciu libgd)
- miesiące można skonfigurować tak, aby śledziły okres rozliczeniowy
- lekkie, minimalne zużycie zasobów
- to samo niskie użycie procesora niezależnie od ruchu
- może być używany bez uprawnień roota
- internetowy edytor konfiguracji kolorów
Instalacja
nvStat znajduje się w oficjalnych repozytoriach, więc nie trzeba linkować do nowego ppa. Aby zainstalować, utwórz instancję Terminal za pomocą Ctrl+ Alt+ Ti wpisz polecenie:
sudo apt-get update
sudo apt-get install vnstat
Po instalacji pozostaw terminal otwarty w następujących sekcjach. Nie ma potrzeby ponownego uruchamiania.
Konfiguracja
Wybierz preferowany interfejs sieciowy i odpowiednio zmodyfikuj zmienną Interface /etc/vnstat.conf
. Aby wyświetlić listę wszystkich interfejsów dostępnych dla vnstat, użyj:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
Aby rozpocząć monitorowanie określonego interfejsu, musisz najpierw zainicjować bazę danych. Każdy interfejs potrzebuje własnej bazy danych. Polecenie inicjalizacji jednego dla interfejsu eth0 to:
sudo vnstat -u -i enp59s0
Uruchom usługę Systemd
Po wprowadzeniu interfejsów i sprawdzeniu pliku konfiguracyjnego. Możesz rozpocząć proces monitorowania poprzez systemd
:
sudo systemctl start vnstat.service
Aby usługa ta była stale używana:
sudo systemctl enable vnstat.service
Odtąd vnstat
zbieranie informacji o zużyciu sieci w tle przy użyciu tak małego procentu procesora, że nie pojawia się na pierwszej 9 liście procesów Conky'ego (monitora systemu) (na moim komputerze).
Użycie (z wiersza poleceń)
Zapytanie o ruch sieciowy:
vnstat -q
Wyświetlanie wykorzystania ruchu sieciowego na żywo:
vnstat -l
Aby znaleźć więcej opcji, użyj:
vnstat --help
Sumy miesięczne
Aby zobaczyć sumy miesięczne, użyj:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Przykład wyświetlania Conky w czasie rzeczywistym
Conky to popularny lekki monitor systemu używany w wielu dystrybucjach Linuksa. Możesz wyświetlić sumy przepustowości vnStat na swoim stożkowym wyświetlaczu w następujący sposób:
30 sekund .gif odpowiedniej sekcji Conky
Kod Conky do stworzenia tego wyświetlacza to:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
Aby zaoszczędzić miejsce na biurku, moje wąskie Conky okienne zastosowania „G” zamiast „Gib”, „M” zamiast „MiB”, itd. Jeśli masz więcej ekranem zmianę nieruchomości substr ($10, 1, 1)
do $10
i zrobić to samo dla $9
.
Być może trzeba będzie zmienić enp59s0
na eth0
, wlan0
lub eth1
itd., W zależności od nazwy sieci zgłoszonej przez ifconfig
.
vnstat