1

Тема: Vnstat на Keenetic

Собран пакет vnstat (и vnstati) для Keenetic. Конфигурационный файл лежит в /media/DISK_A1/system/etc/vnstat.conf
Подробнее http://humdi.net/vnstat/
Насколько корректно мониторит трафик при включенном аппаратном ускорении - не знаю.
Перед использованием смотрим набор интерфейсов, для которых можно мониторить трафик командой

vnstat --iflist

Подсказка из /bin/iface-names.sh : eth2.2 - это WAN (или MAN), eth2.1 - LAN, ra0 - wifi. Могут еще быть туннели ppp0.
Перед первым использованием добавляем интерфейсы для которых будем мониторить трафик с помощью команд

vnstat -u -i XXX

Можно добавить несколько интерфейсов. После этого можно или с помощью cron, или демона vnstatd (скрипт запуска K12vnstatd в init.d) мониторить трафик.

Можно прикрутить красивую web-рожу - http://www.sqweek.com/sqweek/index.php?p=1
Красивые картинки, инструкция по прикручиванию web интерфейса - http://wl500g.info/showthread.php?t=14070
(учитывайте, что имена интерфейсов, папки на asus другие).
Несложно найти и другие инструкции, где используется не cron, a vnststd.

Надеюсь тут владельцы в дальнейшем расскажут, как они все настроили на кинетике.



2

Re: Vnstat на Keenetic

кто настраивал, поделитесь инструкцией smile не могу прикрутить веб морду. пути кинетика не совпадают с путями в инструкции http://wl500g.info/showthread.php?t=14070 . И еще, хочу настроить статистику только по wan (входящий исходящий трафик для инета). Указываю интерфейс eth2.2 но по нему не считает.



3

Re: Vnstat на Keenetic

Zulu, ну так измените пути. Я проверял, что vnstat считает на беспроводном интерфейсе ra0 - все работало. Нужно ждать обновления базы (в соответствии с настройками в vnstat.conf)

# how often (in minutes) data is saved to file
SaveInterval 30

и, насколько помню, дать еще команду (руководство уже забыл).
Или у Вас только на интерфейсе eth2.2 не считает, на других - считает?



4

Re: Vnstat на Keenetic

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



5

Re: Vnstat на Keenetic

Zulu, при включенном аппаратном НАТе трафик может считаться неправильно. Это предположение, требующее проверки.



6

Re: Vnstat на Keenetic

Написал небольшую инструкцию по установке vnstat


Устанавливаем нужные пакеты

opkg install lighttpd  lighttpd-mod-fastcgi php5-fastcgi php5-mod-gd vnstat

Раскомментируем в /media/DISK_A1/system/etc/lighttpd/lighttpd.conf

server.modules = ( 
#    "mod_access",
#    "mod_rewrite", 
#    "mod_redirect", 
#    "mod_alias", 
#    "mod_auth", 
#    "mod_status", 
#    "mod_setenv",
    "mod_fastcgi",
#    "mod_proxy",
#    "mod_simple_vhost",
#    "mod_cgi",
#    "mod_ssi",
#    "mod_usertrack",
#    "mod_expire",
#    "mod_webdav",
#    "mod_accesslog"
)
#### fastcgi module
## read fastcgi.txt for more info
fastcgi.server = (
    ".php" => (
        "localhost" => (
            "min-procs" => 1,
            "max-procs" => 1,
            "max-load-per-proc" => 4,
            "socket" => "/media/DISK_A1/system/tmp/php-fastcgi.socket",
            "bin-path" => "/media/DISK_A1/system/usr/bin/php-fcgi"
        )
    )
)

правим имена файлов в /media/DISK_A1/system/etc/init.d  K02cron K12vnstatd  K29php и K50lighttpd на S02cron S12vnstatd  S29php и S50lighttpd

Добавляем в /media/DISK_A1/system/etc/crontabs/root

*/5 *   * * *   root    if [ -x /media/DISK_A1/system/bin/vnstat ] && [ `ls /media/DISK_A1/system/var/lib/vnstat/ | wc -l` -ge 1]; then /media/DISK_A1/system/bin/vnstat -u; fi

делаем в консоли

vnstat -u -i eth2.2
vnstat -u -i eth2.1
vnstat -u -i br0
vnstat -u -i ra0

Распаковываем содержимое архива http://keenetic.zyxmon.org/files/vnstat.tar.gz в папку /media/DISK_A1/system/www/

В файле  /media/DISK_A1/system/www/vnstat/config.php нужно поправить таймзону

date_default_timezone_set('Europe/Kiev');

на вашу, например, Europe/Moscow

Мониторятся интерфейсы исходя из предположения, что
eth2.2 - WAN (это точно)
eth2.1 - LAN (это надо уточнить)
br0 - бридж LAN + WIFI
ra0 - WIFI

Если инет через VPN, то в файле  /media/DISK_A1/system/www/vnstat/config.php правим

$iface_list = array('ppp0','eth2.2','eth2.1','ra0', 'br0');
$iface_title['ppp0'] = 'WAN';
$iface_title['eth2.2'] = 'MAN';
$iface_title['eth2.1'] = 'Ethernet';
$iface_title['ra0'] = 'Wi-Fi';
$iface_title['br0'] = 'LAN';

Ну и создать базу  vnstat для ppp0

vnstat -u -i ppp0

Морда будет доступна по адресу http://192.168.1.1:81/vnstat/index.php


http://i.piccy.info/i7/7a867d4b424f2b5d5d62d2e7def027d9/1-5-817/27772125/1_240.jpg

Отредактировано AndreyUA (2011-10-18 18:39:10)



7

Re: Vnstat на Keenetic

AndreyUA пишет:

Zyxmon, не мешало бы perl собрать, пригодится.
PS Zyxmon, может зальете файл к себе, а то на рапиде прибьют, а на форум выложить нельзя.

Залил, ссылку отредактировал.
Соберу perl, а microperl не нужен?



8

Re: Vnstat на Keenetic

Zyxmon пишет:
AndreyUA пишет:

Zyxmon, не мешало бы perl собрать, пригодится.
PS Zyxmon, может зальете файл к себе, а то на рапиде прибьют, а на форум выложить нельзя.

Залил, ссылку отредактировал.
Соберу perl, а microperl не нужен?

Имхо лучше микроперл. Перл со всеми модулями тяжеловат. Добавил скриншот.
ЗЫ не мешало бы чтобы кто-нибудь проверил инструкцию с нуля, а то у меня многие пакеты уже были установлены и писал по памяти.

Отредактировано AndreyUA (2011-10-17 09:04:06)



9

Re: Vnstat на Keenetic

Добрый день,
не могу установить lighttpd-mod-fcgi, подскажите что не так?, судя по всему в репозитарии его нет.



10

Re: Vnstat на Keenetic

Семён пишет:

Добрый день,
не могу установить lighttpd-mod-fcgi, подскажите что не так?, судя по всему в репозитарии его нет.

Прошу прощения, очепятка. Модуль называется lighttpd-mod-fastcgi . Исправил.

Отредактировано AndreyUA (2011-10-17 12:07:44)



11

Re: Vnstat на Keenetic

Если инет через VPN, то в файле  /media/DISK_A1/system/www/vnstat/config.php правим
$iface_list = array('ppp0','eth2.2','eth2.1','ra0', 'br0');
$iface_title['ppp0'] = 'WAN';
$iface_title['eth2.2'] = 'MAN';
$iface_title['eth2.2'] = 'WAN';
$iface_title['eth2.1'] = 'Ethernet';
$iface_title['ra0'] = 'Wi-Fi';
$iface_title['br0'] = 'LAN';

а если у нас прямой интернет (от провайдера) это надо закоментировать, (как правильно закоментировать минусом или// ?)

Отредактировано Семён (2011-10-17 12:20:59)



12

Re: Vnstat на Keenetic

Семён пишет:

Если инет через VPN, то в файле  /media/DISK_A1/system/www/vnstat/config.php правим
$iface_list = array('ppp0','eth2.2','eth2.1','ra0', 'br0');
$iface_title['ppp0'] = 'WAN';
$iface_title['eth2.2'] = 'MAN';
$iface_title['eth2.2'] = 'WAN';
$iface_title['eth2.1'] = 'Ethernet';
$iface_title['ra0'] = 'Wi-Fi';
$iface_title['br0'] = 'LAN';

а если у нас прямой интернет (от провайдера) это надо закоментировать, (как правильно закоментировать минусом или// ?)

Если у вас прямой интернет, то ничего трогать не нужно. Должно быть так

$iface_list = array('eth2.2','eth2.1','ra0', 'br0');
$iface_title['eth2.2'] = 'WAN';
$iface_title['eth2.1'] = 'Ethernet';
$iface_title['ra0'] = 'Wi-Fi';
$iface_title['br0'] = 'LAN';

Комментировать решеткой, если что.

Отредактировано AndreyUA (2011-10-17 12:25:00)



13

Re: Vnstat на Keenetic

Вроде все как написано сделал но web интерфейса так и не нашел. Все инструкции здесь написанные сделал. трудности возникли при разупаковывании архива vnstat.tar.gz, может в нем ошибку сделал.



14

Re: Vnstat на Keenetic

Семён пишет:

Вроде все как написано сделал но web интерфейса так и не нашел. Все инструкции здесь написанные сделал. трудности возникли при разупаковывании архива vnstat.tar.gz, может в нем ошибку сделал.

Вывод ps покажите. У вас ligthttpd запустился? А если просто зайти на http://192.168.1.1:81/ У вас у роутера айпи 192,168,1,1?



15

Re: Vnstat на Keenetic

Спасибо за помощь, после преустановки lighttpd, и проверки всего повторно по этой инструкции,  нашел ошибки.
теперь все работает, СПАСИБО.



16

Re: Vnstat на Keenetic

Включение/выключение аппаратного NATа влияет на правильность сбора трафика? Кто нибудь смотрел?



17

Re: Vnstat на Keenetic

Все сделал по инструкции, веб интерфейс работает, только трафик не считает. В чем может быть проблема?



18

Re: Vnstat на Keenetic

koluna пишет:

Все сделал по инструкции, веб интерфейс работает, только трафик не считает. В чем может быть проблема?

Возможно потому что в последней прошивке

/media/DISK_A1/system/root # vnstat -h
Segmentation fault


19

Re: Vnstat на Keenetic

AndreyUA, у меня не падает:

/media/DISK_A1/system/root # vnstat -h
 ra0                                                                      09:08
  ^                                         r
  |                       r                 r
  |                       r              r  r
  |                    r  r     r        r  r  r  r              r
  |     r              r  r  r  r  r     r  r  r  r     r     r  r  r  r
  |     r           r  r  r  r  r  r  r  r  r  r  r     r  r  r  r  r  r
  |  r  r        r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  |  r  r        r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  |  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  |  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
 -+--------------------------------------------------------------------------->
  |  10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09

 h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)
10       4941          0    18       7499          0    02       5362          0
11       6671          0    19       7998          0    03       6823          0
12       3051          0    20       6686          0    04       5962          0
13       2990          0    21       6185          0    05       6848          0
14       4624          0    22       8851          0    06       8221          0
15       5717          0    23      10917          0    07       7168          0
16       7946          0    00       8257          0    08       7336          0
17       9892          0    01       8235          0    09        948          0
/media/DISK_A1/system/root # cat /etc/version
FIRMWARE_VERSION="V1.00-BFW.4b-D0"
DEVICE_NAME="KEENETIC"
BUILD_DATE="21.10.2011 12:00"
REVISION="2810"

Правда статистику снимал давно, когда собрал vnstat и тестировал. Ну и кинетик у меня трудится точкой доступа.
Может стоит базу убить. Проверить интерфейсы (vnstat --iflist), завести базы заново.



20

Re: Vnstat на Keenetic

Zyxmon пишет:

Правда статистику снимал давно, когда собрал vnstat и тестировал. Ну и кинетик у меня трудится точкой доступа.
Может стоит базу убить. Проверить интерфейсы (vnstat --iflist), завести базы заново.

Не очень хотел сносить базы, но пришлось и все вроде заработало. Сегфолтило сразу после чтения файла /etc/TZ Похоже как-то повлияли изменения таймзон.
PS Можете в репы добавлять strace. Проверил, собирается и работает без заморочек.



21

Re: Vnstat на Keenetic

после команды  /media/DISK_A1/system/root vnstat -h пишет /media/DISK_A1/system/root: Permission denied. Почему то доступ запрещен. Что это может быть?



22

Re: Vnstat на Keenetic

koluna пишет:

Что это может быть?

Скорее всего первый найденный в пути (PATH) файл vnstat не имеет атрибута исполнения для текущего пользователя root.



23

Re: Vnstat на Keenetic

Как это можно исправить?



24

Re: Vnstat на Keenetic

Zyxmon, проблемы с неподсчетом трафика могут быть из-за того, что vnstat запускается рано. ИМХО надо бы его стартовать попозже, S22 например.

Отредактировано AndreyUA (2011-10-24 16:18:17)



25

Re: Vnstat на Keenetic

AndreyUA, может быть при загрузке кинетика и первом запуске скрипта (start) еще не создан нужный интерфейс для мониторинга? По хорошему нужно бы подправить скрипты, чтобы не было двойного старта (start и restart). А в скрипте запуска vnstat, возможно, следует проверять, есть ли нужный интерфейс.

PS Нужно использовать или запуск из cron, или vnstatd. Оба не стоит.