summaryrefslogtreecommitdiff
path: root/manifests/plugins/base.pp
blob: 64756bcd062bcb5720c386c153f3c148be6c33c2 (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
class munin::plugins::base {

  file {
    [ '/etc/munin/plugins', '/etc/munin/plugin-conf.d' ]:
      source => "puppet://$server/modules/common/empty",
      ignore => [ '\.ignore', 'snmp_*' ],
      ensure => directory, checksum => mtime,
      recurse => true, purge => true, force => true,
      mode => 0755, owner => root, group => 0,
      notify => Service['munin-node'];

    '/etc/munin/plugin-conf.d/munin-node':
      ensure => present,
      mode => 0644, owner => root, group => 0,
      notify => Service['munin-node'],
  }

  munin::plugin {
    [ df, cpu, interrupts, load, memory, netstat, open_files,
      processes, swap, uptime, vmstat ]:
        ensure => present,
  }
  
  include munin::plugins::interfaces

  case $kernel {
    openbsd: {
      File['/etc/munin/plugin-conf.d/munin-node']{
        before => File['/var/run/munin'],
      }
    }
    default: {
      File['/etc/munin/plugin-conf.d/munin-node']{
        before => Package['munin-node'],
      }
    }
  }
  
  case $kernel {
    linux: {
      case $vserver {
        guest: { include munin::plugins::vserver }
        default: {
          include munin::plugins::linux
        }
      }
    }
  }
  
  case $virtual {
    physical: { include munin::plugins::physical }
    xen0: { include munin::plugins::dom0 }
  }
  
}