1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
|
# == Class: rsyslog::server
#
# This class configures rsyslog for a server role.
#
# === Parameters
#
# [*enable_tcp*]
# [*enable_udp*]
# [*enable_onefile*]
# [*server_dir*]
# [*custom_config*]
# [*high_precision_timestamps*]
# [*ssl_ca*]
# [*ssl_cert*]
# [*ssl_key*]
#
# === Variables
#
# === Examples
#
# Defaults
#
# class { 'rsyslog::server': }
#
# Create seperate directory per host
#
# class { 'rsyslog::server':
# custom_config => 'rsyslog/server-hostname.conf.erb'
# }
#
class rsyslog::server (
$enable_tcp = true,
$enable_udp = true,
$enable_onefile = false,
$server_dir = '/srv/log/',
$custom_config = undef,
$port = '514',
$high_precision_timestamps = false,
$ssl_ca = undef,
$ssl_cert = undef,
$ssl_key = undef,
$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 $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.')
}
}
|