summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorAaron Hicks <hicksa@landcareresearch.co.nz>2014-02-05 11:35:08 +1300
committerAaron Hicks <hicksa@landcareresearch.co.nz>2014-02-07 10:41:01 +1300
commit8804f3f95db7f1e69f44db9a9424a3e5d0d16b62 (patch)
tree06f95065c2dd52c96c783ae0e6bc2ff062875c7e /templates
parent3707f44c19da275e14e99df0851ced9dce3f69d7 (diff)
configuring mulitple remote servers from the remote_servers parameter using a hash.
Diffstat (limited to 'templates')
-rw-r--r--templates/client.conf.erb51
1 files changed, 42 insertions, 9 deletions
diff --git a/templates/client.conf.erb b/templates/client.conf.erb
index 1990112..42dbccc 100644
--- a/templates/client.conf.erb
+++ b/templates/client.conf.erb
@@ -14,6 +14,48 @@ $ActionFileDefaultTemplate <%= scope.lookupvar('rsyslog::client::actionfiletempl
#Using default format for default logging fromat:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
<% end -%>
+<% if scope.lookupvar('rsyslog::client::remote_servers') and ! scope.lookupvar('rsyslog::client::remote_servers').empty? -%>
+<% scope.lookupvar('rsyslog::client::remote_servers').flatten.compact.each do |server| -%>
+<% if server['pattern'] and server['pattern'] != ''-%>
+<% pattern = server['pattern'] -%>
+<% else -%>
+<% pattern = '*.*' -%>
+<% end -%>
+<% if server['protocol'] == 'TCP' or server['protocol'] == 'tcp'-%>
+<% protocol = '@@' -%>
+<% protocol_type = 'TCP' -%>
+<% else -%>
+<% protocol = '@' -%>
+<% protocol_type = 'UDP' -%>
+<% end -%>
+<% if server['host'] and server['host'] != ''-%>
+<% host = server['host'] -%>
+<% else -%>
+<% host = 'localhost' -%>
+<% end -%>
+<% if server['port'] and server['port'] != ''-%>
+<% port = server['port'] -%>
+<% else -%>
+<% port = '514' -%>
+<% end -%>
+<% if server['format'] -%>
+<% format = ";#{server['format']}" -%>
+<% format_type = server['format'] -%>
+<% else -%>
+<% format = '' -%>
+<% format_type = 'the default' -%>
+<% end -%>
+# Sending logs that match <%= pattern %> to <%= host %> via <%= protocol_type %> on <%= port %> using <%=format_type %> format.
+<%= pattern %> <%= protocol %><%= host %>:<%= port %><%= format %>
+<% end -%>
+<% elsif scope.lookupvar('rsyslog::client::log_remote') -%>
+# Log to remote syslog server using <%= scope.lookupvar('rsyslog::client::remote_type') %>
+<% if scope.lookupvar('rsyslog::client::remote_type') == 'tcp' -%>
+*.* @@<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;RSYSLOG_ForwardFormat
+<% else -%>
+*.* @<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;RSYSLOG_ForwardFormat
+<% end -%>
+<% end -%>
<% if scope.lookupvar('rsyslog::client::log_auth_local') or scope.lookupvar('rsyslog::client::log_local') -%>
<% if scope.lookupvar('rsyslog::client::ssl') -%>
# Setup SSL connection.
@@ -26,15 +68,6 @@ $ActionSendStreamDriverMode 1
$ActionSendStreamDriverAuthMode anon
<% end -%>
-<% if scope.lookupvar('rsyslog::client::log_remote') -%>
-# Log to remote syslog server using <%= scope.lookupvar('rsyslog::client::remote_type') %>
-<% if scope.lookupvar('rsyslog::client::remote_type') == 'tcp' -%>
-*.* @@<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;RSYSLOG_ForwardFormat
-<% else -%>
-*.* @<%= scope.lookupvar('rsyslog::client::server') -%>:<%= scope.lookupvar('rsyslog::client::port') -%>;RSYSLOG_ForwardFormat
-<% end -%>
-<% end -%>
-
# Logging locally.
<% if scope.lookupvar('rsyslog::log_style') == 'debian' -%>