VNStat — небольшой, но приятный мониторинг трафика сети

Сегодня хочу познакомить моего читателя с небольшим, но приятным мониторингом трафика сети — vnstat.

Пример вывода через консольную утилиту

У данной утилиты есть консольная версия, а так же PHP frontend, для отображения данных через web.

Пример вывода данных через PHP Frontend

Установка и настройка

Примечание: все действия выполняются в ОС Debian 10.3. Для других NIX систем действия не сильно отличаются. Поправьте сами, при необходимости.

Установку и настройку web-сервера рассматривать не буду, т.к. не вижу в этом никакого смысла. Каждый может использовать тот сервер, какой хочет.

Устанавливаем vnstat:

sudo apt install vnstat

Далее, для работы web интерфейса, помимо самого PHP нам потребуется расширение php-gd. Устанавливаем (если он у вас уже не установлено):

sudo apt install php-gd

Скачиваем и распаковываем PHPFrontend:

wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
tar -xf vnstat_php_frontend-1.5.1.tar.gz
mv vnstat_php_frontend-1.5.1 /var/www/vnstat

/var/www/vnstat — Директория веб сервера, доступная через по HTTP(S).

Далее, необходимо настроить интерфейсы, за которыми будет следить наш демон. Для этого поправим файл /etc/vnstat.conf:

# default interface
Interface "enp2s0"

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

Далее, настроим сброс дампа данных каждые 2 минуты для нашего PHP Frontend’а.

Вносим в crontab следующую запись:

*/2 * * * * /usr/bin/vnstat --dumpdb -i $iface > /var/www/vnstat/dumps/vnstat_dump_$iface

Вместо $iface подставляем имя вашего сетевого интерфейса. При необходимости, можно добавить вторую такую же строчку с указанием еще одного интерфейса.

Теперь поправим конфиг phpfrontend’а (файл /var/www/vnstat/config.php)

// Указываем локаль и язык:
$locale = 'en_US.UTF-8';
$language = 'en';

// Указываем интерфейсы:
$iface_list = array('enp2s0', 'iface2', 'iface3');

// Указываем названия для интерфейсов:
$iface_title['enp2s0'] = 'LocalNet';
$iface_title['iface2'] = 'Interface #2';
$iface_title['iface3'] = 'Interface #3';

// Комментируем $vnstat_bin и указываем директорию с дампами, выгрузку которых настроили ранее в crontab.
//$vnstat_bin = '/usr/bin/vnstat';
$data_dir = './dumps/';

// Указываем тему оформления:
define('DEFAULT_COLORSCHEME', 'dark');

Готово. Установка и настройка завершена. Теперь заходим по HTTP(S) на свой сайт и наблюдаем статистику.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.