Хотим красивую статистику по использованию сети?
Ставим сборщик статистики
[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
Обновилась программа и интерфейс, данный мануал не актуален, теперь просто устанавливаем демон и запускаем скрипт статы.
Для отбражения информации на 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’;
думаю, upd про актуальность мануала все же лучше поместить перед мануалом
Подскажите как восстановить, данные статистики по предыдущим месяцам, случайно зашел проверить ,а там все по нулям 🙁 ❓