Syslog
*.debug /var/log/syslog/prio-debug.log
*.info /var/log/syslog/prio-info.log
*.notice /var/log/syslog/prio-notice.log
*.warning /var/log/syslog/prio-warning.log
*.err /var/log/syslog/prio-err.log
*.crit /var/log/syslog/prio-crit.log
*.alert /var/log/syslog/prio-alert.log
*.emerg /var/log/syslog/prio-emerg.log
auth.* /var/log/syslog/sys-auth.log
cron.* /var/log/syslog/sys-cron.log
kern.* /var/log/syslog/sys-kern.log
mail.* /var/log/syslog/sys-mail.log
syslog.* /var/log/syslog/sys-syslog.log
/var/log/syslog/*.log {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
endscript
}
Syslog-ng
Instalace
mkfifo /var/log/mysql.pipe
mysql
create database syslog-ng;
use syslog;
CREATE TABLE logs (host varchar(32) default NULL, facility varchar(10) default NULL, priority varchar(10) default NULL, level varchar(10) default NULL, tag varchar(10) default NULL, datetime datetime default NULL, program varchar(15) default NULL, msg text, seq bigint(20) unsigned NOT NULL auto_increment, PRIMARY KEY (seq), KEY host (host), KEY program (program), KEY datetime (datetime), KEY priority (priority), KEY facility (facility) ) TYPE=MyISAM;
sysog-ng.conf
source s_remote {
udp();
tcp();
};
destination d_mysql {
program("/usr/bin/mysql --user=USERNAME --password=PASSWORD syslog-ng < /var/log/mysql.pipe");
pipe("/var/log/mysql.pipe" template("INSERT INTO logs (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_remote); destination(d_mysql); };