summaryrefslogtreecommitdiff
path: root/manifests/pnp4nagios.pp
blob: 0f86d2a5a14bb1f621c57a010cad27dd1a6004fd (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
class nagios::pnp4nagios {
  include nagios::defaults::pnp4nagios

  package { pnp4nagios:
            ensure => installed }


  # unfortunatly i didn't find a way to use nagios_host and nagios_service definition, because 
  # imho puppet can't handle the "name" variable needed in these 2 definitions
  # so we need to copy a file here.

  file { 'pnp4nagios-templates.cfg':
    path => "$nagios::nagios_cfgdir/conf.d/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'], 
  }
  
  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['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'];
  }

  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'];
  }


}