RSS
 

Vnstat + php

19 Дек

image-3d-of-financial-statistic-chart-thumb5703411Данное описание составлено на основе инструкций asusforum.ru и справедливо для прошивок 1.9.2.7-9 и выше, но воспользоваться им вы можете только на свой страх и риск.
Все нижеуказанные действия проводились на моделях WL500g Premium v.1, WL500g Premium v.1, WL500W с подключенным USB диском и флеш накопителем в различных комбинациях, но так же справедливы для остальных моделей, которые поддерживают работу с внешним диском или флешкой и настройку из командной строки.
Так же запаситесь временем, чтобы никуда не спешить и случайно в запарке не испортить всю работу.

Если есть непосредственное соединение с Интернетом, то настройка пройдет без проблем в виде скачивания необходимых пакетов альтернативными способами и переливки их в роутер.
Если не имеете начальных знаний о Линуксе, то опять-же необходим либо Интернет для гугления, либо литература в печатном виде по Линуксовым командам.

1. Подразумевается, что роутер настроен, установлен сервер lighttpd (подробности — в моей «настройке с нуля»).

2. Устанавливаем:



ipkg install vnstat

3. Настраиваем:



nano /opt/etc/vnstat.conf

Редактируем следующую строку:



# location of the database directory DatabaseDir "/opt/var/lib/vnstat"

4. Создаем базы:

a. Для обладателей прямого коннекта:



vnstat -u -i vlan1 vnstat -u -i br0

b. Для обладателей дополнительного подключения по VPN добавляем:



vnstat -u -i ppp0

5. Качаем веб морду v. 1.4.1 (на данный момент последняя):



wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.4.1.tar.gz tar zvxf ./vnstat_php_frontend-1.4.1.tar.gz mkdir /opt/share/www/lighttpd/vnstat mkdir /opt/var/lib/vnstat/dumps mv ./vnstat_php_frontend-1.4.1/* /opt/share/www/lighttpd/vnstat/*

6. Настраиваем:



nano /opt/share/www/lighttpd/vnstat/config.php

Заполняем:



// list of network interfaces monitored by vnStat $iface_list = array('ppp0', 'vlan1', 'br0'); // Если нет VPN, убираем 'ppp0', // // optional names for interfaces // if there's no name set for an interface then the interface identifier // will be displayed instead // $iface_title['vlan1'] = 'WAN'; $iface_title['br0'] = 'internal'; // Если нет VPN, то нижняя строчка не нужна. $iface_title['ppp0'] = 'Internet'; // // 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 = '/opt/bin/vnstat'; $data_dir = '/opt/var/lib/vnstat/dumps';

7. Создаем скрипт создания дампов:



nano /opt/etc/cron.5mins/vnstat.sh

Содержимое:

#!/bin/sh

dump_dir=»/opt/var/lib/vnstat/dumps»

# Если нет VPN, то интерфейс ppp0 убираем

vnstat -u -i ppp0

vnstat -u -i vlan1

vnstat -u -i br0

vnstat —dumpdb -i ppp0 > $dump_dir/vnstat_dump_ppp0

vnstat —dumpdb -i vlan1 > $dump_dir/vnstat_dump_vlan1

vnstat —dumpdb -i br0 > $dump_dir/vnstat_dump_br0

Делаем исполняемым:



chmod +x /opt/etc/cron.5mins/vnstat.sh

8. Чтобы рисовало графики, устанавливаем:



ipkg install php-gd

Заходим на свой сайт по адресу:
http://IP_adress:port/vnstat
И наблюдаем красивые циферки и графики.

 
Комментарии к записи Vnstat + php отключены

Рубрика: Linux, Networking, PHP

 

Comments are closed.