Установка и настройка VnStat Untangle Печать
18.10.11 11:42

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

альтернативная утилита bandwidthd


VnStat — простая консольная утилита, но можно к ней прикрутить Web-интерфейс, и удобно смотреть сколько мегабайт было получено или отправлено на том или ином сетевом интерфейсе. Вот скриншот. Я аналогов этой утилиты не знаю но уверен они точно есть.

Пример web-интерфейса nvStat.

Устаовка vnStat

Ставится одной командой

sudo apt-get install vnstat

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

man vnstat

Вы увидите мануал по vnStat, в принципе, там всё подробно написано. Но напишу пару подсказок как всё работает.

Для того чтобы сказать vnstat’у чтобы он отслеживал трафик через интерфейс eth0 надо выполнить команду

sudo vnstat -u -i eth0

Этой команды vnStat создаёт базу данных трафика для интерфейса eth0, лежать она будет в каталоге /var/lib/vnstat и называться просто eth0. Так же эта команда обновляет статистику по интерфейсу eth0(-u значит update). Вообще статистика сама обновляется с какой-то периодичностью.
Для просмотра общей статистики трафика через интерфейс eth0 выполните команду

vnstat -i eth0

результат этой команды будет выглядеть следующим образом.

Пример работы nvStat.

rx — исходящий трафик
tx
— входящий трафик
estimated
- ожидаемый

Команда

vnstat -h -i eth0

Выведет статистику по часам, выглядит это так

Пример работы nvStat.

Так же доступны параметры -d, -w, -m который выводят статистику по дням, неделям и месяцам соответственно. Ещё доступен параметр -l выводит трафик в настоящее время типа live. Можно состовлять свои запросы к базе данных об этом можно почитать в мануале. Всё это конечно хорошо но для удобного восприятия данных было бы не плохо иметь графический интерфейс, он есть, есть gui web-интерфейс от производителей, он написан на CGI-скриптах, а есть vnstat PHP frontend интерфейс разработанный каким-то добрым человеком на PHP. Я пользуюсь интерфейсом на PHP, про него я и расскажу.

Скачать его можно отсюда http://www.sqweek.com/sqweek/index.php?p=1. Вы скачаете архив из php файлов которые обеспечивают работу графического интерфейса. Создайте новый виртуальных хост в Apache или скопируйте эту папку в домашнюю папку уже существующего хоста и введите адрес в браузер, допустим http://site1.ru/nvStat вы попадёте на страницу статистики, но скорее всего вам будет показана нулевая статистика. Надо всё настроить, конфигурация интерфейса происходит через файл config.php, Вы его скачали вместе с другими файлами vnstat PHP frontend.

В этом файле надо обратить обратить внимание на эту часть

    // 
// There are two possible sources for vnstat data. If the $vnstat_bin
// variable is set then vnstat is called directly from the PHP script
// to get the interface data.
//
// The other option is to periodically dump the vnstat interface data to
// a file (e.g. by a cronjob). In that case the $vnstat_bin variable
// must be cleared and set $data_dir to the location where the dumps
// are stored. Dumps must be named 'vnstat_dump_$iface'.
//
// You can generate vnstat dumps with the command:
// vnstat --dumpdb -i $iface > /path/to/data_dir/vnstat_dump_$iface
//
$vnstat_bin = '';
$data_dir = './dumps';

Она гласит о том что есть два способа получения данных web-интерфесом: первый- какойто непонятный и второй через дамп базы данных по интерфейсу(имеются ввиду те базы данных которые вы создали при помощи команды sudo vnstat -u -i eth0, напомню они лежат в /var/lib/vnstat).

>>Создадим директорию dumps
mkdir /var/lib/vnstat/dumps/

Короче, для того чтобы интерфейс получал данные о трафике через итерфейс eth0 надо сделать дамп базы eth0, я делаю это командой sudo vnstat –dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0 , и указать в конфигурационном файле в параметр $data_dir путь к директории с дампами базы данных в моём случае

    $data_dir = '/var/lib/vnstat/dumps/';

Но так как статистика всё время меняется, надо всё время обновлять этот дамп, с этим отлично справляется cron. Просто внесём эту команду в таблицу задач cron’а(как работать с крон написано тут).

*/15 * * * * sudo vnstat -u -i eth0 
*/15 * * * * sudo vnstat --dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0



>> Я создал скрипт
/root/vnstat.sh с содержимым
#!/bin/sh
sudo vnstat -u -i eth0
sudo vnstat --dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0
sudo vnstat -u -i eth1
sudo vnstat --dumpdb -i eth1 > /var/lib/vnstat/dumps/vnstat_dump_eth1

>>Допишем в /etc/crontab
*/3 * * * * root   cd / && /root/vnstat.sh

>>Рестарт крона
/etc/init.d/cron restart


У меня ещё через cron обновляется сама база статистики каждые 15 минут. Всё теперь зайдите на сайт вашей статистики, там уже будет вся статистика.

 

>>Качаем русский язык для vnstat PHP frontend и распаковываем:

cd /usr/local/www/vnstat/lang/
wget http://www.ignix.ru/system/files/ru.php_.tar.gz
tar xzf ./ru.php_.tar.gz

Меняем во конфиге
//$locale = 'en_US.UTF-8';  
//$language = 'nl';
НА
$locale = 'ru_RU.UTF-8';
$language = 'ru';


источник: http://448dmg.ru/vnstat-ubuntu-293

ссылка на статью: http://thin.kiev.ua/index.php?option=com_content&view=article&id=431:-vnstat-untangle&catid=61:untangle-new&Itemid=81

допы:
http://www.ignix.ru/public/daemon/vnstat
http://muff.kiev.ua/content/vnstat-monitorim-setevoi-trafik

 

P.S. Локальные ссылки

http://192.168.0.15/phpsysinfo

http://192.168.0.15/bandwidthd

http://192.168.0.15/lightsquid

http://192.168.0.15/vnstat

 

{jcomments on}

Последнее обновление 25.10.11 11:22