rendered paste body# /etc/syslog-ng/syslog-ng.conf
# From the Gentoo Linux Security Guide
# http://www.gentoo.org/doc/en/gentoo-security.xml
# Creative Commons - Attribution / Share Alike License
# http://creativecommons.org/licenses/by-sa/2.0
options {
create_dirs(yes); #will recursively create log files/directories if necessary
};
# The port where the logs will be sent to by the clients
source remote_log {udp(ip("SERVERIPADDRESS")
port(514));};
# where to log the files on the server. $HOST is a macro and will be replaced by the hostname sending the log
destination remote {file("/var/log/remote/$HOST/");};
# link the source to the destination
log {source(remote_log); destination(remote);};
#
#source net { udp(); };
#destination remote { file("/var/log/remote/$FULLHOST"); };
destination remote_authlog { file("/var/log/remote/$HOST/auth.log"); };
destination remote_syslog { file("/var/log/remote/$HOST/syslog"); };
destination remote_cron { file("/var/log/remote/$HOST/cron.log"); };
destination remote_daemon { file("/var/log/remote/$HOST/daemon.log");};
destination remote_kern { file("/var/log/remote/$HOST/kern.log"); };
destination remote_lpr { file("/var/log/remote/$HOST/lpr.log"); };
destination remote_user { file("/var/log/remote/$HOST/user.log"); };
# Should be remote_maillog (Without dot) as it was the default on logwatch
destination remote_mail { file("/var/log/remote/$HOST/maillog"); };
destination remote_mailinfo { file("/var/log/remote/$HOST/mail.info");};
destination remote_mailwarn { file("/var/log/remote/$HOST/mail.warn");};
destination remote_mailerr { file("/var/log/remote/$HOST/mail.err");};
destination remote_newscrit { file("/var/log/remote/$HOST/news/news.crit");};
destination remote_newserr { file("/var/log/remote/$HOST/news/news.err");};
destination remote_newsnotice { file("/var/log/remote/$HOST/news/news.notice");};
destination remote_debug { file("/var/log/remote/$HOST/debug");};
destination remote_messages { file("/var/log/remote/$HOST/messages"); };
#
log { source(net); destination(remote); };
#options { chain_hostnames(off); create_dirs (yes); sync(0); stats(43200); };
#source where to read log
source src { unix-stream("/dev/log"); internal(); };
source kernsrc { file("/proc/kmsg"); };
#define destinations
destination authlog { file("/var/log/auth.log"); };
destination syslog { file("/var/log/syslog"); };
destination cron { file("/var/log/cron.log"); };
destination daemon { file("/var/log/daemon.log"); };
destination kern { file("/var/log/kern.log"); };
destination lpr { file("/var/log/lpr.log"); };
destination user { file("/var/log/user.log"); };
# Should be maillog (Without dot) as it was the default on logwatch
destination mail { file("/var/log/maillog"); };
#
destination mailinfo { file("/var/log/mail.info"); };
destination mailwarn { file("/var/log/mail.warn"); };
destination mailerr { file("/var/log/mail.err"); };
destination newscrit { file("/var/log/news/news.crit"); };
destination newserr { file("/var/log/news/news.err"); };
destination newsnotice { file("/var/log/news/news.notice"); };
destination debug { file("/var/log/debug"); };
destination messages { file("/var/log/messages"); };
destination console { usertty("root"); };
destination console_all { file("/dev/tty12"); };
destination xconsole { pipe("/dev/xconsole"); };
#create filters
filter f_auth { facility(auth); };
filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(authpriv, mail); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_lpr { facility(lpr); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info..warn)
and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };
filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };
filter f_failed { match("failed"); };
filter f_denied { match("denied"); };
#connect filter and destination
log { source(src); filter(f_authpriv); destination(authlog); flags(final); };
log { source(src); filter(f_cron); destination(cron); flags(final); };
log { source(src); filter(f_syslog); destination(syslog); flags(final); };
log { source(src); filter(f_daemon); destination(daemon); flags(final); };
log { source(kernsrc); filter(f_kern); destination(kern); flags(final); };
log { source(src); filter(f_lpr); destination(lpr); flags(final); };
log { source(src); filter(f_mail); destination(mail); flags(final); };
log { source(src); filter(f_user); destination(user); flags(final); };
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); flags(final); };
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); flags(final); };
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); flags(final); };
log { source(src); filter(f_debug); destination(debug); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_emergency); destination(console); };
#####remote filters and destinations
#connect filter and destination
log { source(remote_log); filter(f_authpriv); destination(remote_authlog); };
log { source(remote_log); filter(f_syslog); destination(remote_syslog); };
log { source(remote_log); filter(f_cron); destination(remote_cron); };
log { source(remote_log); filter(f_daemon); destination(remote_daemon); };
log { source(remote_log); filter(f_kern); destination(remote_kern); };
log { source(remote_log); filter(f_lpr); destination(remote_lpr); };
log { source(remote_log); filter(f_mail); destination(remote_mail); };
log { source(remote_log); filter(f_user); destination(remote_user); };
log { source(remote_log); filter(f_mail); filter(f_info); destination(remote_mailinfo); };
log { source(remote_log); filter(f_mail); filter(f_warn); destination(remote_mailwarn); };
log { source(remote_log); filter(f_mail); filter(f_err); destination(remote_mailerr); };
log { source(remote_log); filter(f_debug); destination(remote_debug); };
log { source(remote_log); filter(f_messages); destination(remote_messages);};
#[edit]
#default log
log { source(src); destination(console_all); };