vnstat простой и быстрый подсчёт трафика
27.06.10 /
Попалась мне на глаза эта небольшая и простая утилитка для подсчёта трафика. Решил опробовать. Скажу сразу - подойдёт она для небольших офисов или домашнего использования.
Установка
Обновляем порты и ставим:
#portsnap fetch update && cd /usr/ports/net/vnstat && make install clean
Настройка
После установки идём в директорию /usr/local/etc и копируем файл vnstat.conf.example в vnstat.conf. Открываем vnstat.conf и редактируем следующие опции:
#указываем интерфейс, на котором снимать статистику
Interface "fxp0"
#путь к базе со статистикой
DatabaseDir "/var/db/vnstat"
#включаем логгирование в файл /var/log/vnstat.log
UseLogging 1
LogFile "/var/log/vnstat.log"
Остальные параметры меняем по своему вкусу.
Подготовка к запуску
Для того, что бы можно было снимать статистику, нужно создать БД. В противном случае при запуске будет появляться сообщение:
Error: Unable to open database directory "/var/db/vnstat".
Make sure it exists and is at least read enabled for current user.
Exiting...
Создаём папку /var/db/vnstat и создаём собственно БД для интерфейса:
#mkdir /var/db/vnstat
#vnstat -u -i fxp0
Error: Unable to read database "/var/db/vnstat/fxp0". Info: -> A new database has been created.
База успешно создана. Теперь можно запускать демон для сбора статистики:
#vnstatd -d --config /usr/local/etc/vnstat.conf
Проверим всё ли нормально прошло:
#ps auxww | grep vnstat
root 9593 0,0 0,2 3392 1068 ?? Ss 12:02 0:00,01 vnstatd -d --config /usr/local/etc/vnstat.conf
Как видим, демон запущен.
В журнальном файле /var/log/vnstat.log можно наблюдать такие записи:
[2010.06.08 12:02:32] vnStat daemon 1.10 started.
[2010.06.08 12:02:32] Daemon running with pid 9593.
[2010.06.08 12:02:32] Monitoring: fxp0
Сбор статистики
После первого запуска нужно обновить БД, иначе будут появляться сообщения при просмотре статистики:
#vnstat -i fxp0
fxp0: Not enough data available yet.
Обновляем:
#vnstat -u -i fxp0
Теперь можно наблюдать статистику:
#vnstat -i fxp0
Database updated: Tue Jun 8 12:07:32 2010
fxp0 since 08.06.2010
rx: 1,40 MiB tx: 190 KiB total: 1,58 MiB
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
июн '10 1,40 MiB | 190 KiB | 1,58 MiB | 0,02 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
today 1,40 MiB | 190 KiB | 1,58 MiB | 0,30 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |
Так же vnstat позволяет наблюдать статистику в режиме реального времени. Для этого использутся ключ -l (--live).
# vnstat -i fxp0 -l
Monitoring fxp0... (press CTRL-C to stop)
rx: 28 kbit/s 59 p/s tx: 0 kbit/s 0 p/s
После нажатия Ctrl+C увидим общую статистику за период real-time'a
fxp0 / traffic statistics
rx | tx
--------------------------------------+------------------
bytes 109 KiB | 6 KiB
--------------------------------------+------------------
max 32 kbit/s | 4 kbit/s
average 25,65 kbit/s | 1,41 kbit/s
min 24 kbit/s | 0 kbit/s
--------------------------------------+------------------
packets 1770 | 21
--------------------------------------+------------------
max 63 p/s | 2 p/s
average 52 p/s | 0 p/s
min 49 p/s | 0 p/s
--------------------------------------+------------------
time 34 seconds
Просмотр статистики
Статистику можно просматривать прямо с консоли:
- за день:
#vnstat -i fxp0 -d
fxp0 / daily
day rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
08.06.2010 3,47 MiB | 302 KiB | 3,77 MiB | 0,70 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |
- за час:
fxp0 12:17
^ r
| r
| r
| r
| r
| r
| r
| r
| r
| r
-+--------------------------------------------------------------------------->
| 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11 12
h rx (KiB) tx (KiB) h rx (KiB) tx (KiB) h rx (KiB) tx (KiB)
13 0 0 21 0 0 05 0 0
14 0 0 22 0 0 06 0 0
15 0 0 23 0 0 07 0 0
16 0 0 00 0 0 08 0 0
17 0 0 01 0 0 09 0 0
18 0 0 02 0 0 10 0 0
19 0 0 03 0 0 11 0 0
20 0 0 04 0 0 12 3 554 302
и т.д.
Но в таком виде не всегда удобно пользоваться, особенно если нужно ещё показывать её начальству. Для этих целей был написана php-обвёртка для визуального отображения. Называется она vnstat PHP frontend и скачать можно по с сайта http://www.sqweek.com.
После скачивания распаковываем архив и открываем файл config.php и правим следующие параметры:
$language = 'en';
$iface_list = array('fxp0');
$iface_title['fxp0'] = 'Inet';
$vnstat_bin = '/usr/local/bin/vnstat';
и комментируем строчку
// $data_dir =
Теперь настраиваем ваш web-сервер так, что бы можно было попасть в папку с vnstat PHP frontend, заходим и наслаждаемся статистиской.
Автор: Skeletor
По материалам:
Добавить комментарий