Главная > net, ubuntu > vnstat на Ubuntu – Монитор сети

vnstat на Ubuntu – Монитор сети

Хотим красивую статистику по использованию сети?

Ставим сборщик статистики

apt-get install vnstat

Демонизируем его.

на сайте http://humdi.net/vnstat/ находим init.d скрипты для Ubuntu

Выкачиваем его

wget http://humdi.net/vnstat/init.d/debian/vnstat

задаём права на запуск

chmod 755 vnstat

Копируем его в /etc/init.d/

и добавляем в автозагрузку

update-rc.d vnstat defaults

Запускаем демон.

/etc/init.d/vnstat start

Для нужных интерфесов создаём базы данных

vnstat -u -i eth1

vnstat -u -i ppp0

Если этого не сделать, то в файле дампа будет примерно это

Unable to read database "/var/lib/vnstat/ppp0"

Теперь качаем вэб морду

Вот с этого сайта

http://www.sqweek.com/sqweek/index.php?p=1

распаковываем в /var/www/vnstat

Идём в config.php и находим

$iface_list = array('eth0', 'eth1', 'sixxs');

тут оставляем те интерфейсы, что нам необходимы (например eth1 и ppp0)

$iface_title['eth0'] = 'Internal';
$iface_title['eth1'] = 'Internet';

тут указываем кто кем будет.

создаём каталог для дампов

mkdir /var/www/vnstat/dumps

теперь пробуем создать дампы.

vnstat --dumpdb -i eth1 /var/www/vnstat/dumps/vnstat_dump_eth1

vnstat --dumpdb -i ppp0  /var/www/vnstat/dumps/vnstat_dump_ppp0

Файлы создаются, теперь добавляем эти команды в крон, например чтоб обновлялось каждые 30 минут

crontab -e
*/30 * * * * vnstat --dumpdb -i eth1 /var/www/vnstat/dumps/vnstat_dump_eth1

по аналогии для второго интефейса.

Собственно и всё заходим на http://ваш_ИП/vnstat/ и наслаждаемся собранной статистикой

(минут через 15-30 статистика начнёт появляться, а вэто время в файле дампа будет что-то вроде этого eth1 Not enough data available yet )

UPD 16.03.2010

Обновилась программа и интерфейс, данный мануал не актуален, теперь просто устанавливаем демон и запускаем PHP скрипт статы, без vnstat –dumpdb -i eth1

UPD 16.03.2010

Обновилась программа и интерфейс, данный мануал не актуален, теперь просто устанавливаем демон и запускаем скрипт статы.

Categories: net, ubuntu Tags:
  1. Maelis
    29 Май 2010 в 18:04 | #1

    Для отбражения информации на web-странице на русском сделал следующее:
    изменил config.php, в котором заменил интерфейс по протоколу IP6 на свой eth1. Их у меня, смотрящих в Интернет – 2.
    • установил в нем русскую локаль заменой $locale = ‘en_US.UTF-8′
    $locale = ‘ru_RU.UTF-8′;
    и указанием использования русского языка вместо $language = ‘en’;
    $language = ‘ru’;
    • создал файл русской конфигурации ru.php,который поместил в директорию lang, его листинг
    // sidebar labels
    $L['summary'] = ‘Всего’;
    $L['hours'] = ‘часы’;
    $L['days'] = ‘дни’;
    $L['months'] = ‘месяц’;

    // main table headers
    $L['Summary'] = ‘Всего’;
    $L['Top 10 days'] = ‘Top 10 дней’;
    $L['Last 24 hours'] = ‘Последние 24 часа’;
    $L['Last 30 days'] = ‘Последние 30 дней’;
    $L['Last 12 months'] = ‘Последние 12 месяцев’;

    // traffic table columns
    $L['In'] = ‘Входящий ‘;
    $L['Out'] = ‘Иходящий’;
    $L['Total'] = ‘Всего’;

    // summary rows
    $L['This hour'] = ‘Этот час’;
    $L['This day'] = ‘Этот день’;
    $L['This month'] = ‘Этот месяц’;
    $L['All time'] = ‘Все время’;

    // graph text
    $L['Traffic data for'] = ‘Данные трафика для интерфейса’;
    $L['bytes in'] = ‘байт входящий’;
    $L['bytes out'] = ‘байт исходящий’;

    // date formats
    $L['datefmt_days'] = ‘%d %B’;
    $L['datefmt_days_img'] = ‘%d’;
    $L['datefmt_months'] = ‘%B %Y’;
    $L['datefmt_months_img'] = ‘%b’;
    $L['datefmt_hours'] = ‘%l%P’;
    $L['datefmt_hours_img'] = ‘%l’;
    $L['datefmt_top'] = ‘%d %B %Y’;