aboutsummaryrefslogtreecommitdiff
path: root/manifests/subsystem/monitor/master.pp
blob: 8263a2a460e0e9ae68d7b8f28293584d4d4e46c9 (plain)
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
class nodo::subsystem::monitor::master {
  file { '/etc/nagios-plugins/check_rbl.ini':
    ensure  => present,
    owner   => root,
    group   => root,
    source  => 'puppet:///modules/nodo/etc/nagios-plugins/check_rbl.ini',
    require => Package['nagios'],
  }

  $main   = hiera('nodo::role::master::main', false)
  $ensure = $main ? {
    true    => 'present',
    default => 'absent',
  }

  # See http://www.jethrocarr.com/2012/05/26/munin-performance/
  file { "munin_graph_performance":
    ensure  => $ensure,
    path    => "/var/lib/puppet/modules/munin/nodes/00-performance",
    content => "max_graph_jobs 1\n max_cgi_graph_jobs 1\nfork no\n",
    require => Concatenated_file['/etc/munin/munin.conf'],
  }

  #
  # See https://raymii.org/s/tutorials/Munin_optimalization_on_Debian.html
  #     https://munin.readthedocs.org/en/latest/master/rrdcached.html
  #     http://kuszelas.eu/~eyck/log/Howto/Munin.Rrdcached.html
  #     http://munin-monitoring.org/wiki/rrdcached
  #
  package { 'rrdcached':
    ensure => $ensure,
  }

  file { '/etc/default/rrdcached':
    ensure  => $ensure,
    owner   => root,
    group   => root,
    source  => 'puppet:///modules/nodo/etc/default/rrdcached',
    require => Package['rrdcached'],
    notify  => $main ? {
      true    => Service['rrdcached'],
      default => undef,
    },
  }

  # Munin configuration for rrdcache
  file { "munin_rrdcache":
    ensure  => $ensure,
    path    => "/var/lib/puppet/modules/munin/nodes/00-rrdcache",
    content => "rrdcached_socket /var/run/rrdcached.sock\n",
    require => Concatenated_file['/etc/munin/munin.conf'],
  }

  if $main == true {
    service { 'rrdcached':
      ensure  => running,
      require => Package['rrdcached'],
    }
  }
}