about summary refs log tree commit diff stats
path: root/tools/conf/etc/syslog-ng.conf
diff options
context:
space:
mode:
Diffstat (limited to 'tools/conf/etc/syslog-ng.conf')
-rw-r--r--tools/conf/etc/syslog-ng.conf235
1 files changed, 87 insertions, 148 deletions
diff --git a/tools/conf/etc/syslog-ng.conf b/tools/conf/etc/syslog-ng.conf
index cfb1c08..16c1ddb 100644
--- a/tools/conf/etc/syslog-ng.conf
+++ b/tools/conf/etc/syslog-ng.conf
@@ -1,60 +1,43 @@
-#############################################################################
-# Simple syslog-ng.conf for crux.nu,
+@version: 3.17
 #
-# 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);
-};
+# /etc/syslog-ng: syslog-ng(8) configration file
+# based on a gentoo template added custom changes for crux
 
-#############################################
-# sources
-#
-source s_log { unix-dgram("/dev/log"); };
-source s_internal { internal(); };
-source s_kernel { file("/proc/kmsg" program_override("kernel")); };
+# on busy systems you may have to adjus flush_lines and suppress() to avoid
+# heavy disc i/o
+# to change default permissions/owner/group for newly created files add 
+# options like this: owner(root); group(sys); perm(0644);
+
+options { chain_hostnames(off); flush_lines(0); stats_freq(0); create_dirs(on); };
+
+#source where to read log
+source src { unix-stream("/dev/log"); internal(); };
+source kernsrc { file("/proc/kmsg"); };
 
+#define templates
 template t_debug { template("$DATE fac $FACILITY lvl $LEVEL prg $PROGRAM: $MSG\n"); };
 
-#############################################
-# common destinations
-#
+#define destinations
+destination authlog { file("/var/log/auth" suppress(5)); };
+destination sudo { file("/var/log/sudo" suppress(5)); };
+destination cron { file("/var/log/cron" suppress(5)); };
+destination kern { file("/var/log/kernel" suppress(5)); };
+destination mail { file("/var/log/mail" suppress(5)); };
 
-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 mailinfo { file("/var/log/mail.info" suppress(5)); };
+destination mailwarn { file("/var/log/mail.warn" suppress(5)); };
+destination mailerr { file("/var/log/mail.err" suppress(5)); };
 
-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 newscrit { file("/var/log/news/news.crit" suppress(5)); };
+#destination newserr { file("/var/log/news/news.err" suppress(5)); };
+#destination newsnotice { file("/var/log/news/news.notice" suppress(5)); };
 
-destination d_console	        { usertty("root"); };
-destination d_console_all	{ usertty("root"); };
+destination debug { file("/var/log/debug" template(t_debug) suppress(5)); };
+destination messages { file("/var/log/messages" suppress(5)); };
+destination errors { file("/var/log/error" suppress(5)); };
+destination console { usertty("root"); };
+destination console_all { file("/dev/tty12" suppress(5)); };
+destination xconsole { pipe("/dev/xconsole" suppress(5)); };
 
 #############################################
 # custom destinations
@@ -70,119 +53,75 @@ 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); };
+#create filters
+filter f_authpriv { facility(auth, authpriv); };
+filter f_cron { facility(cron); };
+filter f_kern { facility(kern); };
+filter f_mail { facility(mail); };
+#filter f_debug { not facility(auth, authpriv, mail) and not program(sudo); }; 
+filter f_debug { not facility(mail) and not program(sudo); }; 
+filter f_messages { level(info..warn)
+        and not facility(auth, authpriv, mail) and not program(sudo); };
+filter f_sudo { program(sudo); };
+filter f_errors { level(err..emerg); };
+
+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); };
 
 #############################################
 # 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_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")); };
+
+# examples for text-matching (beware of performance issues)
+#filter f_failed { match("failed"); };
+#filter f_denied { match("denied"); };
+
+#connect filter and destination
+log { source(src); filter(f_authpriv); destination(authlog); };
+log { source(src); filter(f_sudo); destination(sudo); };
+log { source(src); filter(f_cron); destination(cron); };
+log { source(kernsrc); filter(f_kern); destination(kern); };
+log { source(src); filter(f_mail); destination(mail); };
+log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
+log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
+log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
+
+#log { source(src); filter(f_debug); destination(debug); };
+log { source(src); filter(f_messages); destination(messages); };
+log { source(src); filter(f_errors); destination(errors); };
+log { source(src); filter(f_emergency); destination(console); };
 
-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); };
+#default log
+#log { source(src); destination(console_all); };
 
 #############################################
-# connect filter and destination
+# custom 
 #
 
-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 (kernsrc); filter (f_iptables); destination (d_iptables);};
+log { source (kernsrc); filter (f_shorewall_warn); destination (d_shorewall_warn);};
+log { source (kernsrc); filter (f_shorewall_info); destination (d_shorewall_info);};
+log { source(src); filter(f_dnsmasq); destination(d_dnsmasq);};
+log { source(src); filter(f_postgres); destination(d_postgres);};
+log { source(src); filter(f_sshd); destination(d_sshd);};
+log { source(src); filter(f_gitolite); destination(d_gitolite);};
+log { source(src); filter(f_nginx_error); destination(d_nginx_error);};
+log { source(src); filter(f_nginx_access); destination(d_nginx_access);};
 
-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); };