Puppet Class: collectd::plugin::rrdtool

Defined in:
manifests/plugin/rrdtool.pp

Overview

Parameters:

  • ensure (Any) (defaults to: 'present')
  • manage_package (Any) (defaults to: undef)
  • datadir (Any) (defaults to: '/var/lib/collectd/rrd')
  • createfilesasync (Any) (defaults to: false)
  • interval (Any) (defaults to: undef)
  • rrarows (Any) (defaults to: 1200)
  • rratimespan (Any) (defaults to: [3600, 86400, 604800, 2678400, 31622400])
  • xff (Any) (defaults to: 0.1)
  • cacheflush (Any) (defaults to: 900)
  • cachetimeout (Any) (defaults to: 120)
  • writespersecond (Any) (defaults to: 50)


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
# File 'manifests/plugin/rrdtool.pp', line 2

class collectd::plugin::rrdtool (
  $ensure           = 'present',
  $manage_package   = undef,
  $datadir          = '/var/lib/collectd/rrd',
  $createfilesasync = false,
  $interval         = undef,
  $rrarows          = 1200,
  $rratimespan      = [3600, 86400, 604800, 2678400, 31622400],
  $xff              = 0.1,
  $cacheflush       = 900,
  $cachetimeout     = 120,
  $writespersecond  = 50
) {

  include ::collectd

  $_manage_package = pick($manage_package, $::collectd::manage_package)

  validate_string($datadir)
  validate_array($rratimespan)
  validate_bool($createfilesasync)

  if $rrarows and ! is_integer($rrarows) {
    fail('rrarows must be an integer!')
  }

  if $xff and ! is_float($xff) {
    fail('xff must be a float!')
  }

  if $cacheflush and ! is_integer($cacheflush) {
    fail('cacheflush must be an integer!')
  }

  if $cachetimeout and ! is_integer($cachetimeout) {
    fail('cachetimeout must be an integer!')
  }

  if $writespersecond and ! is_integer($writespersecond) {
    fail('writespersecond must be an integer!')
  }

  if $::osfamily == 'RedHat' {
    if $_manage_package {
      package { 'collectd-rrdtool':
        ensure => $ensure,
      }
    }
  }

  collectd::plugin { 'rrdtool':
    ensure   => $ensure,
    content  => template('collectd/plugin/rrdtool.conf.erb'),
    interval => $interval,
  }
}