summaryrefslogtreecommitdiff
path: root/manifests/init.pp
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2008-11-07 20:07:18 +0000
committermh <mh@immerda.ch>2008-11-07 20:07:18 +0000
commite031bdc42d97a0cfd9b1ed054f99d15a452f53dd (patch)
treede105a4af27aace051e3db105262fac344b637ac /manifests/init.pp
parent2ea2b55a0bb33617dab68e004dfea79ec6202d91 (diff)
removed modules dir - we don't need it
factored out classes and defines in their own files
Diffstat (limited to 'manifests/init.pp')
-rw-r--r--manifests/init.pp141
1 files changed, 1 insertions, 140 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index adf943b..702e875 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -14,9 +14,7 @@
# the Free Software Foundation.
#
-# the directory containing all nagios configs:
-$nagios_cfgdir = '/var/lib/puppet/modules/nagios'
-modules_dir{ nagios: }
+import 'defines.pp'
class nagios {
case $operatingsystem {
@@ -178,140 +176,3 @@ class nagios::centos inherits nagios::base {
owner => root, group => nagios, mode => '0640';
}
}
-
-class nagios::target {
- include nagios::target::host
- nagios::service::ping{$fqdn:}
-}
-
-class nagios::target::host {
- nagios::host { $fqdn: parents => $nagios_parent }
-}
-
-# defines
-define nagios::host(
- $ip = $fqdn,
- $nagios_alias = $hostname,
- $check_command = 'check-host-alive',
- $max_check_attempts = 4,
- $notification_interval = 120,
- $notification_period = '24x7',
- $notification_options = 'd,r',
- $use = 'generic-host',
- $nagios_contact_groups_in = $nagios_contact_groups,
- $parents = 'localhost' )
-{
- $real_nagios_contact_groups = $nagios_contact_groups_in ? {
- '' => 'admins',
- default => $nagios_contact_groups_in
- }
- $real_nagios_parents = $parents ? {
- '' => 'localhost',
- default => $parents
- }
-
- @@nagios_host { $name:
- ensure => present,
- address => $ip,
- alias => $nagios_alias,
- check_command => $check_command,
- max_check_attempts => $max_check_attempts,
- notification_interval => $notification_interval,
- notification_period => $notification_period,
- notification_options => $notification_options,
- parents => $real_nagios_parents,
- contact_groups => $real_nagios_contact_groups,
- use => $use,
- notify => Service[nagios],
- }
-}
-
-# this will define a host which isn't managed by puppet.
-# a ping serivce is automatically added
-define nagios::extra_host($ip, $nagios_alias, $use = 'generic-host', $parents = 'localhost' ) {
- nagios::host{$name:
- ip => $ip,
- nagios_alias => $nagios_alias,
- use => $use,
- parents => $parents
- }
-
- nagios::service { "check_ping_${name}":
- host_name => $name,
- check_command => 'check_ping!100.0,20%!500.0,60%',
- host_name => $name,
- service_description => "check_ping_${nagios_alias}",
- }
-}
-
-# just a wrapper to make the notify more easy
-define nagios::command( $command_line ){
- nagios_command{$name:
- command_line => $command_line,
- notify => Service[nagios],
- }
-}
-
-define nagios::service(
- $check_command,
- $host_name = $fqdn,
- $use = 'generic-service',
- $notification_period = "24x7",
- $max_check_attempts = 4,
- $retry_check_interval = 1,
- $notification_interval = 960,
- $normal_check_interval = 5,
- $check_period = "24x7",
- $nagios_contact_groups_in = $nagios_contact_groups,
- $service_description = ''){
-
- # this ensures nagios internal check, that every
- # service has it's host
- # temporary disabled.
- # include nagios::target::host
-
- $real_nagios_contact_groups = $nagios_contact_groups_in ? {
- '' => 'admins',
- default => $nagios_contact_groups_in
- }
- @@nagios_service {$name:
- check_command => $check_command,
- use => $use,
- host_name => $host_name,
- notification_period => $notification_period,
- max_check_attempts => $max_check_attempts,
- retry_check_interval => $retry_check_interval,
- notification_interval => $notification_interval,
- normal_check_interval => $normal_check_interval,
- contact_groups => $real_nagios_contact_groups,
- check_period => $check_period,
- notify => Service[nagios],
- }
- # if no service_description is set it is a namevar
- case $service_description {
- '': {}
- default: {
- Nagios_service[$name]{
- service_description => $service_description,
- }
- }
- }
-}
-
-define nagios::service::ping(){
- $real_nagios_ping_rate = $nagios_ping_rate ? {
- '' => '!100.0,20%!500.0,60%',
- default => $nagios_ping_rate
- }
-
- nagios::service{ "check_ping_${hostname}":
- check_command => "check_ping${real_nagios_ping_rate}",
- }
-}
-
-class nagios::service::ntp {
- nagios::service{ "check_ntp_${hostname}":
- check_command => "check_ntp",
- host_name => $fqdn,
- }
-}