summaryrefslogtreecommitdiff
path: root/manifests/defines.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/defines.pp')
-rw-r--r--manifests/defines.pp200
1 files changed, 0 insertions, 200 deletions
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;
- }
-}