Puppet Class: nagios::redhat
- Inherits:
 - nagios::base
 
- Defined in:
 - manifests/redhat.pp
 
Overview
Class: nagios::redhat
Define common resources specific to redhat based systems. It shouldn’t be necessary to include this class directly. Instead, you should use:
include nagios
  
        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 69 70 71 72 73 74 75 76 77  | 
      
        # File 'manifests/redhat.pp', line 8
class nagios::redhat inherits nagios::base {
  include ::nagios::params
  # Common resources between base, redhat, and debian
  package { 'nagios':
    ensure => present,
  }
  # redhat specific resources below
  file {'/etc/default/nagios': ensure => absent }
  file {'/etc/nagios3': ensure => absent }
  file {'/etc/httpd/conf.d/nagios.conf':
    ensure  => absent,
    require => Package['nagios'],
  }
  case $::operatingsystemmajrelease {
    '5','6': {
      File[
        '/var/log/nagios',
        '/var/lib/nagios',
        '/var/lib/nagios/spool',
        '/var/lib/nagios/spool/checkresults',
        '/var/cache/nagios'
        ] {
        seltype => 'nagios_log_t',
      }
      Service['nagios'] {
        hasstatus   => false,
        pattern     => '/usr/sbin/nagios -d /etc/nagios/nagios.cfg',
      }
      # workaround broken init-script
      Exec['nagios-restart'] {
        command => "nagios -v ${nagios::params::conffile} && pkill -P 1 -f '^/usr/sbin/nagios' && /etc/init.d/nagios start",
      }
      Exec['nagios-reload'] {
        command => "nagios -v ${nagios::params::conffile} && pkill -P 1 -HUP -f '^/usr/sbin/nagios'",
      }
    }
    '7': {
      Service['nagios'] {
        provider => 'redhat',
      }
      Exec['nagios-restart'] {
        command => "nagios -v ${nagios::params::conffile} && systemctl restart nagios.service",
      }
      Exec['nagios-reload'] {
        command => "nagios -v ${nagios::params::conffile} && systemctl reload nagios.service",
      }
    }
    default: {
      fail "nagios::redhat doesn't support ${::operatingsystemmajrelease} yet"
    }
  }
}
       |