Скрипт (программа) для детализации трафика.

Технические вопросы по UTM 5.0
Ответить
nicol@s
Сообщения: 114
Зарегистрирован: Ср окт 14, 2009 15:52

Скрипт (программа) для детализации трафика.

Сообщение nicol@s »

Добрый день!
Извините, если уже такая тема поднималась. Искал по форуму, но не нашел того, что мне нужно.
Собственно, стоит такая задача:
1. дать возможность пользователю заказывать через личный кабинет детальную статистику за выбранный им период времени
2. сделать эту детализацию
3. положить детализацю в пользовательскую папку.
С 1 и 3 пунктами проблем никаких нет.
Вся загвоздка во 2 пункте. В данный момент есть прога на perl, но работает достаточно долго. К примеру, детализация за 1 месяц делается ~3-4 дня. Планируется, что процесс будет проходить в фоном режиме...Соответственно, какой-либо сбой, перезагрузка и пр. - и отчет нужно делать заново, ну или его просто система посчитает завершенным и положит неполный отчет в личную папку пользователя. Что тоже не есть хорошо.
Есть ли у кого и может ли кто-нибудь поделиться "инструментом" для детализации трафика?
Хотелось бы, чтобы формировался отчет по дням ну, например, в таком виде:

Код: Выделить всё

Дата | Класс трафика | IP источника | IP получателя | Кол-во пакетов  | Кол-во байт | Порт источника | Порт получателя
Для детализации используем файлы детальной статистики. Спасибо.

alexeyp5
Сообщения: 28
Зарегистрирован: Пт ноя 06, 2009 11:15

Сообщение alexeyp5 »

Актуально, примазываюсь...

NShut
Сообщения: 72
Зарегистрирован: Ср апр 01, 2009 12:39

Сообщение NShut »

лично я давно убрал деталку из утм. шибко часто файлы слетают.
Отправил копию потока нетфлоу на netflow-capture из утилит. каждые 3 часа группирую все по айпи откуда качалось и выкладываю в пользовательские папки. Раньше делал суточно, но много вопросов возникало. разделил так сказать.

группировка по айпи происходит из перла, но долго, для быстроты использую sort, файл сортируется мгновенно.

nicol@s
Сообщения: 114
Зарегистрирован: Ср окт 14, 2009 15:52

Сообщение nicol@s »

Хотелось бы увидеть живые примеры прог, если это возможно :)

NShut
Сообщения: 72
Зарегистрирован: Ср апр 01, 2009 12:39

Сообщение NShut »

я установил flow-tools, собираю трафик, далее уже раскидываю скриптом

мой вот
ftp://ns.stinet.ru/flowanalize.pl
в скрипте MD5 используется чтобы скрыть немного айпи и только

пример отчета:
-----------------------------------------------------
---From IP fPort toPort Bytes 29-01-2010 00:59
-----------------------------------------------------
149.20.56.32 80 3799 152
199.2.137.252 80 2534 372
204.45.13.154 47221 4420 14078
205.188.161.4 80 3023 468
206.222.228.38 80 1467 40
217.70.188.208 81 1035 6754
221.7.91.31 80 1150 10173
83.170.93.113 0 771 1359
83.170.93.113 6061 1137 13026
83.68.16.6 80 1274 4276
93.158.134.143 80 3249 2116
и filter.cfg для flow-capture
filter-primitive srcinet
type ip-address-mask
deny 172.16.0.0 255.240.0.0
deny 192.168.0.0 255.255.0.0
deny 10.0.0.0 255.0.0.0
default permit


filter-definition onlyinet
match ip-source-address srcinet
группирую по айпи, чтобы сократить используемое место на диске

nicol@s
Сообщения: 114
Зарегистрирован: Ср окт 14, 2009 15:52

Сообщение nicol@s »

А сколько времени выполняется месячный отчет?

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Посмотрите в сторону моего личного кабинета на джумле http://wiki.flintnet.ru . Я там сделал детальку, можно без проблем выдернуть в любой проект. Деталька php скриптом кидается на mysql, и с mysql делаются отчеты.
Вот лог загрузки детальки в мускуль:

Код: Выделить всё

01.02.10 13:31:38	Export script started
01.02.10 13:31:38	There are 1 files to export
01.02.10 13:31:38	"/netup/utm5/db/iptraffic_raw_1265019399.utm" contain 131579 records
01.02.10 13:33:46	From "/netup/utm5/db/iptraffic_raw_1265019399.utm" exported 130842 records (1018 records per second)
01.02.10 13:33:46		Skipped 737 records (system: 0; null: 0; timestamp: 0; t_class: 737)
01.02.10 13:33:46	Script execution time is 128.6 seconds
01.02.10 13:33:46	Total exported 130842 records
01.02.10 13:33:46	Total skipped 0 records (system: 0; null: 0; timestamp: 0)
01.02.10 13:33:46	Maximum speed	: 1018	records per second
01.02.10 13:33:46	Minimum speed	: 1018	records per second
01.02.10 13:33:46	Medium speed	: 1018	records per second
01.02.10 13:33:46	Global speed	: 1017.4	records per second
01.02.10 13:33:46	Export script finished
Отчет делается достаточно быстро : 63563 записей выводятся пользователю за 3 минуты 6 сек. Если исключить вывод на веб страницу с форматированием в красивую табличку, то будет раза в четыре быстрее.
mysql работает на стареньком четвертом пне (естественно одноядерном) с двумя гигами оперативки. Суточная база около 400Мб (это при 80Гб прокачанного трафика)

Месячный отчет естественно через интерфейс личного кабинета или средствами php сделать не удастся (лопнет php), но без проблем можно сделать через консольную mysql с выводом в файл.

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

Kayfolom писал(а):Суточная база около 400Мб (это при 80Гб прокачанного трафика)
Это работает только пока трафик маленький. Когда ежедневно будет создаваться .utm на 10 гигов, расклад сильно поменяется...

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

dk писал(а):
Kayfolom писал(а):Суточная база около 400Мб (это при 80Гб прокачанного трафика)
Это работает только пока трафик маленький. Когда ежедневно будет создаваться .utm на 10 гигов, расклад сильно поменяется...
Поэтому я и написал про 80Гб суточного трафика, Чтоб не было холостых попыток применять это решение на порядок больших объемах.

nicol@s
Сообщения: 114
Зарегистрирован: Ср окт 14, 2009 15:52

Сообщение nicol@s »

dk писал(а):
Kayfolom писал(а):Суточная база около 400Мб (это при 80Гб прокачанного трафика)
Это работает только пока трафик маленький. Когда ежедневно будет создаваться .utm на 10 гигов, расклад сильно поменяется...
Именно поэтому данное решение не подходит :(
Наверное начнем писать под свои нужды собственную программу. Т.к. та, что есть работает очень долго.

Ответить