Продолжая эпопею считалок и мониторилок сетевых интерфейсов и трафика, рассмотрим утилиту vnstat. Vnstat - консольная утилита для учета сетевого трафика. Сохраяет историю сетевого трафика для выбранных интерфейсов. Трафик считается отдельно для каждого интерфейса (как входящий, так и исходящий). Доступна различная детализация отчетов: час, день, неделя, месяц...
Идем в порты и выполняем установку:
# cd /usr/ports/net/vnstat/ && make install cleen && rehash |
После установки утилита "любезно" предупредила, что необходимо внести содержимое файла /usr/local/share/doc/vnstat/vnstat-cron в crontab. Ну а если нас заинтересует информация о утилите, необходимо посетить ресурс http://humdi.net/vnstat/, либо же воспользоваться справочной системой FreeBSD.
Начинаем попытки "подружиться" с утилитой. Для начала скопируем пример конфигурационного файла непосредственно в рабочий конфигурационный файл:
# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf |
Следующим шагом редактируем /usr/local/etc/vnstat.conf, подстраивая его под свои нужды. Я же изменил только название интерфейса, на котором будем "слушать" трафик. Потом в конфигурационном файле находим опцию DatabaseDir, и согласно указанному значению, создаем базу данных (в моем частном случае это /var/db/vnstat, поскольку настройки по умолчанию этого параметра я не изменял).
# mkdir /var/db/vnstat |
Добавляем запись в cron для автоматизации процесса сбора статистки и перезапускаем его:
# cat /usr/local/share/doc/vnstat/vnstat-cron >> /etc/crontab |
Теперь проинициализируем интерфейсы, для которых будем собирать статистику:
# vnstat -u -i tun0 Error: Unable to read database "/var/db/vnstat/tun0". Info: -> A new database has been created. # >vnstat -u -i vlan8 Error: Unable to read database "/var/db/vnstat/vlan8". Info: -> A new database has been created. |
Через некоторое время можно выбрать данные из коллектора:
# vnstat rx / tx / total / estimated tun0: Aug '10 5 KiB / 4 KiB / 9 KiB / 0 KiB today 5 KiB / 4 KiB / 9 KiB / -- vlan8: Aug '10 992 KiB / 4.45 MiB / 5.42 MiB / 0 KiB today 992 KiB / 4.45 MiB / 5.42 MiB / -- |
Для просмотра загрузки интерфейса в реальном времени воспользуемся ключем -l (--live):
# vnstat --live -i vlan8 rx: 0 kbit/s 3 p/s tx: 4 kbit/s 3 p/s^C
rx | tx |
Для того, чтобы узнать больше о возможностях vnstat, советую ознакомиться со страницами руковводства пользователя. Я же наведу только некоторые примеры...
Чтобы вывести статистику за последних 24 часа (с почасовой детализацией), для интерфейса vlan8, команда будет выглядеть следующим образом:
# vnstat -h -i vlan8 |
Для вывода статистики с дневной детализацией, воспользуемся ключем -d:
# vnstat -d -i vlan8 |
Для вывода статистики за месяц, существует ключ -m:
# vnstat -m -i vlan8 |
А чтобы просмотреть статистику 10 самых загруженных дней, можно воспользоваться такой командой:
# vnstat --top10 -i vlan8 |
Скриншоты не предоставляю, поскольку в коллекторе еще слишком мало информации о собранном трафике (меньше суток).
Также, есть возможность воспользоваться vnStat PHP Frontend - написанный на PHP web-интерфейс для vnStat. Переходим в каталог /usr/local/www и скачиваем архив web-интерфейса:
# cd /usr/local/www/ |
Распаковываем скачанный архив:
# tar -xzf vnstat_php_frontend-1.5.1.tar.gz |
Потом переименовываем каталог с vnStat PHP Frontend в более "дружелюбное" название:
# mv vnstat_php_frontend-1.5.1 vnstat |
Правим конфигурационный файл web-интерфейса /usr/local/www/vnstat/config.php до следующего состояния:
# cat /usr/local/www/vnstat/config.php <?php ?> |
Создадим каталог для дампа:
# mkdir /usr/local/www/vnstat/dumps |
Потом добавлем в cron следующие строки:
*/5 * * * * root /usr/local/bin/vnstat --dumpdb -i vlan8 > /usr/local/www/vnstat/dumps/vnstat_dump_vlan8 */5 * * * * root /usr/local/bin/vnstat --dumpdb -i tun0 > /usr/local/www/vnstat/dumps/vnstat_dump_tun0 |
После измнений перестартовываем cron:
# killall -1 cron |
Далее добавляем в конфигурационный блок Apache следующий блок:
Alias /vnstat/ "/usr/local/www/vnstat/" |
После внесения изменений, необходимо перезапустить Apache:
# apachectl graceful |
Несколько скриншотов:
В данных везде 0
В чем может быть подвох... захожу в web-интерфейс, а там все по 0. В пути все прописано, dump базы есть, а статистики нет .
Если в config.php:
Вариант
Кажется у вас дамп все таки не собирается (данные то пустые)... Попробуйте выполнить следующие команды из консоли (исходя из того, что сетевая - vr0):
# vnstat -u -i vr0
# vnstat --dumpdb -i vr0 > /usr/local/www/vnstat/dumps/vnstat_dump_vr0
Web-а ругается потому, что в коллекторе нету данных. Что выводится при vnstat -h -i vr0 ?
Дамп, пишется и обновляется
Дамп, пишется и обновляется - проверено. Даже делал принудительно, командой vnstat --dumpdb -i vr0 > /usr/local/www/vnstat/dumps/vnstat_dump_vr0 , но все-равно пусто.
Вывод vnstat -h -i vr0
Вот дамп - http://upload.com.ua/link/901864853/
Да, в дампе все гуд... Значит
Да, в дампе все гуд... Значит проблема именно в парсилке.
Просьба предоставить конфиг виртуалхоста в Apache (или алиаса), а также полностью содержание config.php
Вот alias : Alias /vnstat
Вот alias :
Alias /vnstat "/usr/local/www/vnstat/"
<Directory "/usr/local/www/vnstat/">
Options none
AllowOverride All
Order allow,Deny
Allow from all
</Directory>
config.php - http://upload.com.ua/get/901865370/
С апачем вроде все good, отлично работает sams и aimsniff... через web-интерфейс.
Может это?
Убери из конфига
$iface_title['vr1'] = 'Internal';
В массиве он не описан, а в описании присутствует. Возможно в этом проблема?
Не, таже самая проблема... я
Не, таже самая проблема... я уже и vr1 пробовал, все-равно. Пошарил в нэте, такие ошибки бывают... но лекарства от них нет .
Спасибо за ваш сайт и статьи, очень полезная информация .
p.s. может там с правами на файл или папку есть нюанс?
РЕШЕНО
Решилась, проблема смены пары строк в config.php :
Отлично
Видимо ОС не могла найти расположение исполняемого файла... Возможно когда-то еще придется воспользоваться вашим опытом
День добрый. Подскажите
День добрый.
Подскажите пожалуйста, не отображается картинка с графиком.
Данные присутствуют, php-gd установлен.
Система: freebsd 81, php5-5.3.3_2, apache-2.2.17_1
Как это не банально, но
Как это не банально, но попробуйте другой браузер.
Я помню, что у меня в каком-то из браузеров не хотели графики отображаться, а в другом - нормально.
У меня проблема приоткрытии
У меня проблема приоткрытии страницы выпадает это:
Parse error: syntax error, unexpected T_VARIABLE in /usr/local/www/vnstat/config.php on line 58
Это место где указывается
Проверьте, есть ли за этим
тут я писал аналогичную
тут я писал аналогичную статью www.ignix.ru/public/daemon/vnstat
а вот русский язык если кому надо www.ignix.ru/sites/default/files/ru.php_.tar.gz
Re: Vnstat - мониторим сетевой трафик
Приветствую.
Подскажите, что сделать , чтоб vnstat заработал !!!!!!!!!!!!
Ситуация такая..
Starting vnstat:
eth0 / daily
day rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
10/04/13 660 KiB | 3.36 MiB | 4.01 MiB | 0.65 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |
[ OK ]
[root@vm12844 /]# vnstat
rx / tx / total / estimated
Error: Database load failed even when using backup. Aborting.
Что с этим делать ?????? Уже и пересоздавал базу и переустанавливал vnstat , всё приходит к
Error: Database load failed even when using backup. Aborting.
Re: Vnstat - мониторим сетевой трафик
Note: This is written for a Debian system and pathing may vary on other systems so take note of that.
1) Your database file has become corrupt. You'll find it in /var/lib/vnstat/interfacename.
2) Remove or move this file: rm /var/lib/vnstat/interfacename.
3) Now that you've got a clean slate, run the initialization command for the interface again: vnstat -u -i interfacename
4) You should see something like this:
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.
5) Your new database is created and should start refreshing your vnstat data once again.
Re: Vnstat - мониторим сетевой трафик
а какая утилита подойдет для отображения Rx/Tx конкретного IP? утилита nload очень хорошо показывает эти данные, но только о интерфейсам
Re: Vnstat - мониторим сетевой трафик
iftop с ключем -F ?
Re: Vnstat - мониторим сетевой трафик
iftop - почитаю о утилитке и попробую, спс за подсказку