vnstat на Ubuntu – Монитор сети
Хотим красивую статистику по использованию сети?
![]()
Ставим сборщик статистики
Демонизируем его.
на сайте http://humdi.net/vnstat/ находим init.d скрипты для Ubuntu
Выкачиваем его
задаём права на запуск
Копируем его в /etc/init.d/
и добавляем в автозагрузку
Запускаем демон.
Для нужных интерфесов создаём базы данных
vnstat -u -i ppp0
Если этого не сделать, то в файле дампа будет примерно это
Теперь качаем вэб морду
Вот с этого сайта
http://www.sqweek.com/sqweek/index.php?p=1
распаковываем в /var/www/vnstat
Идём в config.php и находим
тут оставляем те интерфейсы, что нам необходимы (например eth1 и ppp0)
$iface_title['eth1'] = 'Internet';
тут указываем кто кем будет.
создаём каталог для дампов
теперь пробуем создать дампы.
vnstat --dumpdb -i ppp0 /var/www/vnstat/dumps/vnstat_dump_ppp0
Файлы создаются, теперь добавляем эти команды в крон, например чтоб обновлялось каждые 30 минут
*/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
Обновилась программа и интерфейс, данный мануал не актуален, теперь просто устанавливаем демон и запускаем скрипт статы.
Для отбражения информации на 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’;