summaryrefslogtreecommitdiff
path: root/puppet/modules/nagios/manifests/pnp4nagios.pp
blob: bd7ab0caf719beae04e55eecd821ae64be9ca821 (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
61
62
63
64
65
66
67
68
# manage pnp4nagios
class nagios::pnp4nagios {
  include nagios::defaults::pnp4nagios

  package { [ 'pnp4nagios', 'pnp4nagios-web-config-nagios3']:
    ensure  => installed,
    require => Package['nagios']
  }

  # unfortunatly we can't use the nagios_host and nagios_service
  # definition to define templates, so we need to copy a file here.
  # see http://projects.reductivelabs.com/issues/1180 for this limitation

  file { 'pnp4nagios-templates.cfg':
    path   => "${nagios::defaults::vars::int_cfgdir}/pnp4nagios-templates.cfg",
    source => [ 'puppet:///modules/site_nagios/pnp4nagios/pnp4nagios-templates.cfg',
                'puppet:///modules/nagios/pnp4nagios/pnp4nagios-templates.cfg' ],
    mode   => '0644',
    owner  => root,
    group  => root,
    notify => Service['nagios'],
    require => Package['nagios'];
  }

  file { 'apache.conf':
    path    => '/etc/pnp4nagios/apache.conf',
    source  => ['puppet:///modules/site_nagios/pnp4nagios/apache.conf',
                'puppet:///modules/nagios/pnp4nagios/apache.conf' ],
    mode    => '0644',
    owner   => root,
    group   => root,
    notify  => Service['apache'],
    require => [ Package['apache2'], Package['pnp4nagios'] ],
  }

  # run npcd as daemon

  file { '/etc/default/npcd':
    path    => '/etc/default/npcd',
    source  => [ 'puppet:///modules/site_nagios/pnp4nagios/npcd',
                'puppet:///modules/nagios/pnp4nagios/npcd' ],
    mode    => '0644',
    owner   => root,
    group   => root,
    notify  => Service['npcd'],
    require => [ Package['nagios'], Package['pnp4nagios'] ];
  }

  service { 'npcd':
      ensure    => running,
      enable    => true,
      hasstatus => true,
      require   => Package['pnp4nagios'],
  }

  # modify action.gif

  file { '/usr/share/nagios3/htdocs/images/action.gif':
    path   => '/usr/share/nagios3/htdocs/images/action.gif',
    source => [ 'puppet:///modules/site_nagios/pnp4nagios/action.gif',
                'puppet:///modules/nagios/pnp4nagios/action.gif' ],
    mode    => '0644',
    owner   => root,
    group   => root,
    notify  => Service['nagios'],
    require => Package['nagios'];
  }
}