Puppet Class: confdroid_nagios::server::nagios

Inherits:
confdroid_nagios::params
Defined in:
manifests/server/nagios.pp

Summary

Class manages Nagios configuration for the confdroid_nagios module.

Overview

confdroid_nagios::server::nagios.pp Module name: confdroid_nagios Author: 12ww1160 (12ww1160@confdroid.com)



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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'manifests/server/nagios.pp', line 6

class confdroid_nagios::server::nagios (

) inherits confdroid_nagios::params {
  if $ng_nagios_server == $fqdn {
    @@nagios_host { "localhost_${fqdn}":
      ensure              => $ng_ping_ensure,
      alias               => 'localhost',
      address             => '127.0.0.1',
      use                 => 'linux-server',
      target              => $ng_target_localhost,
      hostgroups          => 'linux-servers',
      contacts            => $ng_contact_name,
      max_check_attempts  => $ng_max_check_attempts,
      notification_period => '24x7',
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      check_command       => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
      notify              => Service[$ng_service],
    }

    @@nagios_host { $fqdn:
      ensure              => $ng_ping_ensure,
      alias               => 'nag001',
      address             => '127.0.0.1',
      use                 => 'linux-server',
      target              => $ng_target_localhost,
      hostgroups          => 'linux-servers',
      contacts            => $ng_contact_name,
      max_check_attempts  => $ng_max_check_attempts,
      notification_period => '24x7',
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      check_command       => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
      notify              => Service[$ng_service],
    }

    @@nagios_service { 'check_nagios_localhost':
      check_command       => "check_nagios!${ng_spool_dir}/status.dat!5!/usr/sbin/nagios",
      use                 => 'generic-service',
      host_name           => "localhost_${fqdn}",
      notification_period => '24x7',
      service_description => 'localhost_nagios_service',
      target              => $ng_target_service,
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      contacts            => $ng_contact_name,
      notify              => Service[$ng_service],
    }

    @@nagios_service { 'root_partition_localhost':
      ensure              => $ng_disk_ensure,
      check_command       => "check_nrpe!check_disk!${ng_disk_warn}!${ng_disk_crit}!/",
      use                 => 'generic-service',
      host_name           => "localhost_${fqdn}",
      contacts            => $ng_contact_name,
      notification_period => '24x7',
      service_description => 'localhost_root_partition',
      servicegroups       => 'linux-services',
      target              => $ng_target_service,
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      notify              => Service[$ng_service],
    }

    if $ng_enable_swap_check == true {
      @@nagios_service { 'Swap_Usage_localhost':
        ensure              => $ng_swap_ensure,
        check_command       => "check_nrpe!check_swap!${ng_swap_warn}!${ng_swap_crit}",
        use                 => 'generic-service',
        host_name           => "localhost_${fqdn}",
        contacts            => $ng_contact_name,
        notification_period => '24x7',
        service_description => 'localhost_swap_usage',
        servicegroups       => 'linux-services',
        target              => $ng_target_service,
        owner               => $ng_user,
        group               => $ng_user,
        mode                => '0640',
        notify              => Service[$ng_service],
      }
    }

    @@nagios_service { 'Local_Users_localhost':
      ensure              => $ng_users_ensure,
      check_command       => "check_nrpe!check_users!${ng_users_warn}!${ng_users_crit}",
      use                 => 'generic-service',
      host_name           => "localhost_${fqdn}",
      contacts            => $ng_contact_name,
      notification_period => '24x7',
      service_description => 'localhost_local_users',
      servicegroups       => 'linux-services',
      target              => $ng_target_service,
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      notify              => Service[$ng_service],
    }

    @@nagios_service { 'Total_Processes_localhost':
      ensure              => $ng_procs_tot_ensure,
      check_command       => "check_nrpe!check_procs!${ng_procs_tot_warn}!${ng_procs_tot_crit}!${ng_procs_tot_param}",
      use                 => 'generic-service',
      host_name           => "localhost_${fqdn}",
      contacts            => $ng_contact_name,
      notification_period => '24x7',
      service_description => 'localhost_total_processes',
      servicegroups       => 'linux-services',
      target              => $ng_target_service,
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      notify              => Service[$ng_service],
    }

    @@nagios_service { 'Zombie_Processes_localhost':
      ensure              => $ng_procs_z_ensure,
      check_command       => "check_nrpe!check_procs!${ng_procs_z_warn}!${ng_procs_z_crit}!${ng_procs_z_param}",
      use                 => 'generic-service',
      host_name           => "localhost_${fqdn}",
      contacts            => $ng_contact_name,
      notification_period => '24x7',
      service_description => 'localhost_zombie_processes',
      servicegroups       => 'linux-services',
      target              => $ng_target_service,
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      notify              => Service[$ng_service],
    }

    @@nagios_service { 'Current_Load_localhost':
      ensure              => $ng_load_ensure,
      check_command       => "check_nrpe!check_load!${ng_load_warn}!${ng_load_crit}",
      use                 => 'generic-service',
      host_name           => "localhost_${fqdn}",
      contacts            => $ng_contact_name,
      notification_period => '24x7',
      service_description => 'localhost_current_load',
      servicegroups       => 'linux-services',
      target              => $ng_target_service,
      owner               => $ng_user,
      group               => $ng_user,
      mode                => '0640',
      notify              => Service[$ng_service],
    }

    resources { ['nagios_host',
        'nagios_hostgroup',
        'nagios_hostdependency',
        'nagios_hostescalation',
        'nagios_hostextinfo',
        'nagios_service',
        'nagios_servicegroup',
        'nagios_servicedependency',
        'nagios_serviceescalation',
        'nagios_serviceextinfo',
        'nagios_contact',
        'nagios_contactgroup',
        'nagios_command',
      'nagios_timeperiod']:
        purge => true,
    }

    # collect resources and populate /etc/nagios/conf.d/nagios_*.cfg
    Nagios_host <<||>> { notify  => Service['nagios'] }
    Nagios_hostgroup <<||>> { notify  => Service['nagios'] }
    Nagios_hostdependency <<||>> { notify  => Service['nagios'] }
    Nagios_hostescalation <<||>> { notify  => Service['nagios'] }
    Nagios_hostextinfo <<||>> { notify  => Service['nagios'] }
    Nagios_service <<||>> { notify  => Service['nagios'] }
    Nagios_servicegroup <<||>> { notify  => Service['nagios'] }
    Nagios_servicedependency <<||>> { notify  => Service['nagios'] }
    Nagios_serviceescalation <<||>> { notify  => Service['nagios'] }
    Nagios_serviceextinfo <<||>> { notify  => Service['nagios'] }
    Nagios_contact <<||>> { notify  => Service['nagios'] }
    Nagios_contactgroup <<||>> { notify  => Service['nagios'] }
    Nagios_command <<||>> { notify  => Service['nagios'] }
    Nagios_timeperiod <<||>> { notify  => Service['nagios'] }
  }
}