about summary refs log blame commit diff stats
path: root/tools/conf/etc/syslog-ng.conf
blob: cfb1c08c579d9eea430b63989005a8f6db1048d2 (plain) (tree)

































































                                                                                      
                                                       



























































                                                                                                     




                                          

                         
                                                 



                         
                                                 












                                                
                                                                                       

































                                                                                                           
#############################################################################
# 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); };