Jump to content
Калькуляторы

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

 

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

Edited by SokolovS

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Edited by SokolovS

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.