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

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

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

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

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

sudo apt install vnstat

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

sudo systemctl status vnstat

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

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

sudo yum -y install epel-release

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

sudo yum -y update

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

sudo yum install vnstat

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

sudo systemctl enable vnstat | sudo systemctl start vnstat

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

sudo systemctl status 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

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

cd vnstat-2.11

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

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

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

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

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

ip a

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

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

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

vnstat -i ens3 -h --limit 12

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

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

vnstat -i ens3 -d --limit 2

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

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

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

vnstat -i ens3 -m

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

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

vnstat -i ens3 -y

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

vnstat -i ens3 -l

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

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

vnstat -i ens3 -tr 20


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

vnstat -i ens3 -hg