Перейти к содержимому
Калькуляторы

flow-report хочу странного?

Есть такой отчет (аггрегация по ip src/dst за час):

stat-report srcdst_haggr
    type ip-source/destination-address
    output
        format ascii
        sort +octets
        fields +first,+octets,-packets,-duration,-flows

stat-definition srcdst_haggr
    time-series 3600
    report srcdst_haggr

 

Получаю такую табличку:

# first,ip-source-address*,ip-destination-address*,octets

 

first в данном случае это время старта первого flow в файле, еще есть last это время последнего flow в файле.

Так вот, нужно получить максимальное и минимальное время для flow в пределах одной группировки по src/dst.

Если по русски, то это время когда был первый и последний запрос к определенному IP за час.

 

Если бы flow файл был таблицей в реляционке, то это бы выглядело примерно так:

SELECT src_ip, dst_ip, MIN(usecs) AS min_usecs,
MAX(usecs) AS max_usecs, SUM(octets) AS octets,
SUM(packets) AS packets, COUNT(*) AS flows
FROM flows_table
GROUP BY src_ip, dst_ip

 

Реально сделать это через отчеты?

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попутно вопрос, кто как решает эту задачу. Вернее какими средствами? Может быть я не туда смотрю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

может тупо flow-export куска в базу и там уже глумиться с отчетами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да больно не хочется БД нагружать такой ерундой, в одном файле до 300-400 тыс. строк. Похоже, только патч :( т.к. в рассылке тоже ничего путного не посоветовали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

для того же постгреса инсерт а затем выборка по таблице на пол миллиона записей - это не ахти какая нагрузка

или загоните в мускуль с типом таблицы MEMORY

главное очищайте таблицу перед новым пакетом вставок и используйте базу просто как временное хранилище для облегчения обработки

думаю, это проще чем патчить flow-tools

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По первичному ключу конечно не нагрузка. А с группировкой всех записей по паре столбцов и подсчетом групповых функций тоже? По моему опыту это не так, проще работать не с СУБД в этом случае, либо с СУБД но не реляционками. Да и результат слишком большой получается чтобы его гонять по сети, а ставить только ради этого РСУБД на коллектор я конечно не буду.

 

Патчить просто потому, что это обязано быть в flow-report, т.е. там при группировке не подсчитываются MAX,MIN,AVG значения, а хотелось бы.

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.