postuser Posted August 22, 2007 Posted August 22, 2007 (edited) Считаю трафик с помощью netflow (fprobe) и с помощью iptables, есть расхождения примерно в 1-5% в сутки (на netflow больше). За счет чего это может быть? Или это говорит о неправильной настройке? Если не дал полнуюинформацию, скажите, что уточнить? Заранее спасибо. Edited August 22, 2007 by postuser Вставить ник Quote
postuser Posted August 22, 2007 Author Posted August 22, 2007 Разобрался-там при переводе в Мб. делиться на 1000*1000, а не на 1024*1024. Вставить ник Quote
postuser Posted August 22, 2007 Author Posted August 22, 2007 (edited) что за билинг?Это не в биллинге-отчет flow-tools->flow-stat -f 15.PS: А вообще где-нибудь законодательно определено сколько байт в Мб? И кто насколько делит в биллинге? Edited August 22, 2007 by postuser Вставить ник Quote
user_anonymous Posted August 22, 2007 Posted August 22, 2007 Кстати, если кому надо - я тут программулину написал для вычисления суммы столбцов в больших текстовых таблицах. Производительность ее весьма неплохая - так лог размером под сотню метров был просуммирован за несколько секунд. Вставить ник Quote
postuser Posted August 22, 2007 Author Posted August 22, 2007 Кто каким агрегатором пользуется перед заливкой в БД? Как я понял, в flow-tools это flow-tag+flow-nfilter. С фильтром разобрался быстро, а вот с flow-tag пока разбираюсь-может подскажете схему по разделению трафика на зоны (для записи в БД). Вставить ник Quote
khds Posted August 30, 2007 Posted August 30, 2007 что за билинг?Это не в биллинге-отчет flow-tools->flow-stat -f 15.PS: А вообще где-нибудь законодательно определено сколько байт в Мб? И кто насколько делит в биллинге? 1Мб=2^20 байтопределено ГОСТ 8.417-2002. ЕДИНИЦЫ ВЕЛИЧИН, приложение А цитата: "3. Исторически сложилась такая ситуация, что с наименованием „байт“ некорректно (вместо 1000 = 10^3 принято 1024 = 2^10) использовали (и используют) приставки СИ: 1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт и т.д. При этом обозначение Кбайт начинают с прописной буквы в отличие от строчной буквы „к“ для обозначения множителя 10^3." Вставить ник Quote
vop Posted September 3, 2007 Posted September 3, 2007 И кто насколько делит в биллинге? У меня в биллинге можно установить в конфиге множитель. Вставить ник Quote
PommeFritz Posted September 5, 2007 Posted September 5, 2007 http://ru.wikipedia.org/wiki/Двоичные_приставки Вставить ник Quote
arikaterin Posted September 7, 2007 Posted September 7, 2007 Кто каким агрегатором пользуется перед заливкой в БД? Как я понял, в flow-tools это flow-tag+flow-nfilter. С фильтром разобрался быстро, а вот с flow-tag пока разбираюсь-может подскажете схему по разделению трафика на зоны (для записи в БД). Пример самописного агрегатора на перле, использующего бинарное дерево для хранения данных. Работает очень быстро на любых объемах информации и количестве пользователей/зон. Думаю кому нужно - разберется куда его прикрутить :) #!/usr/bin/perl -w use Net::Patricia; use strict; my %users = ( "192.168.100.1" => 1, "192.168.58.11" => 58, "192.168.100.0/24" => 111, "192.168.100.128/25" => 11, ); my $tree_users = new Net::Patricia; foreach (keys %users){ $tree_users->add_string($_, [ $users{$_} ]); } my %zones = ( "255.255.10.0/24" => 1, "255.255.20.0/24" => 2, "255.255.30.0/24" => 3, "255.255.0.0/24" => 3, "255.255.1.0/24" => 1, "255.255.5.0/24" => 1, "255.255.6.0/24" => 6, "10.0.0.0/22" => 6, "0.0.0.0/0" => 5, ); my $tree_zones = new Net::Patricia; foreach (keys %zones){ $tree_zones->add_string($_, $zones{$_}); } # count mode: # 1 - input # 2 - output # 3 - input + output my $mode = 3; my ($user, $zone, @cols); open F, "/tmp/flow-tools.out"; while(<F>){ if(/^#/){next;} @cols = split/\s+/,$_; # первый айпи - юзер? if($user = $tree_users->match_string($cols[0])){ # да # считаем исходящий? if($mode != 1){ # да, получаем зону и агрегируем if($zone = $tree_zones->match_string($cols[1])){ $user->[$zone] += $cols[3]; } } } # второй айпи - юзер? if($user = $tree_users->match_string($cols[1])){ # да # считаем входящий? if($mode != 2){ # да, получаем зону и агрегируем if($zone = $tree_zones->match_string($cols[0])){ $user->[$zone] += $cols[3]; } } } } close F; # Получаем максимальный номер зоны my $max_zone = 0; foreach my $zone (keys %zones){ if($zones{$zone} > $max_zone){ $max_zone = $zones{$zone}; } } # Перебираем всех юзверей $tree_users->climb( \&climb_users ); sub climb_users { print "user ", $_[0][0], ":\n"; for( my $zone = 1; $zone <= $max_zone ; $zone++){ print $zone, ": ", defined $_[0][$zone]?$_[0][$zone]:0,"\n"; } } Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.