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

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

Ставим сборщик статистики
[cc lang=”bash”]apt-get install vnstat[/cc]
Демонизируем его.

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

Выкачиваем его
[cc lang=”bash”]wget http://humdi.net/vnstat/init.d/debian/vnstat[/cc]
задаём права на запуск
[cc lang=”bash”]chmod 755 vnstat[/cc]
Копируем его в /etc/init.d/

и добавляем в автозагрузку
[cc lang=”bash”]update-rc.d vnstat defaults[/cc]
Запускаем демон.
[cc lang=”bash”]/etc/init.d/vnstat start[/cc]
Для нужных интерфесов создаём базы данных
[cc lang=”bash”]vnstat -u -i eth1

vnstat -u -i ppp0[/cc]
Если этого не сделать, то в файле дампа будет примерно это
[cc lang=”bash”]Unable to read database “/var/lib/vnstat/ppp0″[/cc]
Теперь качаем вэб морду

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

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

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

Идём в config.php и находим
[cc lang=”bash”]$iface_list = array(‘eth0’, ‘eth1’, ‘sixxs’);[/cc]
тут оставляем те интерфейсы, что нам необходимы (например eth1 и ppp0)
[cc lang=”bash”]$iface_title[‘eth0’] = ‘Internal’;
$iface_title[‘eth1’] = ‘Internet’;[/cc]
тут указываем кто кем будет.

создаём каталог для дампов
[cc lang=”bash”]mkdir /var/www/vnstat/dumps[/cc]
теперь пробуем создать дампы.
[cc lang=”bash”]vnstat –dumpdb -i eth1 /var/www/vnstat/dumps/vnstat_dump_eth1

vnstat –dumpdb -i ppp0 /var/www/vnstat/dumps/vnstat_dump_ppp0[/cc]
Файлы создаются, теперь добавляем эти команды в крон, например чтоб обновлялось каждые 30 минут
[cc lang=”bash”]crontab -e
*/30 * * * * vnstat –dumpdb -i eth1 /var/www/vnstat/dumps/vnstat_dump_eth1[/cc]

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

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

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

UPD 16.03.2010

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

UPD 16.03.2010

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

  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’;

  2. думаю, upd про актуальность мануала все же лучше поместить перед мануалом

  3. Подскажите как восстановить, данные статистики по предыдущим месяцам, случайно зашел проверить ,а там все по нулям 🙁 ❓

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>