X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=build-nagios;h=482357fdcd5c0edc9babb00597c019aca1073b5e;hb=1dd1b851ae5287dba25ab9afdaa7349ccfd4255d;hp=078fce40cd4eb17e90dbfb43f476878fa7079ae0;hpb=1d1073e5c3be70b21852e0c5addc3bd41ad06c2e;p=mirror%2Fdsa-nagios.git diff --git a/build-nagios b/build-nagios index 078fce4..482357f 100755 --- a/build-nagios +++ b/build-nagios @@ -4,9 +4,8 @@ require "yaml" -ORG="debianorg" -SHORTORG="do" -CONTACTGROUP="debianadmin" +ORG="dsa" +SHORTORG="dsa" GENERATED_PREFIX="./generated/" nagios_filename = {}; @@ -245,8 +244,10 @@ nagios_filename.each_pair{ |name, filename| # create the "all" and "pingable" hostgroups config['hostgroups']['all'] = {} config['hostgroups']['all']['alias'] = "all servers" +config['hostgroups']['all']['private'] = true config['hostgroups']['pingable'] = {} config['hostgroups']['pingable']['alias'] = "pingable servers" +config['hostgroups']['pingable']['private'] = true config['hostgroups'].each_pair{ |name, hg| throw "Empty hostgroup or hostgroup #{name} not a hash" unless hg.kind_of?(Hash) @@ -293,12 +294,17 @@ config['servers'].each_pair{ |name, server| # Handle hostextinfo - config['hostgroups'][ server['_hostgroups'].first ]['_extinfo'].each_pair{ |k, v| - # substitute hostname into the notes_url - v = sprintf(v,name) if k == 'notes_url' - - set_if_unset server['_extinfo'], k ,v - } + #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 + 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') @@ -317,7 +323,6 @@ config['hostgroups'].each_pair{ |name, hg| set_complain_if_set hg, 'hostgroup_name', name , 'Hostgroup', name set_complain_if_set hg, 'members' , hg['_memberlist'].join(","), 'Hostgroup', name - set_if_unset hg, 'contact_groups', CONTACTGROUP print_block files['hostgroups'], 'hostgroup', hg, %w() }