#############################################################################
# Simple syslog-ng.conf for crux.nu,
#
# Silvino Silva < silvino at bk dot ru >
# Created: 1/12/2014
#
# Reference:
# http://www.campin.net/syslog-ng/expanded-syslog-ng.con
#
# Notes:
# * f_error and f_console are not used
# --------------------------------------------------------------------------
@version: 3.5
@include "scl.conf"
options {
flush_lines(0);
time_reopen(10);
chain_hostnames(off);
create_dirs(no);
stats_freq(1200);
use_dns(no);
use_fqdn(no);
perm(0600);
log_fifo_size(2048);
log_msg_size(1024);
keep_hostname(yes);
};
#############################################
# sources
#
source s_log { unix-dgram("/dev/log"); };
source s_internal { internal(); };
source s_kernel { file("/proc/kmsg" program_override("kernel")); };
template t_debug { template("$DATE fac $FACILITY lvl $LEVEL prg $PROGRAM: $MSG\n"); };
#############################################
# common destinations
#
destination d_auth { file("/var/log/auth"); };
destination d_cron { file("/var/log/cron"); };
destination d_daemon { file("/var/log/daemon"); };
destination d_kernel { file("/var/log/kernel"); };
destination d_lpr { file("/var/log/lpr"); };
destination d_mail { file("/var/log/mail"); };
destination d_user { file("/var/log/user"); };
destination d_syslog { file("/val/log/syslog"); };
destination d_debug { file("/var/log/debug" template(t_debug)); };
destination d_error { file("/var/log/error"); };
destination d_messages { file("/var/log/messages"); };
destination d_console { usertty("root"); };
destination d_console_all { usertty("root"); };
#############################################
# custom destinations
#
destination d_shorewall_warn { file ("/var/log/shorewall/warn.log"); };
destination d_shorewall_info { file ("/var/log/shorewall/info.log"); };
destination d_dnsmasq { file("/var/log/dnsmasq"); };
destination d_postgres { file("/var/log/pgsql"); };
destination d_iptables { file("/var/log/iptables"); };
destination d_sshd { file("/var/log/sshd"); };
destination d_gitolite { file("/var/log/gitolite"); };
destination d_nginx_access { file("/var/log/nginx/access.log" owner(root) group(www) perm(0644)); };
destination d_nginx_error { file("/var/log/nginx/error.log"); };
#############################################
# common filters
#
filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_err { level(err); };
filter f_crit { level(crit .. emerg); };
filter f_emerg { level(emerg); };
filter f_alert { level(alert); };
filter f_debug {
level(debug)
and not facility(auth, authpriv, mail, news)
};
filter f_error { level(err..emerg); };
filter f_auth { facility(auth, authpriv); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kernel { facility(kern); };
filter f_lpr { facility(lpr); };
filter f_local { facility(
local0,
local1,
local2,
local3,
local4,
local5,
local6,
local7
);
};
filter f_mail { facility(mail); };
filter f_syslog { facility(syslog); };
filter f_user { facility(user); };
filter f_console { level(warn .. emerg); };
#############################################
# custom filters
#
filter f_messages {
level(info..warn)
and not facility(auth, authpriv, mail, cron)
};
filter f_dnsmasq { program("dnsmasq"); };
filter f_postgres { facility(local0); };
filter f_sshd { facility(local1); };
filter f_iptables {
facility(kern)
and match("iptables" value("MESSAGE"))
};
filter f_shorewall_warn {
level (warn)
and match ("Shorewall" value("MESSAGE"));
};
filter f_shorewall_info {
level (info)
and match ("Shorewall" value("MESSAGE"));
};
filter f_gitolite { program("gitolite"); };
filter f_nginx_access {
match("nginx_access:" value("MESSAGE"));
};
filter f_nginx_error {
match("nginx_error:" value("MESSAGE"));
};
log { source (s_kernel); filter (f_iptables); destination (d_iptables); flags(final);};
log { source (s_kernel); filter (f_shorewall_warn); destination (d_shorewall_warn); flags(final);};
log { source (s_kernel); filter (f_shorewall_info); destination (d_shorewall_info); flags(final);};
log { source(s_log); filter(f_dnsmasq); destination(d_dnsmasq); flags(final); };
log { source(s_log); filter(f_postgres); destination(d_postgres); flags(final); };
log { source(s_log); filter(f_sshd); destination(d_sshd); flags(final); };
log { source(s_log); filter(f_gitolite); destination(d_gitolite); flags(final); };
log { source(s_log); filter(f_nginx_error); destination(d_nginx_error); flags(final); };
log { source(s_log); filter(f_local); filter(f_nginx_access); destination(d_nginx_access); flags(final); };
#############################################
# connect filter and destination
#
log { source(s_log); filter(f_auth); destination(d_auth); };
log { source(s_log); filter(f_cron); destination(d_cron); };
log { source(s_log); filter(f_daemon); destination(d_daemon); };
log { source(s_kernel); filter(f_kernel); destination(d_kernel); };
log { source(s_log); filter(f_lpr); destination(d_lpr); };
log { source(s_log); source(s_internal); filter(f_syslog); destination(d_syslog); };
log { source(s_log); filter(f_user); destination(d_user); };
log { source(s_log); filter(f_mail); destination(d_mail); };
log { source(s_log); filter(f_mail); filter(f_info); destination(d_mail); };
log { source(s_log); filter(f_mail); filter(f_info); destination(d_mail); };
log { source(s_log); filter(f_mail); filter(f_info); destination(d_mail); };
log { source(s_log); filter(f_debug); destination(d_debug); };
log { source(s_log); filter(f_error); destination(d_error); };
#log { source(s_log); filter(f_console); destination(d_console_all); };
log { source(s_log); filter(f_crit); destination(d_console); };
#default log
log { source(s_log); filter(f_messages); destination(d_messages); };