vnStat — это утилита с открытым исходным кодом для мониторинга сетевого трафика через консоль, распространяемая под лицензией GPL. Программа отличается низким потреблением ресурсов и может функционировать без прав суперпользователя. Данные о трафике сохраняются в базе данных, разделённой по сетевым интерфейсам, каждый из которых имеет свою собственную запись. На данный момент актуальной является версия vnStat 1.1.5. В данном руководстве рассмотрен процесс установки vnStat на серверы Debian/Ubuntu и его дальнейшее использование.
Содержание статьи
- 1 Инструкция по установке vnStat на сервер с операционной системой Debian или Ubuntu
- 2 Разработка базы данных для сетевой системы
- 3 Мониторинг сетевого трафика в режиме реального времени
- 4 Анализ почасового потока данных
- 5 Анализ повседневного интернет-трафика
- 6 Анализ недельного трафика
- 7 Анализ трафика в сети за месяц
- 8 Представить список десяти лучших дней
Инструкция по установке vnStat на сервер с операционной системой Debian или Ubuntu
vnStat можно установить напрямую из официальных репозиториев Debian и Ubuntu.
sudo apt-get install vnstat
После установки демон vnstatd автоматически запускается. Кроме того, он будет запускаться при каждой загрузке системы Debian/Ubuntu. Это можно проверить с помощью команды systemctl.
systemctl status vnstat
vnstat.service - vnStat монитор сетевого трафика Loaded: загружен (/lib/systemd/system/vnstat.service; включен Активен:Функционирует (в действии) с Сб 2016-04-16 05:58:33 EDT; 1 месяц 9 дней назад Docs: man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5) Main PID: 654 (vnstatd) CGroup: /system. slice/vnstat.service └─654 /usr/sbin/vnstatd - n
«Активирован» означает, что автоматический запуск при загрузке системы включён.
Разработка базы данных для сетевой системы
После установки vnStat на системах Debian или Ubuntu база данных автоматически создаётся для каждого сетевого интерфейса. Каталог /var/lib/vnstat служит хранилищем данных для vnStat.
linuxbabe@xenial:~$ ls /var/lib/vnstat/ eth0 eth1
Чтобы создать новую базу данных, воспользуйтесь следующей командой. Замените eth0 на нужный вам интерфейс для мониторинга.
vnstat --add - i eth0
Чтобы удалить базу данных интерфейса, выполните данную команду. Поменяйте eth0 на тот интерфейс, который не требуется отслеживать.
vnstat --remove - i eth0
Демон vnstatd отвечает за сбор и сохранение данных, в то время как команда vnstat служит интерфейсом для получения информации о трафике, которая хранится в базах данных, связанных с сетевыми интерфейсами.
Чтобы изменить имя интерфейса, сначала остановите vnstat.
sudo systemctl stop vnstat
sudo vnstat - i eth0 --rename new_name --force
sudo systemctl start vnstat
vnstat может уведомить вас о том, что интерфейс неактивен. Не переживайте, он будет включён через несколько секунд.
Мониторинг сетевого трафика в режиме реального времени
Чтобы осуществить мониторинг сетевого трафика в реальном времени, введите следующую команду:
vnstat - i eth0 - l
-i указывает на интерфейс. — l означает работу в реальном времени. Замените eth0 на название вашего интерфейса. Для завершения нажмите Ctrl+C.
На скриншоте выше rx обозначает «Receiving» (входящий трафик), а tx — «Transmitting» (исходящий трафик). Здесь можно увидеть, сколько пропускной способности (скорости передачи) используется. Все SSD облачные серверы Digital Ocean располагают сетевым интерфейсом с пропускной способностью 1 Гбит. (Зарегистрируйтесь на Digital Ocean по моей партнёрской ссылке, и вы получите $10 в виде бесплатного кредита.)
Анализ почасового потока данных
Просмотр сетевого трафика за последние 24 часа.
vnstat -h
Эта команда позволяет определить, в какие часы ваш сайт привлекает наибольшее количество посетителей. Напоминаем, что r указывает на «Получение» (входящий трафик), тогда как t обозначает «Передачу» (исходящий трафик).

Анализ повседневного интернет-трафика
vnstat -d
Данная команда предоставит данные о трафике за предыдущие 30 дней.
Анализ недельного трафика
vnstat - w
Данная команда отображает данные о сетевом трафике за последние 7 дней, а также за предыдущую и текущую недели.
Анализ трафика в сети за месяц
vnstat -m
Учтите, что Apr ’16 на представленном выше экране обозначает апрель 2016 года. Вначале я решил, что это указывает на 16 апреля. Если вам не подходит данный формат, вы можете его изменить, отредактировав файл конфигурации vnstat.
sudo nano /etc/vnstat.conf
Определите 19-ю строку.
MonthFormat "%b '%y"
Измените строчную букву y на заглавную Y. Также можно удалить символ ‘. После этого сохраните и закройте файл. Затем снова выполните команду vnstat — m. Теперь вы сможете ясно увидеть, что это обозначает год 2016.
%y и %Y представляют собой два варианта форматирования даты в системе Unix. При использовании %y отображаются только последние две цифры года (например, 16), в то время как %Y показывает полный четырехзначный формат года (например, 2016).
Представить список десяти лучших дней
vnstat - t

Для смены единицы измерения скорости воспользуйтесь опцией — ru (единица скорости). К примеру, если вы хотите наблюдать за трафиком в реальном времени в байтах, добавьте параметр 0 к опции — ru.
vnstat - i wlp3s0 - l - ru 0
Для отображения трафика в битах следует указать число 1 в качестве параметра для опции — ru.
vnstat - i wlp3s0 - l - ru 1

