diff options
Diffstat (limited to 'puppet/modules/site_check_mk')
4 files changed, 34 insertions, 6 deletions
diff --git a/puppet/modules/site_check_mk/files/host_contactgroups.mk b/puppet/modules/site_check_mk/files/host_contactgroups.mk deleted file mode 100644 index e89323fb..00000000 --- a/puppet/modules/site_check_mk/files/host_contactgroups.mk +++ /dev/null @@ -1,3 +0,0 @@ -host_contactgroups = [ -  ( "admins", ALL_HOSTS ), -] diff --git a/puppet/modules/site_check_mk/manifests/server.pp b/puppet/modules/site_check_mk/manifests/server.pp index b384923c..1a866b9c 100644 --- a/puppet/modules/site_check_mk/manifests/server.pp +++ b/puppet/modules/site_check_mk/manifests/server.pp @@ -11,6 +11,7 @@ class site_check_mk::server {    $hosts            = hiera_hash('hosts')    $all_hosts        = inline_template ('<% @hosts.keys.sort.each do |key| -%>"<%= @hosts[key]["domain_internal"] %>", <% end -%>')    $domains_internal = $nagios_hiera['domains_internal'] +  $environments     = $nagios_hiera['environments']    package { 'check-mk-server':      ensure => installed, @@ -41,7 +42,7 @@ class site_check_mk::server {        notify  => Exec['check_mk-refresh'],        require => Package['check-mk-server'];      '/etc/check_mk/conf.d/host_contactgroups.mk': -      source  => 'puppet:///modules/site_check_mk/host_contactgroups.mk', +      content => template('site_check_mk/host_contactgroups.mk'),        notify  => Exec['check_mk-refresh'],        require => Package['check-mk-server'];      '/etc/check_mk/conf.d/ignored_services.mk': diff --git a/puppet/modules/site_check_mk/templates/host_contactgroups.mk b/puppet/modules/site_check_mk/templates/host_contactgroups.mk new file mode 100644 index 00000000..6a534967 --- /dev/null +++ b/puppet/modules/site_check_mk/templates/host_contactgroups.mk @@ -0,0 +1,17 @@ +<% +  contact_groups = [] +  @environments.keys.sort.each do |env_name| +    hosts = "" +    @nagios_hosts.keys.sort.each do |hostname| +      hostdata = @nagios_hosts[hostname] +      domain_internal = hostdata['domain_internal'] +      if hostdata['environment'] == env_name +        hosts << '"' + domain_internal + '", ' +      end +    end +    contact_groups << '  ( "%s", [%s] )' % [env_name, hosts] +  end +%> +host_contactgroups = [ +<%= contact_groups.join(",\n") %> +] diff --git a/puppet/modules/site_check_mk/templates/hostgroups.mk b/puppet/modules/site_check_mk/templates/hostgroups.mk index 79b7f92f..7158dcd1 100644 --- a/puppet/modules/site_check_mk/templates/hostgroups.mk +++ b/puppet/modules/site_check_mk/templates/hostgroups.mk @@ -1,4 +1,17 @@ +<% +  host_groups = [] +  @environments.keys.sort.each do |env_name| +    hosts = "" +    @nagios_hosts.keys.sort.each do |hostname| +      hostdata = @nagios_hosts[hostname] +      domain_internal = hostdata['domain_internal'] +      if hostdata['environment'] == env_name +        hosts << '"' + domain_internal + '", ' +      end +    end +    host_groups << '  ( "%s", [%s] )' % [env_name, hosts] +  end +%>  host_groups = [ -  <% @domains_internal.each do |domain| %>( '<%= domain %>', [<% @nagios_hosts.keys.sort.each do |key| -%><% if @nagios_hosts[key]['domain_internal'] == key+'.'+domain -%>'<%= key %>.<%= domain %>', <% end -%><% end -%>] ), -  <% end -%> +<%= host_groups.join(",\n") %>  ]  | 
