summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorSteffen Zieger <me@saz.sh>2013-04-07 13:37:37 -0700
committerSteffen Zieger <me@saz.sh>2013-04-07 13:37:37 -0700
commit08c49965861137ae79620c7ca82af572f0ef024f (patch)
tree37f2661e7c324a750c290fbf2f57b29c4307a8e3 /templates
parentbf2b8f173e353d85fba4aa0eb0b57ab6a6c0c0b0 (diff)
parent43ea1899ea60f28e6d8139f53f0b0d6602525512 (diff)
Merge pull request #24 from johanek/development
Allow server to split logs by hostname
Diffstat (limited to 'templates')
-rw-r--r--templates/server-default.conf.erb (renamed from templates/server.conf.erb)39
-rw-r--r--templates/server-hostname.conf.erb41
-rw-r--r--templates/server/_default-footer.conf.erb13
-rw-r--r--templates/server/_default-header.conf.erb20
4 files changed, 81 insertions, 32 deletions
diff --git a/templates/server.conf.erb b/templates/server-default.conf.erb
index dbb1a5f..fdf32d1 100644
--- a/templates/server.conf.erb
+++ b/templates/server-default.conf.erb
@@ -1,27 +1,12 @@
# File is managed by puppet
-<% if scope.lookupvar('rsyslog::server::enable_udp') -%>
-# Load UDP module
-$ModLoad imudp
-<% end -%>
-
-<% if scope.lookupvar('rsyslog::server::enable_tcp') -%>
-# Load TCP module
-$ModLoad imtcp
-<% end -%>
-
-<% if scope.lookupvar('rsyslog::server::high_precision_timestamps') == false -%>
-#
-# Use traditional timestamp format.
-# To enable high precision timestamps, comment out the following line.
-#
-$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
-<% end -%>
-
-# Switch to remote ruleset
-$RuleSet remote
+<% # Common header across all templates -%>
+<%= scope.function_template(['rsyslog/server/_default-header.conf.erb']) %>
+# Log files are stored in directories matching the short hostname, excluding numbers
+# i.e. web01 web02 and web03 will all log to a the web directory
<% if scope.lookupvar('rsyslog::server::enable_onefile') == false -%>
+
# Templates
$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/auth.log"
$Template dynSyslog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/syslog"
@@ -53,15 +38,5 @@ $Template dynAllMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>
*.* -?dynAllMessages
<% end -%>
-# Switch back to default ruleset
-$RuleSet RSYSLOG_DefaultRuleset
-
-<% if scope.lookupvar('rsyslog::server::enable_udp') -%>
-$InputUDPServerBindRuleset remote
-$UDPServerRun 514
-<% end -%>
-
-<% if scope.lookupvar('rsyslog::server::enable_tcp') -%>
-$InputTCPServerBindRuleset remote
-$InputTCPServerRun 514
-<% end -%>
+<% # Common footer across all templates -%>
+<%= scope.function_template(['rsyslog/server/_default-footer.conf.erb']) %>
diff --git a/templates/server-hostname.conf.erb b/templates/server-hostname.conf.erb
new file mode 100644
index 0000000..2c2e75a
--- /dev/null
+++ b/templates/server-hostname.conf.erb
@@ -0,0 +1,41 @@
+# File is managed by puppet
+
+<% # Common header across all templates -%>
+<%= scope.function_template(['rsyslog/server/_default-header.conf.erb']) %>
+
+# Log files are stored in directories matching the hostname
+<% if scope.lookupvar('rsyslog::server::enable_onefile') == false -%>
+
+# Templates
+$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/auth.log"
+$Template dynSyslog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/syslog"
+$Template dynCronLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/cron.log"
+$Template dynDaemonLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/daemon.log"
+$Template dynKernLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/kern.log"
+$Template dynUserLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/user.log"
+$Template dynMailLog,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/mail.log"
+$Template dynDebug,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/debug"
+$Template dynMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/messages"
+
+# Rules
+auth,authpriv.* ?dynAuthLog
+*.*;auth,authpriv.none,mail.none,cron.none -?dynSyslog
+cron.* ?dynCronLog
+daemon.* -?dynDaemonLog
+kern.* -?dynKernLog
+mail.* -?dynMailLog
+user.* -?dynUserLog
+*.=info;*.=notice;*.=warn;\
+ auth.none,authpriv.none;\
+ cron.none,daemon.none;\
+ mail.none,news.none -?dynMessages
+<% else -%>
+# Template
+$Template dynAllMessages,"<%= scope.lookupvar('rsyslog::server::server_dir') -%>%hostname%/messages"
+
+# Rules
+*.* -?dynAllMessages
+<% end -%>
+
+<% # Common footer across all templates -%>
+<%= scope.function_template(['rsyslog/server/_default-footer.conf.erb']) %>
diff --git a/templates/server/_default-footer.conf.erb b/templates/server/_default-footer.conf.erb
new file mode 100644
index 0000000..7ba4750
--- /dev/null
+++ b/templates/server/_default-footer.conf.erb
@@ -0,0 +1,13 @@
+
+# Switch back to default ruleset
+$RuleSet RSYSLOG_DefaultRuleset
+
+<% if scope.lookupvar('rsyslog::server::enable_udp') -%>
+$InputUDPServerBindRuleset remote
+$UDPServerRun 514
+<% end -%>
+
+<% if scope.lookupvar('rsyslog::server::enable_tcp') -%>
+$InputTCPServerBindRuleset remote
+$InputTCPServerRun 514
+<% end -%>
diff --git a/templates/server/_default-header.conf.erb b/templates/server/_default-header.conf.erb
new file mode 100644
index 0000000..19eb173
--- /dev/null
+++ b/templates/server/_default-header.conf.erb
@@ -0,0 +1,20 @@
+<% if scope.lookupvar('rsyslog::server::enable_udp') -%>
+# Load UDP module
+$ModLoad imudp
+<% end -%>
+
+<% if scope.lookupvar('rsyslog::server::enable_tcp') -%>
+# Load TCP module
+$ModLoad imtcp
+<% end -%>
+
+<% if scope.lookupvar('rsyslog::server::high_precision_timestamps') == false -%>
+#
+# Use traditional timestamp format.
+# To enable high precision timestamps, comment out the following line.
+#
+$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
+<% end -%>
+
+# Switch to remote ruleset
+$RuleSet remote