*.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
}
mkfifo /var/log/mysql.pipe
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;
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); };