Сегодня хочу познакомить моего читателя с небольшим, но приятным мониторингом трафика сети – vnstat.
У данной утилиты есть консольная версия, а так же PHP frontend, для отображения данных через web.
Установка и настройка
Примечание: все действия выполняются в ОС 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) на свой сайт и наблюдаем статистику.