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
|
# File 'manifests/client.pp', line 6
class cflogsink::client (
String[1]
$host = $cflogsink::target_host,
Cfnetwork::Port
$port = $cflogsink::target_port,
Boolean
$tls = $cflogsink::target_tls,
Integer[1]
$timeout = 90,
Integer[1]
$conn_timeout = 5,
Boolean
$tls_compress = $cflogsink::target_tls_compress,
Hash
$tune = {},
) {
assert_private()
include cflogsink
$om_tune = merge(
{
'queue.size' => 10000,
'queue.dequeuebatchsize' => 1000,
'queue.maxdiskspace' => '1g',
'queue.timeoutenqueue' => 0,
'queue.saveonshutdown' => 'on',
'queue.type' => 'FixedArray',
'action.resumeretrycount' => -1,
'action.resumeInterval' => 10,
#'action.reportSuspensionContinuation' => 'on',
#'windowSize' => 1000,
},
$tune,
{
'queue.filename' => 'logsink',
'type' => 'omrelp',
target => $host,
port => $port,
'template' => 'RSYSLOG_SyslogProtocol23Format',
timeout => $timeout,
'conn.timeout' => $conn_timeout,
'tls' => $tls ? { true => 'on', default => 'off' },
'tls.compression' => $tls_compress ? { true => 'on', default => 'off' },
'tls.authMode' => 'name',
'tls.permittedPeer' => [ $host ],
'tls.cacert' => '/etc/puppetlabs/puppet/ssl/certs/ca.pem',
'tls.mycert' => "/etc/puppetlabs/puppet/ssl/certs/${::facts['fqdn']}.pem",
'tls.myprivkey' => "/etc/puppetlabs/puppet/ssl/private_keys/${::facts['fqdn']}.pem",
}
)
#---
$queue_size = $om_tune['queue.size']
$queue_mb = Integer.new( $queue_size / 512 )
cfsystem_memory_weight { 'cfsystem:logqueue':
min_mb => $queue_mb,
max_mb => $queue_mb,
}
#---
cfnetwork::describe_service { 'cfrelp':
server => "tcp/${port}",
}
cfnetwork::client_port { 'any:cfrelp':
dst => $host,
}
#---
package { 'rsyslog-relp': }
-> file { '/etc/rsyslog.d':
ensure => directory,
mode => '0750',
purge => true,
force => true,
recurse => true,
}
-> file { '/etc/rsyslog.conf':
mode => '0640',
content => epp('cflogsink/rsyslog.conf.epp', {
tune => $om_tune,
})
}
~> service { 'rsyslog':
ensure => running,
enable => true,
}
#---
Package['ulogd2']
-> file { '/etc/ulogd.conf':
mode => '0640',
content => file('cflogsink/ulogd-syslog.conf')
}
~> Exec['cflogsink:ulogd:refresh']
}
|