LINUX.ORG.RU
ФорумAdmin

ulogd: размер БД


0

2

Добрый день!

При использовании ulogd БД очень быстро растет. Возможна ли группировка нескольких пакетов (как в ulog-acctd), передаваемых в БД?

★★★★

Я как-то взял за основу ulog-acctd и приделал к нему возможность писать в базу. Умеет писать в mysql и postgresql, записывать неудавшиеся insertы в текстовый файл, может грузить из базы соответствие ip и числа и потом ставить в соответствие с IP это число (например id клиента). Вобщем мне хватает :)

Если нитересно сорцы здесь http://gibbon.kinnet.ru/ulog-dbacctd.tar.bz2
Для подключения баз править Makefile в src. :)

gibbon
()

Просто создайте еще одну таблицу (например grouplog), и раз в час делайте что-то вроде

insert into grouplog
   select
      proto,src,srcport,dst,dstport,sum(size)
   from log
   where <условие на прошедший час>
   group by proto,src,srcport,dst,dstport;

delete from log
   where <то же условие что в предыдущем запросе>;
Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Просто создайте еще одну таблицу (например grouplog), и раз в час делайте что-то вроде

Это было первое, что пришло в голову.

exst ★★★★
() автор топика
Ответ на: комментарий от true_admin

> желательно в пределах одной транзакции

Если написать условие «за предыдущий час», то это уже некритично :-)

Nastishka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.