From 011d5e028f86e9eeba1c05e251063b45004d210e Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 13 Jun 2009 15:41:24 +0200 Subject: put everything into its own file --- manifests/defines.pp | 200 --------------------------------------------------- 1 file changed, 200 deletions(-) delete mode 100644 manifests/defines.pp (limited to 'manifests/defines.pp') diff --git a/manifests/defines.pp b/manifests/defines.pp deleted file mode 100644 index 154d52d..0000000 --- a/manifests/defines.pp +++ /dev/null @@ -1,200 +0,0 @@ -# manifests/defines.pp - -define nagios::host( - $ensure = present, - $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 => $ensure, - 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( - $ensure = present, - $ip, - $nagios_alias, - $use = 'generic-host', - $parents = 'localhost' -) { - nagios::host{$name: - ensure => $ensure, - ip => $ip, - nagios_alias => $nagios_alias, - use => $use, - parents => $parents - } - - nagios::service { "check_ping_${name}": - ensure => $ensure, - 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( - $ensure = present, - $command_line -){ - nagios_command{$name: - ensure => $ensure, - command_line => $command_line, - notify => Service[nagios], - } -} - -define nagios::service( - $ensure = present, - $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 = 'absent') -{ - - # 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: - ensure => $ensure, - 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], - } - case $service_description { - 'absent': { - Nagios_service[$name]{ - service_description => $name, - } - } - default: { - Nagios_service[$name]{ - service_description => $service_description, - } - } - } -} - -define nagios::service::ping( - $ensure = present -){ - $real_nagios_ping_rate = $nagios_ping_rate ? { - '' => '!100.0,20%!500.0,60%', - default => $nagios_ping_rate - } - - nagios::service{ "check_ping_${hostname}": - ensure => $ensure, - check_command => "check_ping${real_nagios_ping_rate}", - } -} - -# ssl_mode: -# - false: only check http -# - true: check http and https -# - force: http is permanent redirect to https -# - only: check only https -define nagios::service::http( - $ensure = present, - $check_domain = 'absent', - $check_url = '/', - $check_code = 'OK', - $ssl_mode = false -){ - $real_check_domain = $check_domain ? { - 'absent' => $name, - default => $check_domain - } - case $ssl_mode { - 'force',true,'only': { - nagios::service{"https_${name}_${check_code}_${hostname}": - ensure => $ensure, - check_command => "check_https_url_regex!${real_check_domain}!${check_url}!'${check_code}'", - } - case $ssl_mode { - 'force': { - nagios::service{"httprd_${name}_${hostname}": - ensure => $ensure, - check_command => "check_http_url_regex!${real_check_domain}!${check_url}!'301'", - } - } - } - } - } - case $ssl_mode { - false,true: { - nagios::service{"http_${name}_${check_code}_${hostname}": - ensure => $ensure, - check_command => "check_http_url_regex!${real_check_domain}!${check_url}!'${check_code}'", - } - } - } -} - -define nagios::plugin( - $ensure = present -){ - file{$name: - path => $hardwaremodel ? { - 'x86_64' => "/usr/lib64/nagios/plugins/$name", - default => "/usr/lib/nagios/plugins/$name", - }, - ensure => $ensure, - source => "puppet://$server/nagios/plugins/$name", - require => Package['nagios-plugins'], - owner => root, group => 0, mode => 0755; - } -} -- cgit v1.2.3