LinuxForum.Fans
Тема

Система учета интернет-трафика

Автор: Serg79 175 сообщений 67907 просмотров
#69226

Да oleg_krv, 1 мин. 24 сек. на выгрузку 1284 записи это много. Ты кстати не показал структуру своей таблицы 'traffic'. У меня есть подозрения что ты используешь старую версию TrafStat. Ты откуда получал исходники, через SVN загрузил или архив скачал?

#69237

Serg79, брал с svn 14 августа

Таблица traffic

text
Поле    Тип            Сравнение    Атрибуты        Null    По умолчанию    
date      datetime                                Нет    Нет                                       
srcIp     int(10)                     UNSIGNED    Нет    Нет                                       
dstIp    int(10)                     UNSIGNED    Нет    Нет                                       
dstPort    int(11)                                Нет    Нет                                       
pId            tinyint(4)                                Нет    Нет                                       
inBytes    int(10)                     UNSIGNED    Нет    Нет                                       
outBytes    int(10)                     UNSIGNED    Нет    Нет                                      
text
CREATE TABLE IF NOT EXISTS `traffic` (
  `date` datetime NOT NULL,
  `srcIp` int(10) unsigned NOT NULL,
  `dstIp` int(10) unsigned NOT NULL,
  `dstPort` int(11) NOT NULL,
  `pId` tinyint(4) NOT NULL,
  `inBytes` int(10) unsigned NOT NULL,
  `outBytes` int(10) unsigned NOT NULL,
  KEY `key1` (`date`),
  KEY `key2` (`pId`,`date`)
) ENGINE=MyISAM DEFAULT CHARSET=koi8u;
#69241

oleg_krv, я тут с индексами игрался и пришел к выводу что ключ "KEY `key2` (`pId`,`date`)" не очень эффективен. Замени индекс `key2` на "KEY `key2` (`srcIp`,`date`)".

Вот патч посмотри:

text
--- sql/base.sql  (revision 111)
+++ sql/base.sql  (working copy)
@@ -9,7 +9,7 @@
  `inBytes` int unsigned not null,
  `outBytes` int unsigned not null,
  key `key1` (`date`),
- key `key2` (`pId`, `date`)
+ key `key2` (`srcIp`, `date`)
 ) engine = MyISAM;

drop table if exists `proto`;

#69400
Serg79 написал:
Система учета Интернет трафика.

Сайт проекта: http://redmine.shelek.su/projects/trafstat/wiki

Ведет статистику по доступу к внешним серверам из локальной сети. Позволяет просматривать статистику как за день так и за месяц. Так же реализована панель управления пользователями, которые могут просматривать всю информацию о трафике хранящуюся в базе.

Вот как выдается информация о трафике:
[img=admin]http://sbt79.narod.ru/traffic.PNG[/img]

Так выглядит админка управления пользователями:
[img=admin]http://sbt79.narod.ru/admin.PNG[/img]

собрать в деб пакет можно? а то на сайте видел только тарбол

#69473

remonik почему нельзя, есть желание собирай. Но текущая версия 0.1-beta находится в активной разработке, сейчас перелопачивается полностью структура хранения трафика, имей это в виду.

#69478

судя по скринам всё грамотно какие виды авторизации есть?
по поводу дебпакета глянь в сторону самса вещь глюкавая знают (дебпакеты есть рпмпакеты и тарболы) всё и однако даже фряшники кричат что это самая адекватная система по по учёту трафа с авторизацией по домену, именно по домену
хотелось бы увидеть по ип+мак также управление сквидом из админки же

#69483

remonik, повторю еще раз. Сейчас не имеет смысла собирать какие либо пакеты.

Если хочешь попробовать, то получай исходники из SVN и настраивай систему. Там ничего сложного нет, требуются базовые знания. Тем более что dwak подготовил довольно не плохой мануал (http://redmine.shelek.su/projects/trafstat/wiki/Altlinux_install) по развертыванию системы. А что бы не засорять систему, можешь все вынести в отдельную директорию, например в /home/trafstat.

#69502

какие виды авторизации есть? вапрошаю потому что ну сам подсуди нафихх малой конторе контроллер домена?
а по ип+мак самое то логично я поднял шлюз с нуля прикрутил снорт фчек отправку логов по почте трипваре фчек и кое что ишо ;) но вот вапрос с авторизацией не решил придётся наверное подымать КД..
прошу прощения что задел наверное тебя

#69516

remonik да не задел ты меня. Я просто пытаюсь донести, что сейчас все быстро изменяется и собирать какие либо пакеты бессмысленно. Да же тот TAR-архив который там выложен уже устарел. Текущую версию надо получать с SVN.

На счет авторизации. Система не является каким либо контроллером к доступу во внешний мир (Интернет или внешние сети). Система выполняет только учет проходящего через машину трафика и не более. В дальнейшем планируется расширение функционала, но не в этой версии.

Авторизация по паролю присутствует к WEB-интерфейсу вывода статистики.

#69523

понял
тогда можно надеется что ты прикрутишь авторизацию по маку и ип плюс управление сквидом?

#69586
remonik написал:
понял
тогда можно надеется что ты прикрутишь авторизацию по маку и ип плюс управление сквидом?

Это все планируется. В частности "контроль ограничения по трафику" смотри запрос #34. Squid так же планируется, так как я сам им активно пользуюсь. Но это все ждет реализации в последующих версиях. Сейчас требуется отладить и стабилизировать базовый функционал, учет проходящего трафика.

#69872

спасибо молодец что ещё можно сказать? чем могу помочь тебе?

одна из истин на последок
"... И помни дорогу осилит идущий!.."-Лао Дцы :)

#75227
oleg_krv написал:
Протестировал выполнение скрипта и нашел причину "тупления" выполнения cron скрипта - запись в базу данных иногда доходит до 2-3 сек на 100 записей :( , иногда в начале запроса очень быстро, а под конец еще медленней :(

может кто-то скинуть свои настройки сервера mySQL, а то по рецептах с инета не помогает, или ссылку на нормальную статью настройки, а то не верю что хоть и атом- но двоядренный так может тормозить :(

oleg_krv, можешь сказать какая версия MySQL у тебя?

#81970

Доступна новая версия системы учета трафика TrafStat.

Основные изменения

Учитывается весь трафик, такой как TCP, ICMP, EGP и т.п.

Полностью изменилась структура хранения трафика в базе, что позволило существенно сократить размеры таблиц для хранения трафика. Если раньше, при доступе к внешним сетям Internet ~60 пользователей таблица в которой храниться трафик за сутки разрасталась до 48 Мбайт и в ней насчитывалось порядка 304448 строк, то сейчас за 30 суток контроля трафика для тех же 60 пользователе таблица имеет размер в 167 Мбайт и число строк 2906580.

Так же полностью изменен алгоритм хранения данных. Теперь весь хранимый трафик разделяется на два вида: "текущий" и "архивный". Статистика по "текущему трафику" (про размер этой таблицы как раз разговор шел выше) доступна с разрешением в один час, а статистика по "архивному трафику" доступна с разрешением в один месяц (что позволяет еще сильнее сжать данные о трафике). Срок хранения трафика по умолчанию в "текущей статистике" равняется 30 дней, в "архивной статистике" равняется 5 годам. Все эти параметры можно изменять через WEB-админку (на данный момент реализация этой фичи в процессе, см. #53).

Одним словом, текущая реализация алгоритма хранения данных трафика является базовой и все остальное в версии 0.1-beta будет добавляться по верх данной структуры базы.

Отдельное спасибо хочется сказать пользователю kisil, его вклад в тестирование TrafStat не возможно переоценить.

Как настроить работу TrafStat

Основные параметры настройки системы для работы TrafStat остались не измены. Это настройки имени базы данных и пользователя для доступа к данной базе. Эти параметры указываются в файле /etc/trafstat/trafstat.conf и ./www/htdocs/trafstat/config.php. Так же необходимо указать коллектору трафика trafd имя интерфейса с которого снимать трафик, данный интерфейс прописывается в файле /etc/trafd/trafctl.conf, параметр interfaces="eth0".

Ну и настроить автоматический запуск скриптов обслуживания съема трафика и базы данных в crond:

text
# Run trafcron.pl at every 5 minutes
*/5 * * * * /usr/libexec/trafstat/trafcron.pl --daemon 2>&1 > /dev/null
# Run trafarch.pl at 4:23 every day
23 4 * * * /usr/libexec/trafstat/trafarch.pl --daemon 2>&1 > /dev/null
# Run trafclean.pl at 4:28 every day
28 4 * * * /usr/libexec/trafstat/trafclean.pl --daemon 2>&1 > /dev/null
# Run trafserve.pl at 4:33 every day
33 4 * * * /usr/libexec/trafstat/trafserve.pl --daemon 2>&1 > /dev/null

Как получить новую версию

Загрузить новую версию можно непосредственно в виде tar-архива или из SVN-репозитария с ветки 'trunk': http://svn.shelek.su/public/trafstat/trunk/ .

#89199

delete

#89203
lateich написал:
Не подскажите куда копать?

Необходимо установить библиотеку 'libpcap'.

#89214

Спасибо smile

#91314

а с netflow умеет работать? (или будет в перспективе?)

#91413
antaeus написал:
а с netflow умеет работать? (или будет в перспективе?)

Нет, с netflow данный коллектор работать не умеет. Но если встанет такая необходимость, то добавить поддержку netflow не составить труда. Здесь главное найти источник генерации netflow трафика, для отладки данного функционала.)))

Войдите или зарегистрируйтесь, чтобы ответить.