1 define profile::monitoring::local_service (
2 Optional[Hash] $sudos = {},
3 Optional[Hash] $common = {},
4 Optional[Hash] $master = {},
5 Optional[Hash] $local = {},
7 include profile::monitoring::params
9 $service_description = $title
15 notify => Service["naemon"],
16 before => Service["naemon"],
17 require => File["/etc/naemon"],
20 $sudos.each |$sudo_name, $content| {
21 ensure_resource("sudo::conf", $sudo_name, {
23 before => Nagios_service[$service_description],
27 $service_group = "${::profile::monitoring::params::service_local[host_name]}-servicegroup"
28 ensure_resource("nagios_servicegroup", $service_group, {
29 target => $::profile::monitoring::params::services_for_master,
32 [true, false].each |$services_for_master| {
33 if $services_for_master {
36 target => $::profile::monitoring::params::services_for_master,
37 check_interval => $::profile::monitoring::params::service_local["check_interval"],
38 retry_interval => $::profile::monitoring::params::service_local["retry_interval"],
39 host_name => $::profile::monitoring::params::service_local["host_name"],
40 use => $::profile::monitoring::params::service_types["passive"],
41 servicegroups => $service_group,
45 $services_key = $master
47 $default_local = merge(
48 $::profile::monitoring::params::service_local,
49 { target => $::profile::monitoring::params::objects }
52 $services_key = $local
55 $hash = merge($default_local, $common, $services_key)
57 nagios_service { "$t$service_description":
58 service_description => $service_description,