Puppet Class: cflogsink::hdsyslog

Defined in:
manifests/hdsyslog.pp

Overview

Parameters:

  • tune (Hash) (defaults to: {})
  • port (Cfnetwork::Port) (defaults to: 515)


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
# File 'manifests/hdsyslog.pp', line 5

class cflogsink::hdsyslog (
    Hash
        $tune = {},
    Cfnetwork::Port
        $port = 515,
) {
    include cflogsink
    include cflogsink::internal::netmodules

    $rule_tune = merge(
        {
            'queue.size' => '100000',
            'queue.maxdiskspace' => '3g',
            'queue.timeoutenqueue' => 100,
            'queue.saveonshutdown' => 'on',
        },
        $tune,
        {
            'queue.type' => 'FixedArray',
            'queue.filename' => 'hd',
        }
    )

    #---
    $queue_size = $rule_tune['queue.size']
    $queue_mb = Integer.new( Integer.new( $queue_size ) / 1024 )

    cfsystem_memory_weight { 'cflogsink:hdsyslog':
        min_mb => $queue_mb,
        max_mb => $queue_mb,
    }

    #---
    file { '/etc/rsyslog.d/10-hdsyslog.conf':
        ensure  => file,
        mode    => '0640',
        content => epp('cflogsink/hdsyslog.conf', {
            tune => $rule_tune,
            port => $port,
        }),
    }
    ~> Exec['cflogsink:rsyslog:refresh']

    #---
    cfnetwork::describe_service { 'hdsyslog':
        server => [
            "tcp/${port}",
            "udp/${port}",
        ]
    }
    cfnetwork::service_port { 'local:hdsyslog': }
}