From 8804f3f95db7f1e69f44db9a9424a3e5d0d16b62 Mon Sep 17 00:00:00 2001 From: Aaron Hicks Date: Wed, 5 Feb 2014 11:35:08 +1300 Subject: configuring mulitple remote servers from the remote_servers parameter using a hash. --- templates/client.conf.erb | 51 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 9 deletions(-) (limited to 'templates') 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' -%> -- cgit v1.2.3