Регистрация и мониторинг потребления трафика с помощью VnStat

Установка VnStat из репозитория

Пакет VnStat может быть установлен как из репозиториев, так и из исходного кода. Рассмотрим оба варианта и начнем с самого простого - репозитория. Существует несколько различий в установке в зависимости от семейства дистрибутивов.

Дистрибутивы на базе Debian

В дистрибутивах, основанных на Debian Linux, установка выполняется с помощью всего одной команды:

sudo apt install vnstat
Регистрация и мониторинг потребления трафика с помощью VnStat

Утилита быстро устанавливается, служба автоматически запускается и добавляется в автозапуск. Давайте проверим статус:

sudo systemctl status vnstat
Регистрация и мониторинг потребления трафика с помощью VnStat

Дистрибутивы на базе RHEL

1. Включите репозиторий Epel

sudo yum -y install epel-release

Далее обновите информацию о доступном в репозитории программном обеспечении

sudo yum -y update
Регистрация и мониторинг потребления трафика с помощью VnStat

2. Установите VnStat

sudo yum install vnstat
Регистрация и мониторинг потребления трафика с помощью VnStat

3. Чтобы начать пользоваться утилитой, необходимо запустить ее как службу. При первом запуске будет создана база данных, в которую будут записываться журналы потребления трафика:

sudo systemctl enable vnstat | sudo systemctl start vnstat

4. Проверьте состояние после запуска службы

sudo systemctl status vnstat
Регистрация и мониторинг потребления трафика с помощью VnStat

Утилита готова к использованию. Однако при первом запуске появится диалоговое сообщение о том, что пока недостаточно данных для отображения. Мы ожидаем сбора статистики. Протоколирование потребления трафика начнется с момента установки утилиты.

Регистрация и мониторинг потребления трафика с помощью VnStat

Если репозиторий epel-release больше не нужен на сервере, его можно удалить командой:

sudo yum -y remove  epel-release

Конфигурационный файл утилиты находится по адресу /etc/vnstat.conf Важным параметром в нем является интерфейс, по которому планируется собирать статистику потребления трафика. Это актуально для систем с несколькими сетевыми интерфейсами. В разделе с примерами основных функций мы рассмотрим, как можно задать параметр, указывающий интерфейс.

Установка из исходного кода

1. Установите дополнительное программное обеспечение, необходимое для сборки пакета

Для RHEL и CentOS

sudo yum group install "Development Tools"

Подтвердите, введя "y"

sudo yum install gd gd-devel sqlite-devel

Подтвердите, введя "y"

Для Ubuntu и Debian

sudo apt install build-essential libsqlite3-dev

Подтвердите, введя "y".

2. Скачайте архив с исходным кодом

wget https://humdi.net/vnstat/vnstat-latest.tar.gz

3. Распакуйте архив

tar -xvf vnstat-latest.tar.gz

4. Проверьте, какая версия пакета была загружена и как называется распакованная папка.

ls
Регистрация и мониторинг потребления трафика с помощью VnStat

5. Перейдите в каталог vnstat-x.xx (где x.xx - версия утилиты и часть имени папки, которую вы распаковали)

cd vnstat-2.11

6. Начните сборку пакета и дождитесь завершения установки

./configure --prefix=/usr --sysconfdir=/etc && make && make install

Когда установка завершится, вы увидите сообщение

Регистрация и мониторинг потребления трафика с помощью VnStat

7. Вам нужно скопировать шаблон и запустить демон vnstat:

sudo cp -v examples/systemd/vnstat.service /etc/systemd/system/
sudo systemctl enable vnstat | sudo systemctl start vnstat

8. Проверьте статус, чтобы убедиться, что служба работает.

sudo systemctl status vnstat
Регистрация и мониторинг потребления трафика с помощью VnStat

Примеры использования VnStat

Проверьте список доступных интерфейсов, чтобы выбрать тот, на котором вы хотите проверить статистику потребления трафика. Используйте простую команду для просмотра настроенных IP-адресов

ip a
Регистрация и мониторинг потребления трафика с помощью VnStat

Мы видим, что интерфейсу ens3 назначен внешний IP-адрес. В примерах мы будем использовать этот интерфейс.

Проверка потребления трафика в списке по часам

(опция --limit позволяет ограничить количество отображаемых часов. В примере отображается информация за последние 12 часов):

vnstat -i ens3 -h --limit 12
Регистрация и мониторинг потребления трафика с помощью VnStat

Проверка потребления трафика в списке по дням

(опция --limit позволяет ограничить количество отображаемых дней. В примере отображаются последние 2 дня):

vnstat -i ens3 -d --limit 2
Регистрация и мониторинг потребления трафика с помощью VnStat

Чтобы выделить дни с наибольшим потреблением трафика, можно использовать опцию -t

Регистрация и мониторинг потребления трафика с помощью VnStat

Проверка потребления трафика в списке по месяцам

(опция --limit ограничит количество отображаемых месяцев):

vnstat -i ens3 -m
Регистрация и мониторинг потребления трафика с помощью VnStat

Проверка потребления трафика в списке по годам

(опция --limit ограничивает количество отображаемых лет).

vnstat -i ens3 -y
Регистрация и мониторинг потребления трафика с помощью VnStat

Проверка потребления трафика в списке в реальном времени

vnstat -i ens3 -l
Регистрация и мониторинг потребления трафика с помощью VnStat

Прервав процесс, мы получим таблицу значений за время, в течение которого проводилось измерение

Регистрация и мониторинг потребления трафика с помощью VnStat

Проверка потребления трафика в списке за заданный период времени в секундах

vnstat -i ens3 -tr 20
Регистрация и мониторинг потребления трафика с помощью VnStat


Отображение графика потребления трафика за последние 24 часа

vnstat -i ens3 -hg
Регистрация и мониторинг потребления трафика с помощью VnStat