aboutsummaryrefslogtreecommitdiff
path: root/manifests/subsystem/monitor.pp
blob: 194af53aa34912ca92237b59e4552736072733f9 (plain)
1
2
3
4
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
class nodo::subsystem::monitor(
  $use_nagios    = hiera('nodo::subsystem::monitor::use_nagios',    True),
  $address       = hiera('nodo::subsystem::monitor::address',       $::ipaddress),
  $check_command = hiera('nodo::subsystem::monitor::check_command', 'check_ping'),
  $check_ping    = hiera('nodo::subsystem::monitor::check_ping',    present),
  $check_ssh     = hiera('nodo::subsystem::monitor::check_ssh',     absent),
  $ping_rate     = hiera('nodo::subsystem::monitor::ping_rate',     '!100.0,20%!500.0,60%')
) {

  if $use_nagios != false {

    $command = $check_command ? {
      'check_ping' => "check_ping${ping_rate}",
      default      => $check_command,
    }

    class{ 'nagios::target':
      address       => $address,
      check_command => $command,
    }

    nagios::service::ping { "${::fqdn}":
      ensure    => $check_ping,
      ping_rate => $ping_rate,
    }

    nagios::service { "check_ssh4":
      ensure        => $check_ssh,
      check_command => "check_ssh_4",
    }
  }
}