Syslog do SQL (PostgreSQL)
Nudziły mi się dyski SCSI, nudził mi się RAM, nudził mi się PostgreSQL na maszynie w domu. Znalazłem zamiennik standardowego syslog-ng -> rsyslog. Rsyslog pozwala na zapisywanie danych do bazy, i co najważniejsze do PostgreSQL. Wszystkie maszynki skonfigurowałem żeby pchały bezpośrednio do bazy danych w domu. Mikrotiki wysyłają wszystko syslog’iem do lokalnego rsyslog a ten dopiero do bazy - innego patentu na to nie znalazłem. Można tym o to sposobem wtedy łatwo wyszukać potrzebą informację bez biegania po serwerach.
Pierwszy rekord w bazie mam z dnia 1.02.2009. Aktualnie baza ma ok. 1.2GB, gdzie połowę to indeksy, bo średnio dało się bez tego cokolwiek szukać. Rekordów natomiast jest ok. 2.8 mln. Tunning PostgreSQL wykonałem znalezionymi w sieci informacjami nt. ustawień pamięci, buforów, rodziału pg_xlog na inny dysk niż baza, etc. Czekam teraz aż wzrośnie to do ok. 10GB i wtedy będzie można wykonać jakiś benchmark test.
Do analizy/statystyk/wyszukiwania informacji spokojnie wystaczy najprostrzy klient PostgreSQL - psql lub pgAdmin III. Dla laików polecam: phpLogCon.


2009-02-22 o godz. 12:47
O. Czekam na wyniki benchmarku z niecierpliwością. Właśnie ostatnio taki temat wyskoczył - jak upychać z sysloga dane do bazy, na ile wydajne to będzie… Plus pytanie - da się prosto określić, których linii ma nie logować do bazy? Ew. które logować (czy to regexpem, czy jakimiś innymi kryteriami).
2009-02-22 o godz. 22:14
Ja teraz pcham wszystko co się da do bazy. Ogólnie na start polecam olać MySQL i postawić na PostgreSQL. Filtrowanie/obrabianie Rsyslog jest możliwe z tego co patrzyłem w dokumentację