* [devel] Учёт трафика (ulogd + sqlite) @ 2007-11-24 14:26 Grigory Batalov ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Grigory Batalov @ 2007-11-24 14:26 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 5128 bytes --] Здравствуйте! Мне нужно написать модуль альтератора для учёта трафика в рамках Office Server. Оцените идею, кто в теме. Наиболее простым кажется использовать ulogd и sqlite, поскольку это самодостаточные пакеты, и между ними не требуется прослойки. Так что я добавил правила: # iptables --insert INPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "icount" # iptables --insert OUTPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "ocount" # iptables --insert FORWARD -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "fcount" и настроил ulogd-sqlite3 на /var/lib/ulogd/sqlite3.db Всё бы хорошо, но пакетов приходит много, база растёт, а потенциальные пользователи Office Server вряд ли будут за ней следить и чистить. Поэтому я внёс дополнения в схему базы (cм. ниже). При вставке (INSERT) новой строки длина пакета триггером добавляется к суточному счётчику (в соответствии с протоколом, IP, портами и пр.), а строка тут же удаляется. Счётчик сначала пытается вставиться (INSERT OR IGNORE - если уже есть, молча идём дальше) в суточную таблицу (ulog_daily), а затем увеличивается на длину пакета UPDATE-ом. Поскольку в альтераторе не будет подробных сведений, время округляется до суток. По ulog_daily строится индекс для скорейшего поиска. Входной/выходной интерфейсы, порты tcp/udp при вставке в ulog_daily складываются, поскольку одновременно используется только один из пары. Ввод такой схемы даёт 16-кратную экономию места, при том, что скорость падает примерно в 4 раза: дамп на 360 тысяч строк залился чуть больше, чем за минуту (на Athlon 64 X2 3600) против 15 секунд по старой схеме. Мне кажется, это приемлимо. Покритикуйте, если я что-нибудь упустил. --- >8 --- CREATE TABLE ulog ( raw_mac VARCHAR(80), oob_time_sec INT UNSIGNED, oob_time_usec INT UNSIGNED, oob_prefix VARCHAR(32), oob_in VARCHAR(32), oob_out VARCHAR(32), ip_saddr VARCHAR(16), ip_daddr VARCHAR(16), ip_protocol TINYINT UNSIGNED, ip_totlen SMALLINT UNSIGNED, tcp_sport SMALLINT UNSIGNED, tcp_dport SMALLINT UNSIGNED, udp_sport SMALLINT UNSIGNED, udp_dport SMALLINT UNSIGNED, udp_len SMALLINT UNSIGNED, icmp_type TINYINT UNSIGNED, icmp_code TINYINT UNSIGNED, icmp_echoid SMALLINT UNSIGNED, icmp_echoseq SMALLINT UNSIGNED, icmp_gateway INT UNSIGNED, icmp_fragmtu SMALLINT UNSIGNED ); CREATE TABLE ulog_daily ( time INT UNSIGNED, prefix VARCHAR(32), iface VARCHAR(32), saddr VARCHAR(16), daddr VARCHAR(16), protocol TINYINT UNSIGNED, sport SMALLINT UNSIGNED, dport SMALLINT UNSIGNED, bytes INTEGER ); CREATE UNIQUE INDEX ulog_daily_idx ON ulog_daily (time, prefix, iface, saddr, daddr, protocol, sport, dport); CREATE TRIGGER aggregate AFTER INSERT ON ulog BEGIN INSERT OR IGNORE INTO ulog_daily ( time, prefix, iface, saddr, daddr, protocol, sport, dport, bytes ) values ( NEW.oob_time_sec/86400*86400, NEW.oob_prefix, NEW.oob_in || NEW.oob_out, NEW.ip_saddr, NEW.ip_daddr, NEW.ip_protocol, ifnull (NEW.tcp_sport, 0) + ifnull (NEW.udp_sport, 0), ifnull (NEW.tcp_dport, 0) + ifnull (NEW.udp_dport, 0), 0 ); UPDATE ulog_daily SET bytes = bytes + NEW.ip_totlen WHERE time = NEW.oob_time_sec/86400*86400 AND prefix = NEW.oob_prefix AND iface = NEW.oob_in || NEW.oob_out AND saddr = NEW.ip_saddr AND daddr = NEW.ip_daddr AND protocol = NEW.ip_protocol AND sport = ifnull (NEW.tcp_sport, 0) + ifnull (NEW.udp_sport, 0) AND dport = ifnull (NEW.tcp_dport, 0) + ifnull (NEW.udp_dport, 0); DELETE from ulog WHERE ROWID = NEW.ROWID; END; -- Grigory Batalov, ALT Linux Team [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
[parent not found: <c20c61490711240633l794b386dr1dc20e48c068080c@mail.gmail.com>]
* Re: [devel] Учёт трафика (ulogd + sqlite) @ 2007-11-24 15:40 ` Grigory Batalov 2007-11-24 17:08 ` Peter V. Saveliev 0 siblings, 1 reply; 17+ messages in thread From: Grigory Batalov @ 2007-11-24 15:40 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2121 bytes --] On Sat, 24 Nov 2007 17:33:59 +0300, Yury A.Romanov wrote: > А может лучше ipcad? он еще проще. по rsh получать значения счетчиков > netflow. По netflow ежели что можно их куда-то отдавать. В альтераторе нет поддержки netflow =). Вот, что показывает ipcad через rsh: Source Destination Packets Bytes SrcPt DstPt Proto IF 77.241.33.0 192.168.10.111 21 1040 65535 22 6 venet0 192.168.10.111 77.241.33.0 28 29148 22 65535 6 ulog4 127.0.0.0 127.0.0.0 231 108320 1023 1023 6 ulog4 Accounting data age is 0 Accounting data age exact 24 Accounting data saved 1195917584 Interface u1: received ??, 5 m average 1086 bytes/sec, 8 pkts/sec, dropped ?? Flow entries made: 3 Memory usage: 0% (408 from 1048576) Free slots for rsh clients: 9 IPCAD uptime is 5 minutes vbga64.spb.altlinux.org uptime is 95 days 6:03 Что-то не вижу, как здесь посчитать трафик за вчера и позавчера. И потом, выборка из базы sqlite по IP и номеру порта мне кажется быстрее и проще, чем ручной (скриптовый) подсчёт по текстовой таблице ipcad. Т.е. sql гибче. Тема netflow, вообще говоря, интересна, но для такой простой задачи, как модуль альтератора, мне кажется, это слишком мощный инструмент. > > Мне нужно написать модуль альтератора для учёта трафика в рамках > > Office Server. Оцените идею, кто в теме. > > > > Наиболее простым кажется использовать ulogd и sqlite, поскольку это > > самодостаточные пакеты, и между ними не требуется прослойки. Так что > > я добавил правила: > > > > # iptables --insert INPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 > > --ulog-qthreshold 50 --ulog-prefix "icount" > > # iptables --insert OUTPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 > > --ulog-qthreshold 50 --ulog-prefix "ocount" > > # iptables --insert FORWARD -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 > > --ulog-qthreshold 50 --ulog-prefix "fcount" > > > > и настроил ulogd-sqlite3 на /var/lib/ulogd/sqlite3.db ... -- Grigory Batalov, ALT Linux Team [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-24 15:40 ` Grigory Batalov @ 2007-11-24 17:08 ` Peter V. Saveliev 2007-11-30 14:29 ` Максим Иванов 0 siblings, 1 reply; 17+ messages in thread From: Peter V. Saveliev @ 2007-11-24 17:08 UTC (permalink / raw) To: ALT Linux Team development discussions В сообщении от Saturday 24 November 2007 18:40:53 Grigory Batalov написал(а): > On Sat, 24 Nov 2007 17:33:59 +0300, Yury A.Romanov wrote: > > А может лучше ipcad? он еще проще. по rsh получать значения счетчиков > > netflow. По netflow ежели что можно их куда-то отдавать. > > В альтераторе нет поддержки netflow =). > Ещё бы. <skip /> > Что-то не вижу, как здесь посчитать трафик за вчера и позавчера. > И потом, выборка из базы sqlite по IP и номеру порта мне кажется быстрее > и проще, чем ручной (скриптовый) подсчёт по текстовой таблице ipcad. > Т.е. sql гибче. > <skip /> В ipcad делать export на localhost 9996. С помощью flow-tools ловить и анализировать. И/или складывать в rrd (это на тему "не чистят"). Пробегал тут ещё очень симпатичный готовый viewer к этому. -- Peter V. Saveliev ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-24 17:08 ` Peter V. Saveliev @ 2007-11-30 14:29 ` Максим Иванов 0 siblings, 0 replies; 17+ messages in thread From: Максим Иванов @ 2007-11-30 14:29 UTC (permalink / raw) To: ALT Linux Team development discussions > С помощью flow-tools ловить и анализировать. И/или складывать в rrd (это на > тему "не чистят"). > > Пробегал тут ещё очень симпатичный готовый viewer к этому. А можно ссылку на Viewer? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-24 14:26 [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov @ 2007-11-24 16:47 ` Michael Shigorin 2007-11-25 1:01 ` Anton Farygin 2 siblings, 0 replies; 17+ messages in thread From: Michael Shigorin @ 2007-11-24 16:47 UTC (permalink / raw) To: devel On Sat, Nov 24, 2007 at 05:26:39PM +0300, Grigory Batalov wrote: > Всё бы хорошо, но пакетов приходит много, база растёт, а > потенциальные пользователи Office Server вряд ли будут за ней > следить и чистить. В таких случаях обычно хорошо работает RRD-like (round robin), посмотри collectd или mrtg. Кстати, collectd для SOHO может оказаться вполне полезным сам по себе или как источник данных для тебя. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-24 14:26 [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov 2007-11-24 16:47 ` Michael Shigorin @ 2007-11-25 1:01 ` Anton Farygin 2007-11-25 2:13 ` Aleksey Avdeev ` (2 more replies) 2 siblings, 3 replies; 17+ messages in thread From: Anton Farygin @ 2007-11-25 1:01 UTC (permalink / raw) To: ALT Linux Team development discussions Григорий! Спасибо за поднятую тему. Первое, что хотелось бы сказать: независимо от итогового решения, давайте попробуем сделать то, что нужно сейчас, максимально расширяемым. Для этого мы попробуем добавить следующие прослойки: 1) коллектор трафика - модуль сбора. Динамически-подгружаемый so модуль, собирающий данные об трафике с различных источников (netflow, ulog... и т.д.) 2) калькулятор - модуль, позволяющий согласно настройкам - правилам, вносить подсчитываемые значения в базу данных 3) Реализатор - модуль, позволяющий согласно настройкам и правилам блокировать пользователя. 4) Визуализатор - видимо это на данном этапе альтератор, общающийся с системой учёта через cmdline интерфейс (в этом случае не придётся ваять библиотеки, хотя они явно не помешали бы) Соответственно хотелось бы изначально спроектировать систему таким образом, что бы по мере необходимости можно было без серьёзных изменений добавлять функционал. Конечная цель - полноценный биллинг (который актуален как всегда). Видимо стоит посмотреть на существующие решения - Katrin (молодой проект, но как говорят - работает), netams (масса болезней, как мне показалось) и т.д. netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. Допускаю ошибки в настройке iptables, но в случае падения netams сервер становился недоступен по сети. Grigory Batalov пишет: > Здравствуйте! > > Мне нужно написать модуль альтератора для учёта трафика в рамках > Office Server. Оцените идею, кто в теме. > > Наиболее простым кажется использовать ulogd и sqlite, поскольку это > самодостаточные пакеты, и между ними не требуется прослойки. Так что > я добавил правила: > > # iptables --insert INPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "icount" > # iptables --insert OUTPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "ocount" > # iptables --insert FORWARD -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "fcount" > > и настроил ulogd-sqlite3 на /var/lib/ulogd/sqlite3.db > > Всё бы хорошо, но пакетов приходит много, база растёт, а потенциальные > пользователи Office Server вряд ли будут за ней следить и чистить. > Поэтому я внёс дополнения в схему базы (cм. ниже). > > При вставке (INSERT) новой строки длина пакета триггером добавляется > к суточному счётчику (в соответствии с протоколом, IP, портами и пр.), а > строка тут же удаляется. Счётчик сначала пытается вставиться (INSERT OR > IGNORE - если уже есть, молча идём дальше) в суточную таблицу (ulog_daily), > а затем увеличивается на длину пакета UPDATE-ом. > > Поскольку в альтераторе не будет подробных сведений, время округляется > до суток. По ulog_daily строится индекс для скорейшего поиска. Входной/выходной > интерфейсы, порты tcp/udp при вставке в ulog_daily складываются, поскольку > одновременно используется только один из пары. > > Ввод такой схемы даёт 16-кратную экономию места, при том, что скорость > падает примерно в 4 раза: дамп на 360 тысяч строк залился чуть больше, > чем за минуту (на Athlon 64 X2 3600) против 15 секунд по старой схеме. > Мне кажется, это приемлимо. > > Покритикуйте, если я что-нибудь упустил. > > --- >8 --- > CREATE TABLE ulog ( > raw_mac VARCHAR(80), > oob_time_sec INT UNSIGNED, > oob_time_usec INT UNSIGNED, > oob_prefix VARCHAR(32), > oob_in VARCHAR(32), > oob_out VARCHAR(32), > ip_saddr VARCHAR(16), > ip_daddr VARCHAR(16), > ip_protocol TINYINT UNSIGNED, > ip_totlen SMALLINT UNSIGNED, > tcp_sport SMALLINT UNSIGNED, > tcp_dport SMALLINT UNSIGNED, > udp_sport SMALLINT UNSIGNED, > udp_dport SMALLINT UNSIGNED, > udp_len SMALLINT UNSIGNED, > icmp_type TINYINT UNSIGNED, > icmp_code TINYINT UNSIGNED, > icmp_echoid SMALLINT UNSIGNED, > icmp_echoseq SMALLINT UNSIGNED, > icmp_gateway INT UNSIGNED, > icmp_fragmtu SMALLINT UNSIGNED > ); > CREATE TABLE ulog_daily ( > time INT UNSIGNED, > prefix VARCHAR(32), > iface VARCHAR(32), > saddr VARCHAR(16), > daddr VARCHAR(16), > protocol TINYINT UNSIGNED, > sport SMALLINT UNSIGNED, > dport SMALLINT UNSIGNED, > bytes INTEGER > ); > CREATE UNIQUE INDEX ulog_daily_idx ON ulog_daily > (time, prefix, iface, saddr, daddr, protocol, sport, dport); > CREATE TRIGGER aggregate AFTER INSERT ON ulog > BEGIN > INSERT OR IGNORE INTO ulog_daily ( > time, > prefix, > iface, > saddr, > daddr, > protocol, > sport, > dport, > bytes > ) values ( > NEW.oob_time_sec/86400*86400, > NEW.oob_prefix, > NEW.oob_in || NEW.oob_out, > NEW.ip_saddr, > NEW.ip_daddr, > NEW.ip_protocol, > ifnull (NEW.tcp_sport, 0) + ifnull (NEW.udp_sport, 0), > ifnull (NEW.tcp_dport, 0) + ifnull (NEW.udp_dport, 0), > 0 > ); > UPDATE ulog_daily > SET > bytes = bytes + NEW.ip_totlen > WHERE > time = NEW.oob_time_sec/86400*86400 AND > prefix = NEW.oob_prefix AND > iface = NEW.oob_in || NEW.oob_out AND > saddr = NEW.ip_saddr AND > daddr = NEW.ip_daddr AND > protocol = NEW.ip_protocol AND > sport = ifnull (NEW.tcp_sport, 0) + ifnull (NEW.udp_sport, 0) AND > dport = ifnull (NEW.tcp_dport, 0) + ifnull (NEW.udp_dport, 0); > DELETE from ulog WHERE ROWID = NEW.ROWID; > END; > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 1:01 ` Anton Farygin @ 2007-11-25 2:13 ` Aleksey Avdeev 2007-11-25 16:16 ` Sergey Y. Afonin 2007-11-26 10:59 ` Epiphanov Sergei 2007-11-25 15:07 ` Grigory Batalov 2007-11-26 17:30 ` [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov 2 siblings, 2 replies; 17+ messages in thread From: Aleksey Avdeev @ 2007-11-25 2:13 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1629 bytes --] Anton Farygin пишет: > Григорий! Спасибо за поднятую тему. > > Первое, что хотелось бы сказать: независимо от итогового решения, > давайте попробуем сделать то, что нужно сейчас, максимально расширяемым. > > Для этого мы попробуем добавить следующие прослойки: > 1) коллектор трафика - модуль сбора. Динамически-подгружаемый so модуль, > собирающий данные об трафике с различных источников (netflow, ulog... и > т.д.) Из логов squid в частности. > 2) калькулятор - модуль, позволяющий согласно настройкам - правилам, > вносить подсчитываемые значения в базу данных > 3) Реализатор - модуль, позволяющий согласно настройкам и правилам > блокировать пользователя. > 4) Визуализатор - видимо это на данном этапе альтератор, общающийся с > системой учёта через cmdline интерфейс (в этом случае не придётся ваять > библиотеки, хотя они явно не помешали бы) > > Соответственно хотелось бы изначально спроектировать систему таким > образом, что бы по мере необходимости можно было без серьёзных изменений > добавлять функционал. Конечная цель - полноценный биллинг (который > актуален как всегда). > > Видимо стоит посмотреть на существующие решения - Katrin (молодой > проект, но как говорят - работает), netams (масса болезней, как мне > показалось) и т.д. > > netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. > Допускаю ошибки в настройке iptables, но в случае падения netams сервер > становился недоступен по сети. Если задействовать только часть его (netams) функционала -- его поадения будут не так фатальны. -- С уважением. Алексей. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 544 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 2:13 ` Aleksey Avdeev @ 2007-11-25 16:16 ` Sergey Y. Afonin 2007-11-25 17:14 ` Aleksey Avdeev 2007-11-26 10:59 ` Epiphanov Sergei 1 sibling, 1 reply; 17+ messages in thread From: Sergey Y. Afonin @ 2007-11-25 16:16 UTC (permalink / raw) To: ALT Linux Team development discussions On Sunday 25 November 2007, Aleksey Avdeev wrote: > > netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. > > Допускаю ошибки в настройке iptables, но в случае падения netams сервер > > становился недоступен по сети. > > Если задействовать только часть его (netams) функционала -- его > поадения будут не так фатальны. Зато могут получиться пробелы в учёте трафика... -- С уважением, Сергей Афонин ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 16:16 ` Sergey Y. Afonin @ 2007-11-25 17:14 ` Aleksey Avdeev 0 siblings, 0 replies; 17+ messages in thread From: Aleksey Avdeev @ 2007-11-25 17:14 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 493 bytes --] Sergey Y. Afonin пишет: > On Sunday 25 November 2007, Aleksey Avdeev wrote: > >>> netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. >>> Допускаю ошибки в настройке iptables, но в случае падения netams сервер >>> становился недоступен по сети. >> Если задействовать только часть его (netams) функционала -- его >> поадения будут не так фатальны. > > Зато могут получиться пробелы в учёте трафика... Пожалуй, да... -- С уважением. Алексей. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 544 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 2:13 ` Aleksey Avdeev 2007-11-25 16:16 ` Sergey Y. Afonin @ 2007-11-26 10:59 ` Epiphanov Sergei 1 sibling, 0 replies; 17+ messages in thread From: Epiphanov Sergei @ 2007-11-26 10:59 UTC (permalink / raw) To: ALT Linux Team development discussions В сообщении от Sunday 25 November 2007 05:13:59 Aleksey Avdeev написал(а): > > netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. > > Допускаю ошибки в настройке iptables, но в случае падения netams сервер > > становился недоступен по сети. > > Если задействовать только часть его (netams) функционала -- его > поадения будут не так фатальны. С 3.4.0rc2 действительно, возможны проблемы, так как серьёзно переписана. Мне тут навесили багов, но часть из них мне сходу не решить, нужно время. Тогда проще достать версию 3.3.5 из архивов Сизифа и использовать её. Та версия более устойчива в работе (за год работы ни одного падения). Кроме того, netams позволяет тащить данные через iptables, не разрушая поток данных. То есть при его падении данные не блокируются. -- С уважением, Епифанов Сергей ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 1:01 ` Anton Farygin 2007-11-25 2:13 ` Aleksey Avdeev @ 2007-11-25 15:07 ` Grigory Batalov 2007-11-25 19:50 ` Anton Farygin 2007-11-26 17:30 ` [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov 2 siblings, 1 reply; 17+ messages in thread From: Grigory Batalov @ 2007-11-25 15:07 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1688 bytes --] On Sun, 25 Nov 2007 04:01:22 +0300, Anton Farygin wrote: > Григорий! Спасибо за поднятую тему. > > Первое, что хотелось бы сказать: независимо от итогового решения, > давайте попробуем сделать то, что нужно сейчас, максимально расширяемым. Можешь перечислить решаемые такой системой задачи? Писать "в стол" нет желания, лучше бы сразу представлять будущие варианты использования. > Для этого мы попробуем добавить следующие прослойки: > 1) коллектор трафика - модуль сбора. Динамически-подгружаемый so модуль, > собирающий данные об трафике с различных источников (netflow, ulog... и > т.д.) > 2) калькулятор - модуль, позволяющий согласно настройкам - правилам, > вносить подсчитываемые значения в базу данных > 3) Реализатор - модуль, позволяющий согласно настройкам и правилам > блокировать пользователя. > 4) Визуализатор - видимо это на данном этапе альтератор, общающийся с > системой учёта через cmdline интерфейс (в этом случае не придётся ваять > библиотеки, хотя они явно не помешали бы) > > Соответственно хотелось бы изначально спроектировать систему таким > образом, что бы по мере необходимости можно было без серьёзных изменений > добавлять функционал. Конечная цель - полноценный биллинг (который > актуален как всегда). > > Видимо стоит посмотреть на существующие решения - Katrin (молодой > проект, но как говорят - работает), netams (масса болезней, как мне > показалось) и т.д. > > netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. > Допускаю ошибки в настройке iptables, но в случае падения netams сервер > становился недоступен по сети. -- Grigory Batalov, ALT Linux Team [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 15:07 ` Grigory Batalov @ 2007-11-25 19:50 ` Anton Farygin 2007-11-25 20:49 ` [devel] Учёт трафика Grigory Batalov 0 siblings, 1 reply; 17+ messages in thread From: Anton Farygin @ 2007-11-25 19:50 UTC (permalink / raw) To: ALT Linux Team development discussions Grigory Batalov пишет: > On Sun, 25 Nov 2007 04:01:22 +0300, Anton Farygin wrote: > >> Григорий! Спасибо за поднятую тему. >> >> Первое, что хотелось бы сказать: независимо от итогового решения, >> давайте попробуем сделать то, что нужно сейчас, максимально расширяемым. > > Можешь перечислить решаемые такой системой задачи? 1) биллинг для небольшого провайдера (до 2000 клиентов) 2) учёт трафика/биллинг для домашней сети 3) учёт и ограничение трафика в организации > Писать "в стол" нет желания, лучше бы сразу представлять будущие > варианты использования. > >> Для этого мы попробуем добавить следующие прослойки: >> 1) коллектор трафика - модуль сбора. Динамически-подгружаемый so модуль, >> собирающий данные об трафике с различных источников (netflow, ulog... и >> т.д.) >> 2) калькулятор - модуль, позволяющий согласно настройкам - правилам, >> вносить подсчитываемые значения в базу данных >> 3) Реализатор - модуль, позволяющий согласно настройкам и правилам >> блокировать пользователя. >> 4) Визуализатор - видимо это на данном этапе альтератор, общающийся с >> системой учёта через cmdline интерфейс (в этом случае не придётся ваять >> библиотеки, хотя они явно не помешали бы) >> >> Соответственно хотелось бы изначально спроектировать систему таким >> образом, что бы по мере необходимости можно было без серьёзных изменений >> добавлять функционал. Конечная цель - полноценный биллинг (который >> актуален как всегда). >> >> Видимо стоит посмотреть на существующие решения - Katrin (молодой >> проект, но как говорят - работает), netams (масса болезней, как мне >> показалось) и т.д. >> >> netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. >> Допускаю ошибки в настройке iptables, но в случае падения netams сервер >> становился недоступен по сети. > > > ------------------------------------------------------------------------ > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика 2007-11-25 19:50 ` Anton Farygin @ 2007-11-25 20:49 ` Grigory Batalov 2007-11-26 8:05 ` Slava Semushin 2007-11-26 8:08 ` Anton Farygin 0 siblings, 2 replies; 17+ messages in thread From: Grigory Batalov @ 2007-11-25 20:49 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 456 bytes --] On Sun, 25 Nov 2007 22:50:41 +0300, Anton Farygin wrote: > > Можешь перечислить решаемые такой системой задачи? > 1) биллинг для небольшого провайдера (до 2000 клиентов) > 2) учёт трафика/биллинг для домашней сети > 3) учёт и ограничение трафика в организации Как я понимаю, пункт 3 означает выполнение некоторых активных действий (заблокировать или ужать канал) при переполнении счётчиков? -- Grigory Batalov, ALT Linux Team [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика 2007-11-25 20:49 ` [devel] Учёт трафика Grigory Batalov @ 2007-11-26 8:05 ` Slava Semushin 2007-11-26 8:08 ` Anton Farygin 1 sibling, 0 replies; 17+ messages in thread From: Slava Semushin @ 2007-11-26 8:05 UTC (permalink / raw) To: ALT Linux Team development discussions 26.11.07, Grigory Batalov<bga / altlinux.org> написал(а): [...] > Как я понимаю, пункт 3 означает выполнение некоторых активных > действий (заблокировать или ужать канал) при переполнении > счётчиков? (Надеюсь, что в тему) Кстати, есть проект http://sourceforge.net/projects/trafitizer/, у которого русскоязычный автор и который даже просил посмотреть его код и помочь в улучшении проекта. -- + Slava Semushin | slava.semushin @ gmail.com + ALT Linux Team | php-coder @ altlinux.ru ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика 2007-11-25 20:49 ` [devel] Учёт трафика Grigory Batalov 2007-11-26 8:05 ` Slava Semushin @ 2007-11-26 8:08 ` Anton Farygin 1 sibling, 0 replies; 17+ messages in thread From: Anton Farygin @ 2007-11-26 8:08 UTC (permalink / raw) To: ALT Linux Team development discussions Grigory Batalov пишет: > On Sun, 25 Nov 2007 22:50:41 +0300, Anton Farygin wrote: > >>> Можешь перечислить решаемые такой системой задачи? > >> 1) биллинг для небольшого провайдера (до 2000 клиентов) >> 2) учёт трафика/биллинг для домашней сети >> 3) учёт и ограничение трафика в организации > > Как я понимаю, пункт 3 означает выполнение некоторых активных > действий (заблокировать или ужать канал) при переполнении > счётчиков? Да. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-25 1:01 ` Anton Farygin 2007-11-25 2:13 ` Aleksey Avdeev 2007-11-25 15:07 ` Grigory Batalov @ 2007-11-26 17:30 ` Grigory Batalov 2007-11-27 6:06 ` Vladimir V. Kamarzin 2 siblings, 1 reply; 17+ messages in thread From: Grigory Batalov @ 2007-11-26 17:30 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2205 bytes --] On Sun, 25 Nov 2007 04:01:22 +0300, Anton Farygin wrote: > Первое, что хотелось бы сказать: независимо от итогового решения, > давайте попробуем сделать то, что нужно сейчас, максимально расширяемым. Вот я почитал, что понимается под словом "биллинг", и решил, что заниматься этим сейчас не стоит. Имеющиеся проекты монолитны, тащить кого-то из них целиком в Office Server не вижу смысла. > Для этого мы попробуем добавить следующие прослойки: > 1) коллектор трафика - модуль сбора. Динамически-подгружаемый so модуль, > собирающий данные об трафике с различных источников (netflow, ulog... и > т.д.) > 2) калькулятор - модуль, позволяющий согласно настройкам - правилам, > вносить подсчитываемые значения в базу данных > 3) Реализатор - модуль, позволяющий согласно настройкам и правилам > блокировать пользователя. > 4) Визуализатор - видимо это на данном этапе альтератор, общающийся с > системой учёта через cmdline интерфейс (в этом случае не придётся ваять > библиотеки, хотя они явно не помешали бы) > > Соответственно хотелось бы изначально спроектировать систему таким > образом, что бы по мере необходимости можно было без серьёзных изменений > добавлять функционал. Конечная цель - полноценный биллинг (который > актуален как всегда). Ну да, если создавать полноценный биллинг, то его нужно изначально проектировать. Я в этом смысле "не в теме", может быть кто-то другой хочет заняться? > Видимо стоит посмотреть на существующие решения - Katrin (молодой > проект, но как говорят - работает), netams (масса болезней, как мне > показалось) и т.д. Вот ещё вариант: http://abills.net.ua/wiki/doku.php?id=abills:docs:features:ru > netams, кстати, умеет ulog, но я столкнулся с проблемой падения netams. > Допускаю ошибки в настройке iptables, но в случае падения netams сервер > становился недоступен по сети. > > Мне нужно написать модуль альтератора для учёта трафика в рамках > > Office Server. Оцените идею, кто в теме. > > > > Наиболее простым кажется использовать ulogd и sqlite, поскольку это > > самодостаточные пакеты, и между ними не требуется прослойки. -- Grigory Batalov, ALT Linux Team [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [devel] Учёт трафика (ulogd + sqlite) 2007-11-26 17:30 ` [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov @ 2007-11-27 6:06 ` Vladimir V. Kamarzin 0 siblings, 0 replies; 17+ messages in thread From: Vladimir V. Kamarzin @ 2007-11-27 6:06 UTC (permalink / raw) To: ALT Linux Team development discussions >>>>> On 26 Nov 2007 at 22:30 "GB" == Grigory Batalov writes: GB> Вот ещё вариант: GB> http://abills.net.ua/wiki/doku.php?id=abills:docs:features:ru Смотрел его года полтора назад - ловил глюки с пропаданием денег со счёта и прочее. Писано бздишником. Везде захардкодено /usr/abills, чтобы нормально разложить по FHS, придётся повозиться. Некоторые наработки лежат в git.alt:/people/vvk/packages/abills.git -- vvk ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2007-11-30 14:29 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2007-11-24 14:26 [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov 2007-11-24 15:40 ` Grigory Batalov 2007-11-24 17:08 ` Peter V. Saveliev 2007-11-30 14:29 ` Максим Иванов 2007-11-24 16:47 ` Michael Shigorin 2007-11-25 1:01 ` Anton Farygin 2007-11-25 2:13 ` Aleksey Avdeev 2007-11-25 16:16 ` Sergey Y. Afonin 2007-11-25 17:14 ` Aleksey Avdeev 2007-11-26 10:59 ` Epiphanov Sergei 2007-11-25 15:07 ` Grigory Batalov 2007-11-25 19:50 ` Anton Farygin 2007-11-25 20:49 ` [devel] Учёт трафика Grigory Batalov 2007-11-26 8:05 ` Slava Semushin 2007-11-26 8:08 ` Anton Farygin 2007-11-26 17:30 ` [devel] Учёт трафика (ulogd + sqlite) Grigory Batalov 2007-11-27 6:06 ` Vladimir V. Kamarzin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git