X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=config%2Fbuild-nagios;h=28513c96ec350e41546843be6a710a48ddd269f7;hb=72657d0db3996174732f25bb05919a4e94cadd0f;hp=7a80f0a017ccb8a5a0616e110e6685288d44c29a;hpb=5fecb833d0167732b6d6b0d56a4c70b2eeb9e855;p=mirror%2Fdsa-nagios.git diff --git a/config/build-nagios b/config/build-nagios index 7a80f0a..28513c9 100755 --- a/config/build-nagios +++ b/config/build-nagios @@ -337,17 +337,19 @@ config['servers'].keys.sort.each{ |name| # Handle hostextinfo - #config['hostgroups'][ server['_hostgroups'].first ]['_extinfo'].each_pair{ |k, v| - # find the first hostgroup that has extinfo - extinfo = server['_hostgroups'].collect{ |hgname | config['hostgroups'][hgname]['_extinfo'] }.delete_if{ |ei| ei.size == 0 }.first - if extinfo then - extinfo.each_pair do |k, v| - # substitute hostname into the notes_url - v = sprintf(v,name) if k == 'notes_url' - - set_if_unset server['_extinfo'], k ,v + # Compose extinfo from all the hostgroups for each server + config['hostgroups'].each_pair{ |hgname, hostgroup| + next unless server['_hostgroups'].include?(hgname) + hostgroup['_extinfo'].each_pair do |k, v| + if v.empty? + server['_extinfo'].delete(k) + else + # substitute hostname into the notes_url + v = sprintf(v,name) if k == 'notes_url' + server['_extinfo'][k] = v + end end - end + } set_complain_if_set server['_extinfo'], 'host_name' , name, 'hostextinfo', name set_if_unset server['_extinfo'], 'vrml_image' , server['_extinfo']['icon_image'] if server['_extinfo'].has_key?('icon_image')