Анализатор логов iptables

Подскажите пожалуйста толковый анализатор логов iptables.

Сейчас у меня iptables пишет логи напрямую в базу данных PostgreSQL и тремя запросами вида insert from select из крона эти логи сжимаются в три таблицы, трафик за день (почасовой), трафик за месяц (по дням), и накопительная, общий трафик за месяц.
Почему то регулярно бьется таблица с логами за день (обновляется ежечасно) и перестает выдавать результаты на SELECT.

Вот думаю может писать логи в файлы и при помощи готового анализатора их парсить ?

Подсказать

Подсказать ничего не могу, но... можно поподробнее, что ты сейчас сделал? Как?

В моем решении

В моем решении есть один косяк.
За час в основную таблицу иногда набивается такое количество записей, что она просто перестает отвечать на запрос SELECT. Похоже прийдется чистить основную таблицу раз в пять минут

Ничего

Ничего сложного.
Нужно собрать ядро с поддержкой ULOG, после этого
#emerge ulogd

Настраиваешь ulogd

[global]
######################################################################
# GLOBAL OPTIONS
######################################################################

# netlink multicast group (the same as the iptables --ulog-nlgroup param)
nlgroup=12

# logfile for status messages
logfile="/var/log/ulogd.log"

# loglevel: debug(1), info(3), notice(5), error(7) or fatal(8)
loglevel=5

# socket receive buffer size (should be at least the size of the
# in-kernel buffer (ipt_ULOG.o 'nlbufsiz' parameter)
rmem=100000

# libipulog/ulogd receive buffer size, should be > rmem
bufsize=150000

plugin="/usr/lib/ulogd/ulogd_BASE.so"
plugin="/usr/lib/ulogd/ulogd_PGSQL.so"

[PGSQL]
table="ulog"
schema="public"
pass="ddfgdsfgsdfg456"
user="user"
db="somedb"
host="127.0.0.1"
port="64564"

В базе делаешь табличку и для того, чтобы постгри не умер, из крона запускаешь серию SQL запросов , которые распихивают данные из основной таблички и группируют их за день, за месяц и просто накопительные по месяцам.

Идея замечательная, но на практике почемуто часто слетает основная табличка.

Вроде нашел как

Вроде нашел как сделать решение более стабильным.
1) Увеличил буфер в ulogd, вроде значение top порядком упало.
2) Нашел еще один косяк, пока думаю как исправить - после перезагрузки демона postgree нужно обязательно перегружать демон ulog. Вот думаю может в скрипт старта Постгри добавить строку рестарта ulogd если был запущен

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".