Логування та моніторинг споживання трафіку за допомогою 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-релізів більше не потрібен на сервері, його можна видалити за допомогою команди:

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

Ми бачимо, що у нас є зовнішня IP-адреса, призначена інтерфейсу ens3. У прикладах ми будемо використовувати саме цей інтерфейс.

Перевірка споживання трафіку в списку по годинах

(опція --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