Puppet Class: rsyslog::server

Inherits:
rsyslog
Defined in:
manifests/server.pp

Overview

Class: rsyslog::server

This class configures rsyslog for a server role.

Parameters

enable_tcp
enable_udp
enable_relp
enable_onefile
server_dir
custom_config
port
relp_port
address
high_precision_timestamps
ssl_ca
ssl_cert
ssl_key
log_templates
log_filters
actionfiletemplate
rotate

Variables

Examples

Defaults

class { 'rsyslog::server': }

Create seperate directory per host

class { 'rsyslog::server':
  custom_config => 'rsyslog/server-hostname.conf.erb'
}

Parameters:

  • enable_tcp (Any) (defaults to: true)
  • enable_udp (Any) (defaults to: true)
  • enable_relp (Any) (defaults to: true)
  • enable_onefile (Any) (defaults to: false)
  • server_dir (Any) (defaults to: '/srv/log/')
  • custom_config (Any) (defaults to: undef)
  • content (Any) (defaults to: undef)
  • port (Any) (defaults to: '514')
  • relp_port (Any) (defaults to: '20514')
  • address (Any) (defaults to: '*')
  • high_precision_timestamps (Any) (defaults to: false)
  • ssl_ca (Any) (defaults to: undef)
  • ssl_cert (Any) (defaults to: undef)
  • ssl_key (Any) (defaults to: undef)
  • log_templates (Any) (defaults to: false)
  • log_filters (Any) (defaults to: false)
  • actionfiletemplate (Any) (defaults to: false)
  • rotate (Any) (defaults to: undef)


39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'manifests/server.pp', line 39

class rsyslog::server (
  $enable_tcp                = true,
  $enable_udp                = true,
  $enable_relp               = true,
  $enable_onefile            = false,
  $server_dir                = '/srv/log/',
  $custom_config             = undef,
  $content                   = undef,
  $port                      = '514',
  $relp_port                 = '20514',
  $address                   = '*',
  $high_precision_timestamps = false,
  $ssl_ca                    = undef,
  $ssl_cert                  = undef,
  $ssl_key                   = undef,
  $log_templates             = false,
  $log_filters               = false,
  $actionfiletemplate        = false,
  $rotate                    = undef
) inherits rsyslog {

  ### Logrotate policy
  $logpath = $rotate ? {
    'year'   => '/%$YEAR%/',
    'YEAR'   => '/%$YEAR%/',
    'month'  => '/%$YEAR%/%$MONTH%/',
    'MONTH'  => '/%$YEAR%/%$MONTH%/',
    'day'    => '/%$YEAR%/%$MONTH%/%$DAY%/',
    'DAY'    => '/%$YEAR%/%$MONTH%/%$DAY%/',
    default  => '/',
  }

  if $content {
    if $custom_config {
      fail 'Cannot set both $content and $custom_config'
    }
    $real_content = $content
  } elsif $custom_config {
    $real_content = template($custom_config)
  } else {
    $real_content = template("${module_name}/server-default.conf.erb")
  }

  rsyslog::snippet { $rsyslog::server_conf:
    ensure  => present,
    content => $real_content,
  }

  if $rsyslog::ssl and (!$enable_tcp or $ssl_ca == undef or $ssl_cert == undef or $ssl_key == undef) {
    fail('You need to define all the ssl options and enable tcp in order to use SSL.')
  }
}