URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 80295
[ Назад ]

Исходное сообщение
"Неправильный подсчёт трафика flow-cat"

Отправлено Mamoru , 15-Май-08 12:59 
FreeBSD 6.0, flow-tools-0.68_6

Фловы с циски складываются в /var/netflow/, формат файла: ft-v05.2008-05-15.120501+0400
Если посчитать трафик по дням, и сложить, то результат будет отличаться, от посчитанного за месяц (сумма суточных трафиков больше сквозного за месяц).
Причём если  find использовать без ключа -s, то данные на flow-cat идут не вполне сортированные и в результате вообще неучитывается половина трафика.

for i in  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  ;do
find -s /var/netflow/  -type f -name ft-v05.2008-04-$i* -exec flow-cat  {} +  |flow-nfilter -F$filter |flow-stat -f15
done

find -s /var/netflow/  -type f -name ft-v05.2008-04-* -exec flow-cat  {} +  |flow-nfilter -F$filter |flow-stat -f15

В чём может быть засада?


Содержание

Сообщения в этом обсуждении
"Неправильный подсчёт трафика flow-cat"
Отправлено Felixz , 15-Май-08 13:47 
Видите-ли, в мае 31 день. Это один из вариантов.

"Неправильный подсчёт трафика flow-cat"
Отправлено Felixz , 15-Май-08 13:48 
>Видите-ли, в мае 31 день. Это один из вариантов.

Хотя если это за текущий год, то проверьте список файлов уходящих на flow-cat



"Неправильный подсчёт трафика flow-cat"
Отправлено Mamoru , 15-Май-08 13:50 
>>Видите-ли, в мае 31 день. Это один из вариантов.
>
>Хотя если это за текущий год, то проверьте список файлов уходящих на
>flow-cat

Ну в общем то ft-v05.2008-04-* Это файлы за апрель


"Неправильный подсчёт трафика flow-cat"
Отправлено Felixz , 15-Май-08 13:54 
>>>Видите-ли, в мае 31 день. Это один из вариантов.
>>
>>Хотя если это за текущий год, то проверьте список файлов уходящих на
>>flow-cat
>
>Ну в общем то ft-v05.2008-04-* Это файлы за апрель

Ага, не туда глянул.
Список одинаковый?
for i in  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do find ./ -type f -name ft*2008-04-$i* >> res1; done

find ./ -type f -name ft*2008-04* > res2  

diff res1 res2


"Неправильный подсчёт трафика flow-cat"
Отправлено Mamoru , 15-Май-08 14:19 
>[оверквотинг удален]
>>
>>Ну в общем то ft-v05.2008-04-* Это файлы за апрель
>
>Ага, не туда глянул.
>Список одинаковый?
>for i in  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do find ./ -type f -name ft*2008-04-$i* >> res1; done
>
>find ./ -type f -name ft*2008-04* > res2  
>
>diff res1 res2

Спасибо, дельно придумали.
Хотя файлы полностью индентичны. А по результатам flow-cat по суммам 180Гб, а месячный 110Гб.


"Неправильный подсчёт трафика flow-cat"
Отправлено Felixz , 15-Май-08 15:03 
>[оверквотинг удален]
>>Список одинаковый?
>>for i in  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do find ./ -type f -name ft*2008-04-$i* >> res1; done
>>
>>find ./ -type f -name ft*2008-04* > res2  
>>
>>diff res1 res2
>
>Спасибо, дельно придумали.
>Хотя файлы полностью индентичны. А по результатам flow-cat по суммам 180Гб, а
>месячный 110Гб.

Можно вообще отказать от find'a, благо flow-cat сам не плохо файлы перебирает:

1. flow-cat ./2008-04* | flow-stat -f15
2.
for i in  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
  if [ -x 2008-04-$i ]; then
    flow-cat 2008-04-$i/*  | flow-stat -f15 | grep -v '\#'
  fi
done

у меня результат совпал с разницев в 3 Мегабайта.


"Неправильный подсчёт трафика flow-cat"
Отправлено Mamoru , 15-Май-08 15:13 

>[оверквотинг удален]
>09 10 11 12 13 14 15 16 17 18 19
>20 21 22 23 24 25 26 27 28 29 30;
>do
>  if [ -x 2008-04-$i ]; then
>    flow-cat 2008-04-$i/*  | flow-stat -f15 | grep
>-v '\#'
>  fi
>done
>
>у меня результат совпал с разницев в 3 Мегабайта.

От find отказаться проблематично, так-как слишком длинная строка аргументов получается.
Попробую реализовать через собственный механизм в flow-cat:
/usr/local/bin/flow-cat -t "03/31/2008 23:44:59" -T "05/01/2008 00:30:00" /var/netflow/


"Неправильный подсчёт трафика flow-cat"
Отправлено Felixz , 15-Май-08 15:22 
>[оверквотинг удален]
>>    flow-cat 2008-04-$i/*  | flow-stat -f15 | grep
>>-v '\#'
>>  fi
>>done
>>
>>у меня результат совпал с разницев в 3 Мегабайта.
>
>От find отказаться проблематично, так-как слишком длинная строка аргументов получается.
>Попробую реализовать через собственный механизм в flow-cat:
>/usr/local/bin/flow-cat -t "03/31/2008 23:44:59" -T "05/01/2008 00:30:00" /var/netflow/

А стоит-ли извлекать данные по времени? Всё одно в биллинге сойдётся.
Но в любом случае - удачи =)