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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# File 'manifests/init.pp', line 2
class rsyslog(
$ratelimitinterval = '0',
$filecreatemode = undef,
$service_ensure = 'running',
$service_enable = true,
$forwardformat = false,
$modules = undef,
$vars = undef,
$workdirectory = '/var/lib/rsyslog',
$rsyslogd_purge = true,
$rsyslogd_recurse = true,
$emerg = $rsyslog::params::emerg_default,
$omitlocallogging = $rsyslog::params::omitlocallogging_default,
$imjournalstatefile = $rsyslog::params::imjournalstatefile_default,
$rsyslogconf_mode = '0644',
$rsyslogd_mode = '0755',
$log_files = [],
$log_files_mode = '0640',
$messages_facilities = [ '*.info', 'mail.none', 'authpriv.none', 'cron.none' ],
) inherits rsyslog::params {
if ! defined(Class['syslogng'])
{
if($modules)
{
validate_array($modules)
file { '/etc/rsyslog.d/modules.conf':
ensure => 'present',
owner => 'root',
group => 'root',
mode => $rsyslogconf_mode,
content => template("${module_name}/modules/loadmodules.erb"),
notify => Service['rsyslog'],
require => File['/etc/rsyslog.d'],
}
}
if($vars)
{
validate_hash($vars)
file { '/etc/rsyslog.d/vars.conf':
ensure => 'present',
owner => 'root',
group => 'root',
mode => $rsyslogconf_mode,
content => template("${module_name}/modules/vars.erb"),
notify => Service['rsyslog'],
require => File['/etc/rsyslog.d'],
}
}
package { 'rsyslog':
ensure => 'installed',
}
file { '/etc/rsyslog.d':
ensure => 'directory',
owner => 'root',
group => 'root',
mode => $rsyslogd_mode,
purge => $rsyslogd_purge,
recurse => $rsyslogd_recurse,
require => Package['rsyslog'],
}
file { '/etc/rsyslog.conf':
ensure => 'present',
owner => 'root',
group => 'root',
mode => $rsyslogconf_mode,
content => template($rsyslog::params::rsyslogconf_template),
notify => Service['rsyslog'],
require => [Package['rsyslog'],File['/etc/rsyslog.d']],
}
if($rsyslog::params::systemlogsocketname!=undef)
{
file { '/etc/rsyslog.d/listen.conf':
ensure => 'present',
owner => 'root',
group => 'root',
mode => $rsyslogconf_mode,
content => template("${module_name}/modules/listen.erb"),
notify => Service['rsyslog'],
require => File['/etc/rsyslog.d'],
}
}
if(!empty($log_files))
{
file { $log_files:
ensure => 'present',
mode => $log_files_mode,
}
}
service { 'rsyslog':
ensure => $service_ensure,
enable => $service_enable,
require => Package['rsyslog'],
}
}
}
|