Puppet Class: nagios::params

Defined in:
manifests/params.pp

Overview

Class: nagios::params

Parameters for and from the nagios module.



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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'manifests/params.pp', line 5

class nagios::params {

  $libdir = $::architecture ? {
    'x86_64' => 'lib64',
    'amd64'  => 'lib64',
    'ppc64'  => 'lib64',
    default  => 'lib',
  }

  # The easy bunch
  $nagios_service = 'nagios'
  $nagios_user    = 'nagios'
  # nrpe
  $nrpe_cfg_file  = '/etc/nagios/nrpe.cfg'
  $nrpe_command   = '$USER1$/check_nrpe -H $HOSTADDRESS$'
  $nrpe_options   = '-t 15'

  # Optional plugin packages, to be realized by tag where needed
  # Note: We use tag, because we can't use alias for 2 reasons :
  # * http://projects.puppetlabs.com/issues/4459
  # * The value of $alias can't be the same as $name
  $nagios_plugins_packages = [
    'nagios-plugins-disk',
    'nagios-plugins-file_age',
    'nagios-plugins-http',
    'nagios-plugins-ide_smart',
    'nagios-plugins-ifstatus',
    'nagios-plugins-linux_raid',
    'nagios-plugins-load',
    'nagios-plugins-log',
    'nagios-plugins-mailq',
    'nagios-plugins-mysql',
    'nagios-plugins-ntp',
    'nagios-plugins-perl',
    'nagios-plugins-pgsql',
    'nagios-plugins-procs',
    'nagios-plugins-sensors',
    'nagios-plugins-swap',
    'nagios-plugins-users',
  ]

  case $::operatingsystem {
    'RedHat', 'Fedora', 'CentOS', 'Scientific', 'Amazon': {
      $nrpe_package       = [ 'nrpe', 'nagios-plugins' ]
      $nrpe_service       = 'nrpe'
      $nrpe_user          = 'nrpe'
      $nrpe_group         = 'nrpe'
      if ( $::operatingsystem != 'Fedora' and versioncmp($::operatingsystemrelease, '7') >= 0 ) {
        $nrpe_pid_file    = hiera('nagios::params::nrpe_pid_file','/run/nrpe/nrpe.pid')
      } else {
        $nrpe_pid_file    = hiera('nagios::params::nrpe_pid_file','/var/run/nrpe/nrpe.pid')
      }
      $nrpe_cfg_dir       = hiera('nagios::params::nrpe_cfg_dir','/etc/nrpe.d')
      $plugin_dir         = hiera('nagios::params::plugin_dir',"/usr/${libdir}/nagios/plugins")
      $pid_file           = hiera('nagios::params::pid_file','/var/run/nagios/nagios.pid')
      $megaclibin         = '/usr/sbin/MegaCli'
      $perl_memcached     = 'perl-Cache-Memcached'
      @package { $nagios_plugins_packages:
        ensure => installed,
        tag    => $name,
      }
    }
    'Gentoo': {
      $nrpe_package       = [ 'net-analyzer/nrpe' ]
      $nrpe_package_alias = 'nrpe'
      $nrpe_service       = 'nrpe'
      $nrpe_user          = 'nagios'
      $nrpe_group         = 'nagios'
      $nrpe_pid_file      = '/run/nrpe.pid'
      $nrpe_cfg_dir       = '/etc/nagios/nrpe.d'
      $plugin_dir         = "/usr/${libdir}/nagios/plugins"
      $pid_file           = '/run/nagios.pid'
      $megaclibin         = '/opt/bin/MegaCli'
      $perl_memcached     = 'dev-perl/Cache-Memcached'
      # No package splitting in Gentoo
      @package { 'net-analyzer/nagios-plugins':
        ensure => installed,
        tag    => $nagios_plugins_packages,
      }
    }
    'Debian', 'Ubuntu': {
      $nrpe_package       = [ 'nagios-nrpe-server' ]
      $nrpe_package_alias = 'nrpe'
      $nrpe_service       = 'nagios-nrpe-server'
      $nrpe_user          = 'nagios'
      $nrpe_group         = 'nagios'
      $nrpe_pid_file      = hiera('nagios::params::nrpe_pid_file','/var/run/nagios/nrpe.pid')
      $nrpe_cfg_dir       = hiera('nagios::params::nrpe_cfg_dir','/etc/nagios/nrpe.d')
      $plugin_dir         = hiera('nagios::params::plugin_dir','/usr/lib/nagios/plugins')
      $pid_file           = hiera('nagios::params::pid_file','/var/run/nagios/nagios.pid')
      $megaclibin         = '/opt/bin/MegaCli'
      $perl_memcached     = 'libcache-memcached-perl'
      # No package splitting in Debian
      @package { 'nagios-plugins':
        ensure => installed,
        tag    => $nagios_plugins_packages,
      }
    }
    default: {
      $nrpe_package       = [ 'nrpe', 'nagios-plugins' ]
      $nrpe_service       = 'nrpe'
      $nrpe_user          = 'nrpe'
      $nrpe_group         = 'nrpe'
      $nrpe_pid_file      = hiera('nagios::params::nrpe_pid_file','/var/run/nrpe.pid')
      $nrpe_cfg_dir       = hiera('nagios::params::nrpe_cfg_dir','/etc/nagios/nrpe.d')
      $plugin_dir         = hiera('nagios::params::plugin_dir','/usr/libexec/nagios/plugins')
      $pid_file           = hiera('nagios::params::pid_file','/var/run/nagios.pid')
      $megaclibin         = hiera('nagios::params::megaclibin','/usr/sbin/MegaCli')
      $perl_memcached     = hiera('nagios::params::perl_memcached','perl-Cache-Memcached')
      @package { $nagios_plugins_packages:
        ensure => installed,
        tag    => $name,
      }
    }
  }

}