To czego potrzebujesz nazywa się
Co jest potrzebne:
Tworzenie bazy danych:
- logujesz się jako użytkownik root do bazy:
tworzysz bazę danych, do której będą spływać logi:
Później tworzysz sobie tabelę według opisu
http://code.google.com/p/php-syslog-ng/ ... svn39&r=39
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.).
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); };
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
Kod: Zaznacz cały
select host, datetime, msg from logi where program='dhcpd' and datetime > DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -10 MINUTE);
2. kto łączył się do nas przez VPN`y
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';
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.