skuteczne przeszukiwanie dużej ilo
skuteczne przeszukiwanie duŻej ilości logów squida
Witam.
Jak można skutecznie przeszukiwać duże ilości skompresowanych logów squida, powiedzmy tak 200GB?
Pozdrawiam.
Jak można skutecznie przeszukiwać duże ilości skompresowanych logów squida, powiedzmy tak 200GB?
Pozdrawiam.
Przez kilka dni nie pojawiło się jakiekolwiek rozwiązanie, zatem póki co, polecam używanie:
Podobny temat.
Więcej stron.
Kod: Zaznacz cały
zcat /file.gz | grep string
Więcej stron.
Ale taką ilość logów nie sposób przeszukiwać tym poleceniem, żeby wyszukać w 20GB logów czegokolwiek z pomocą polecenia grep zajęłoby miesiące.sigo pisze:Przez kilka dni nie pojawiło się jakiekolwiek rozwiązanie, zatem póki co, polecam używanie:Kod: Zaznacz cały
zcat /file.gz | grep string
Jest program sarg, ale bardziej odpowiednim chyba jest logrotate, ktoś używał tego?
Pozdrawiam.
Osobiscie polecam rozwiązanie przekazywania logów do MySQL-a i przeszukiwanie ich za pomocą kilku SELECT-ów.
Aby nacieszyć oko można do tego dodać przeglądarkę wpisów SQL-a np: http://myclient.polarlava.com/
i myślę, że będzie o wiele wygodniej.
Aby nacieszyć oko można do tego dodać przeglądarkę wpisów SQL-a np: http://myclient.polarlava.com/
i myślę, że będzie o wiele wygodniej.
A możesz opisać bardziej szczegółowo jak to robisz?michnik pisze:Osobiscie polecam rozwiązanie przekazywania logów do MySQL-a i przeszukiwanie ich za pomocą kilku SELECT-ów.
Aby nacieszyć oko można do tego dodać przeglądarkę wpisów SQL-a np: http://myclient.polarlava.com/
i myślę, że będzie o wiele wygodniej.
Pozdrawiam.
To czego potrzebujesz nazywa się
Co jest potrzebne:
Kopiujesz poszczególne sekcje do konsoli tworząc tabelę.
Następnie w:modyfikujesz sekcję: gdzie podajesz parametry logowania do bazy (tj. użytkownik, hasło itp.).
Oglądanie logów / wersja bez GUI /.
Z konsoli logujemy się do bazy MYSQL i wybieramy nasza bazę z logami
przykładowym zapytaniem może być np:
1. jakie adresy IP nadał nasz DHCP przez ostatnie 10 minut
2. kto łączył się do nas przez VPN`y
Same zapytania tworzymy wg własnego uznania i za pomocą CTRL C - CTRL V szybko wyłowimy to co nam potrzebne.
Dla każdego serwera dobrze jest stworzyć osobną bazę i w taki sposób można scentralizować logowanie wszystkich posiadanych serwerów.
Co do GUI to proponuje wg własnego gustu wybrać dowolna nakładkę na MySQLa`a która potrafi wyświetlać zadane zapytania na stronie WWW lub napisać własny kawałek HTML`a i po sprawie
Dodam, że konfigurację piszę z głowy i mogłem popełnić gdzieś błąd więc poprawcie mnie jeśli coś znajdziecie nie tak.
Kod: Zaznacz cały
SYSLOG-NG with pipe to MYSQL
- działająca instancja MYSQL - opis znajdziesz tu http://www.wonder.pl/index.php/DebianMySQL
Następnie instalujesz sobie pakiet syslog-ng jako root:Kod: Zaznacz cały
aptitude install syslog-ng
- logujesz się jako użytkownik root do bazy:
Kod: Zaznacz cały
mysql -u root -p
tworzysz bazę danych, do której będą spływać logi:Kod: Zaznacz cały
CREATE DATABASE logi;
Kod: Zaznacz cały
USE logi;
Kopiujesz poszczególne sekcje do konsoli tworząc tabelę.
Następnie w:
Kod: Zaznacz cały
/etc/syslog-ng/syslog-ng.conf
Kod: Zaznacz cały
destination d_mysql
Kod: Zaznacz cały
destination d_mysql {
program("/usr/bin/mysql --user=sysloguser --password=syslogpasswd db_log < /var/log/mysql.pipe");
pipe ("/var/log/mysql.pipe" template("INSERT INTO logi (host, facility, priority, level, tag, datetime, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC','$PROGRAM', '$MSG' );\n") template-escape(yes));
};
log { source(s_all); destination(d_mysql); };
Z konsoli logujemy się do bazy MYSQL i wybieramy nasza bazę z logami
Kod: Zaznacz cały
USE logi;
1. jakie adresy IP nadał nasz DHCP przez ostatnie 10 minut
Kod: Zaznacz cały
select host, datetime, msg from logi where program='dhcpd' and datetime > DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -10 MINUTE);
Kod: Zaznacz cały
select host, datetime, msg from logi where ((program='pluto' and msg like '%Main mode peer ID is%CN%') or (program='pppd' and msg like '%remote IP address%')) and datetime > '09-05-01';
Dla każdego serwera dobrze jest stworzyć osobną bazę i w taki sposób można scentralizować logowanie wszystkich posiadanych serwerów.
Co do GUI to proponuje wg własnego gustu wybrać dowolna nakładkę na MySQLa`a która potrafi wyświetlać zadane zapytania na stronie WWW lub napisać własny kawałek HTML`a i po sprawie
Dodam, że konfigurację piszę z głowy i mogłem popełnić gdzieś błąd więc poprawcie mnie jeśli coś znajdziecie nie tak.
Wiesz co, nie bardzo mi działa ta baza z logami.
syslog-ng wrzuca logi do /var/log/mysql.pipe - utworzyłem ten plik i nadałem prawa 777, ale logi nie zostają wrzucone do bazy mysql.
Wykonuję:
i dostaje pusty.
Po zmianach przeładowywałem mysql i syslog-ng ale nadal nie działa, w czym tkwi problem?
[ Dodano: 2009-08-05, 14:41 ]
mkfifo /var/log/mysql.pipe
i był u Ciebie błąd:
program("/usr/bin/mysql --user=sysloguser --password=syslogpasswd logi < /var/log/mysql.pipe")
A po za tym to przechowuje logi z sysloga a squid przchowuje swoje logi w odzielnych plikach, nie wiem czy można jakoś przestawić to?
Pozdr
syslog-ng wrzuca logi do /var/log/mysql.pipe - utworzyłem ten plik i nadałem prawa 777, ale logi nie zostają wrzucone do bazy mysql.
Wykonuję:
Kod: Zaznacz cały
select * from logi
Po zmianach przeładowywałem mysql i syslog-ng ale nadal nie działa, w czym tkwi problem?
[ Dodano: 2009-08-05, 14:41 ]
już działa, trzeba utworzyć pipe fifo:janowskm pisze:Wiesz co, nie bardzo mi działa ta baza z logami.
syslog-ng wrzuca logi do /var/log/mysql.pipe - utworzyłem ten plik i nadałem prawa 777, ale logi nie zostają wrzucone do bazy mysql.
Wykonuję:i dostaje pusty.Kod: Zaznacz cały
select * from logi
Po zmianach przeładowywałem mysql i syslog-ng ale nadal nie działa, w czym tkwi problem?
mkfifo /var/log/mysql.pipe
i był u Ciebie błąd:
powinno być:program("/usr/bin/mysql --user=sysloguser --password=syslogpasswd db_log < /var/log/mysql.pipe")
program("/usr/bin/mysql --user=sysloguser --password=syslogpasswd logi < /var/log/mysql.pipe")
A po za tym to przechowuje logi z sysloga a squid przchowuje swoje logi w odzielnych plikach, nie wiem czy można jakoś przestawić to?
Pozdr