vnstat - мониторинг сетевого трафика

Аватар пользователя ttys

VNSTAT служит для подсчёта трафика проходящего через сетевой интерфейс, и отображает статистику загрузки в разные периоды времени.

Содержание:

Установка

Установим vmstat из портов:

cd /usr/ports/net/vnstat && make install clean

Полное разъяснение установки находится в "/usr/local/share/doc/vnstat/INSTALL_BSD"

Создадим конфигурационный файл:

cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf

Настройка

Необходимо отредактировать конфигурационный файл, указав свой сетевой интерфейс:

cat /usr/local/etc/vnstat.conf|grep Interface
Interface "rl0" #интерфейс

Cоздадим каталог для базы данных vnstat:

mkdir -p /var/db/vnstat && chmod +x /var/db/vnstat/

Сron

Добавим задание в cron чтобы наш vnstat обновлял информацию о трафике:

crontab -l | grep vnstat
*/5     *       *       *       *       /usr/local/bin/vnstat -u

Тестирование

Проверим как работает сбор информации. Введем сетевой интерфейс в работу:

vnstat -D -u -i rl0

Отобразим статистику:
vnstat
 
Database updated: Mon Sep 27 10:35:00 2010
 
   rl0 since 09/27/10
 
          rx:  1.75 MiB      tx:  294 KiB      total:  2.04 MiB
 
   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '10      1.75 MiB |     294 KiB |    2.04 MiB |    0.01 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |
 
   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today      1.75 MiB |     294 KiB |    2.04 MiB |    0.44 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

Веб интерфейс

Для того чтобы можно было смотреть статистику через веб интерфейс нужно установить vnstat PHP frontend.

Apache

Сконфигурируем Apache. Добавим Alias в файл конфигурации веб сервера:

vi /usr/local/etc/apache22/httpd.conf

в раздел добавьте:
    Alias /vnstat "/usr/local/www/vnstat/"
    <Directory "/usr/local/www/vnstat">
        Options Indexes FollowSymlinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

Vnstat PHP frontend

создаём каталог для vnstat PHP frontend

cd /usr/local/www/ ; mkdir -p /usr/local/www/vnstat

скачиваем и распаковываем vnstat PHP frontend
wget -c http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz

или
fetch http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz

tar xzf vnstat_php_frontend-1.5.1.tar.gz

надо переместить файлы в наш каталог /vnstat
mv ./vnstat_php_frontend-1.5.1/* ./vnstat

приводим config.php к такому виду
cat ./config.php | grep -v "//"

<?php
    error_reporting(E_ALL | E_NOTICE);
 
    $locale = 'ru_RU.UTF-8';
    $language = 'ru';
 
    $iface_list = array('rl0');
 
    $iface_title['rl0'] = 'Internet';
 
    $vnstat_bin = '/usr/local/bin/vnstat';
    $data_dir = './dumps';
 
    $graph_format='svg';
 
    define('GRAPH_FONT',dirname(__FILE__).'/VeraBd.ttf');
 
    define('SVG_FONT', 'Verdana');
 
    define('DEFAULT_COLORSCHEME', 'light');
 
?>

Русификация PHP frontend

Качаем русский язык для vnstat PHP frontend и распаковываем:

cd /usr/local/www/vnstat/lang/
wget -c <a href="http://www.ignix.ru/system/files/ru.php_.tar.gz<br />
tar" title="http://www.ignix.ru/system/files/ru.php_.tar.gz<br />
tar">http://www.ignix.ru/system/files/ru.php_.tar.gz<br />
tar</a> xzf ./ru.php_.tar.gz

Готово, можно удалить архив если он мешает =)

По поводу русификации: переводил по смыслу, если что не так, говорите, подправлю.

FAQ

В: У меня ошибка в веб интерфейсе связанное с временной зоной.
О: У меня оказывается не было файла php.ini или если в нём не указана временная зона то надо сделать файл настройки php путём копирования дефолтного файла под другим именем.

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini 

добавляем свою временную зону
cat /usr/local/etc/php.ini | grep Kiev
date.timezone = Europe/Kiev

перезапустим apache
/usr/local/etc/rc.d/apache22 restart

Для того чтобы посмотреть статистику необходимо будет в строке браузера ввести
"http://<адрес сервера где установлен apache>/vnstat/"

по моему всё =)

Скриншоты:
Сводка.

По часам.

ВложениеРазмер
ru.php_.tar.gz624 байта
Дополнительные материалы
Ваша оценка: Нет Средняя: 4.8 (5 голосов)

а вебка только общую

а вебка только общую статистику показывает или как то можно смотреть клиентов nat?

вопросы сюда

вопросы сюда

Спасибо! Всё просто, понятно

Спасибо! Всё просто, понятно и по человечьи :)

Спасибо за русский

Спасибо за русский фронту!!!

Ошибка: Index of/vnstat

Установил как тут было сказано.
Загрузился с вэб интерфейса, пишет: Index of/vnstat.
Что это может быть?

=(

когда уже начнут читать "ВЕТКА ФОРУМА"
1) в эту ветку и пишем
2) желательно с подробностями, что куда и где пишет

+1 =(

Согласен, как будто специально игнорируют =)
Ты в ветке форума отпишись, а тут напиши "ответил в ВЕТКЕ ФОРУМА""

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

Спасибо, всё работает.

Так же нашёл и установил аналогичный frontend для vnstat написанный на PHP и Javascript - jsvnstat. http://www.rakudave.ch/jsvnstat

vmstat

Опячятька в самом верху.

Установим vmstat из портов:

Установим vmstat из портов:

Спасибо!

Отличный пост, спасибо большое!

Последние статьи

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer