Сетевой мониторинг · 7 min read · Nov 11, 2025
Как мониторить сетевой трафик с помощью vnStat на Ubuntu 22.04

vnStat — это бесплатный, открытый и консольный инструмент мониторинга сетевого трафика для операционной системы Linux. С помощью vnStat вы можете отслеживать сетевую статистику за различные временные периоды. Он прост, легковесен и потребляет небольшую часть ресурсов вашей системы. vnStat позволяет генерировать данные о сетевом трафике за час, день, месяц, неделю и день. Этот учебник покажет вам, как установить и использовать vnStat для мониторинга сетевого трафика.
Особенности
- Мониторинг нескольких интерфейсов одновременно.
- Предоставляет несколько вариантов вывода, таких как по дням, неделям и т.д.
- Сортировка данных по часам, дням, месяцам или неделям или получение 10 лучших дней.
- Позволяет генерировать вывод в формате изображения.
- Легковесный и низкое использование ЦП.
Этот учебник покажет вам, как установить и использовать инструмент VnStat для мониторинга сетевого трафика на Ubuntu 22.04.
Предварительные требования
- Сервер с установленной Ubuntu 20.04.
- Пароль root, настроенный на сервере.
Начало работы
Перед началом рекомендуется обновить и обновить все системные пакеты до последней версии. Вы можете обновить все из них, используя следующую команду:
apt update -y
apt upgrade -yПосле обновления всех пакетов вы можете установить VnStat из исходного кода на следующем шаге.
Установка vnStat
По умолчанию последняя версия vnStat недоступна в стандартном репозитории Ubuntu. Поэтому вам нужно будет скомпилировать его из исходного кода.
Сначала установите все зависимости, необходимые для компиляции vnStat, с помощью следующей команды:
apt-get install build-essential gcc make libsqlite3-dev -yПосле установки всех зависимостей загрузите последнюю версию исходного кода vnStat с помощью следующей команды:
wget https://humdi.net/vnstat/vnstat-2.10.tar.gzПосле завершения загрузки извлеките загруженный файл с помощью следующей команды:
tar -xvzf vnstat-2.10.tar.gzЗатем перейдите в извлеченную директорию и настройте ее с помощью следующей команды:
cd vnstat-2.10
./configure --prefix=/usr --sysconfdir=/etcДалее установите vnStat, выполнив следующую команду:
make
make installПосле установки vnStat вы можете проверить установленную версию vnStat с помощью следующей команды:
vnstat -vВы должны получить следующий вывод:
vnStat 2.10 by Teemu Toivola
После завершения вы можете перейти к следующему шагу.
Использование Systemd для управления VnStat
Чтобы управлять VnStat с помощью systemd, вам нужно будет скопировать файл службы vnStat systemd из исходного кода vnStat в директорию /etc/systemd/system/:
cp -v vnstat-2.10/examples/systemd/vnstat.service /etc/systemd/system/Затем включите службу vnStat и запустите ее с помощью следующей команды:
systemctl enable vnstat
systemctl start vnstatВы также можете проверить статус службы vnStat, используя следующую команду:
systemctl status vnstatВы должны получить следующий вывод:
? vnstat.service - vnStat network traffic monitor
Loaded: loaded (/lib/systemd/system/vnstat.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-11-29 08:34:08 IST; 2h 49min ago
Docs: man:vnstatd(1)
man:vnstat(1)
man:vnstat.conf(5)
Main PID: 1730 (vnstatd)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/vnstat.service
??1730 /usr/sbin/vnstatd -n
Nov 29 08:34:08 vyompc systemd[1]: Started vnStat network traffic monitor.
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: vnStat daemon 1.18 started. (pid:1730 uid:122 gid:128)
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: Monitoring: enp20s0 (1000 Mbit) wlp22s0 (1000 Mbit)
После завершения вы можете перейти к следующему шагу.
Как мониторить сетевой трафик с помощью vnStat
vnStat предоставляет несколько опций, которые позволяют вам мониторить сетевой трафик. Вы можете перечислить все доступные опции с помощью следующей команды:
vnstat --helpВы должны получить следующий вывод:
vnStat 2.10 by Teemu Toivola
-5, --fiveminutes [limit] show 5 minutes
-h, --hours [limit] show hours
-hg, --hoursgraph show hours graph
-d, --days [limit] show days
-m, --months [limit] show months
-y, --years [limit] show years
-t, --top [limit] show top days
-b, --begin set list begin date
-e, --end set list end date
--oneline [mode] show simple parsable format
--json [mode] [limit] show database in json format
--xml [mode] [limit] show database in xml format
-tr, --traffic [time] calculate traffic
-l, --live [mode] show transfer rate in real time
-i, --iface select interface
Use "--longhelp" or "man vnstat" for complete list of options.
Перед использованием vnStat вам нужно будет подождать некоторое время, чтобы обновить базу данных vnStat. После обновления базы данных вы можете запустить vnStat без каких-либо опций, как показано ниже:
vnstatВы должны увидеть следующий вывод:
rx / tx / total / estimated
wlp22s0:
Oct '22 17.80 GiB / 4.35 GiB / 22.15 GiB
Nov '22 16.61 GiB / 3.62 GiB / 20.23 GiB / 21.48 GiB
yesterday 332.22 MiB / 114.17 MiB / 446.39 MiB
today 710.25 MiB / 44.85 MiB / 755.11 MiB / 1.55 GiB
Чтобы использовать конкретный сетевой интерфейс, используйте опцию -i, как показано ниже:
vnstat -i ens3Вы должны получить ежедневную и месячную статистику в следующем выводе:
Database updated: 2020-11-12 06:30:00
ens3 since Saturday 29 January 2022
rx: 185.89 GiB tx: 38.82 GiB total: 224.70 GiB
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '22 17.80 GiB | 4.35 GiB | 22.15 GiB | 71.04 kbit/s
Nov '22 16.61 GiB | 3.62 GiB | 20.23 GiB | 71.20 kbit/s
------------------------+-------------+-------------+---------------
estimated 17.64 GiB | 3.85 GiB | 21.48 GiB |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
yesterday 332.22 MiB | 114.17 MiB | 446.39 MiB | 43.34 kbit/s
today 710.25 MiB | 44.85 MiB | 755.11 MiB | 154.31 kbit/s
------------------------+-------------+-------------+---------------
estimated 1.46 GiB | 92 MiB | 1.55 GiB |
Чтобы отобразить почасовую статистику, выполните следующую команду:
vnstat -hВы должны получить следующий вывод:
ens3 / hourly
h rx (MiB) tx (MiB) ][ h rx (MiB) tx (MiB) ][ h rx (MiB) tx (MiB)
12 5.4 0.2 ][ 20 30.4 14.8 ][ 04 0.0 0.0
13 72.7 15.0 ][ 21 24.8 6.4 ][ 05 0.0 0.0
14 1.9 0.4 ][ 22 20.1 9.8 ][ 06 0.0 0.0
15 0.0 0.0 ][ 23 0.0 0.0 ][ 07 0.0 0.0
16 0.0 0.0 ][ 00 0.0 0.0 ][ 08 147.0 10.2
17 36.4 9.6 ][ 01 0.0 0.0 ][ 09 64.1 9.4
18 54.0 23.4 ][ 02 0.0 0.0 ][ 10 496.9 23.9
19 86.5 34.5 ][ 03 0.0 0.0 ][ 11 2.3 1.3
Чтобы отобразить ежедневную статистику, выполните следующую команду:
vnstat -dВы должны получить следующий вывод:
ens3 / daily
day rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Sunday 30 October 2022 266.75 MiB | 47.81 MiB | 314.56 MiB | 30.54 kbit/s
Monday 31 October 2022 701.49 MiB | 225.89 MiB | 927.38 MiB | 90.04 kbit/s
Tuesday 01 November 2022 506.20 MiB | 184.50 MiB | 690.70 MiB | 67.06 kbit/s
Wednesday 02 November 2022 631.15 MiB | 182.43 MiB | 813.59 MiB | 78.99 kbit/s
Thursday 03 November 2022 189.21 MiB | 41.18 MiB | 230.39 MiB | 22.37 kbit/s
Friday 04 November 2022 703.67 MiB | 175.49 MiB | 879.16 MiB | 85.36 kbit/s
Saturday 05 November 2022 518.96 MiB | 130.47 MiB | 649.43 MiB | 63.05 kbit/s
Sunday 06 November 2022 301.74 MiB | 81.95 MiB | 383.69 MiB | 37.25 kbit/s
Вы можете использовать опцию -t для отображения дней с наибольшим трафиком:
vnstat -tВы должны получить следующий вывод:
ens3 / top 1
# day rx | tx | total | avg. rate
-----------------------------+-------------+-------------+---------------
1 Thursday 03 February 2022 2.58 GiB | 214.64 MiB | 2.79 GiB | 277.76 kbit/s
2 Saturday 05 February 2022 2.11 GiB | 229.32 MiB | 2.33 GiB | 231.67 kbit/s
3 Tuesday 01 February 2022 1.81 GiB | 190.56 MiB | 2.00 GiB | 198.71 kbit/s
4 Wednesday 02 February 2022 1.80 GiB | 179.75 MiB | 1.98 GiB | 196.72 kbit/s
5 Sunday 10 July 2022 1.69 GiB | 248.34 MiB | 1.93 GiB | 192.21 kbit/s
6 Saturday 19 February 2022 1.56 GiB | 172.67 MiB | 1.73 GiB | 171.56 kbit/s
7 Friday 16 September 2022 1.44 GiB | 201.21 MiB | 1.64 GiB | 163.16 kbit/s
8 Friday 17 June 2022 1.34 GiB | 278.89 MiB | 1.61 GiB | 160.33 kbit/s
9 Friday 25 March 2022 1.06 GiB | 504.19 MiB | 1.55 GiB | 154.51 kbit/s
10 Monday 07 February 2022 1.30 GiB | 160.68 MiB | 1.46 GiB | 145.30 kbit/s
-----------------------------+-------------+-------------+---------------
Чтобы отображать статистику сетевого трафика в реальном времени, выполните следующую команду:
vnstat -lВы должны получить следующий вывод:
Monitoring ens3... (press CTRL-C to stop)
rx: 11 kbit/s 7 p/s tx: 9 kbit/s 6 p/s^C
ens3 / traffic statistics
rx | tx
--------------------------------------+------------------
bytes 17 KiB | 18 KiB
--------------------------------------+------------------
max 24 kbit/s | 33 kbit/s
average 6.78 kbit/s | 7.39 kbit/s
min 0 kbit/s | 0 kbit/s
--------------------------------------+------------------
packets 78 | 82
--------------------------------------+------------------
max 10 p/s | 11 p/s
average 3 p/s | 4 p/s
min 0 p/s | 0 p/s
--------------------------------------+------------------
time 20 seconds
Вы также можете очистить записи базы данных для интерфейса ens3 и остановить мониторинг, используя следующую команду:
vnstat -i ens3 --remove --forceВы должны получить следующий вывод:
Interface "ens3" removed from database.
The interface will no longer be monitored. Use --add
if monitoring the interface is again needed.
Вы также можете снова добавить удаленный интерфейс ens3, выполнив следующую команду:
vnstat -i ens3 --addВы должны получить следующий вывод:
Adding interface "ens3" for monitoring to database...
Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".
Затем перезапустите службу vnStat, чтобы применить изменения:
systemctl restart vnstatЗаключение
В этом посте мы объяснили, как установить vnStat на Ubuntu 22.04. Мы также показали, как использовать его для мониторинга сетевого трафика с несколькими примерами. Теперь вы можете использовать этот инструмент для анализа и устранения проблем, связанных с сетью. Не стесняйтесь задавать вопросы, если у вас есть какие-либо вопросы.
Get new posts in your inbox
No spam. Unsubscribe anytime.