X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=config%2Fbuild-nagios;h=13c3d4ce59a3fee980e070dea3d83d24fa4c720c;hb=f3ed8977d6e5bedec2971c38c30529d48be30a45;hp=6395e803283232d86f3d031c383422f5c7392919;hpb=c52cf8d1190f744101fe52aa0e66c299b6bc0014;p=mirror%2Fdsa-nagios.git diff --git a/config/build-nagios b/config/build-nagios index 6395e80..13c3d4c 100755 --- a/config/build-nagios +++ b/config/build-nagios @@ -2,7 +2,7 @@ # build nagios and nrpe config from a single master config file -# Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009 Peter Palfrader +# Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter Palfrader # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -358,6 +358,7 @@ config['servers'].each_pair{ |name, server| ############## config['hostgroups'].each_pair{ |name, hg| next if hg['private'] + throw "Empty hostgroup #{name}" if hg['_memberlist'].length == 0 set_complain_if_set hg, 'hostgroup_name', name , 'Hostgroup', name set_complain_if_set hg, 'members' , hg['_memberlist'].join(","), 'Hostgroup', name @@ -413,10 +414,12 @@ config['services'].each{ |service| # how to recursively copy this thing? hostservice = YAML::load( service.to_yaml ) host_ip = config['servers'][host]['address'] - throw "For some reason I do not have an address for #{host}. This shouldn't be." unless host_ip remotecheck = hostservice['remotecheck'] - remotecheck.gsub!(/\$HOSTADDRESS\$/, host_ip) + if remotecheck.include?('$HOSTADDRESS$') and not host_ip + throw "For some reason I do not have an address for #{host} yet I need it for the remote check. This shouldn't be." + end + remotecheck.gsub!(/\$HOSTADDRESS\$/, host_ip) if host_ip remotecheck.gsub!(/\$HOSTNAME\$/, host) check = $nrpe.add("#{host}_#{hostservice['service_description']}", remotecheck) hostservice['check_command'] = "#{NRPE_CHECKNAME_HOST}!#{ config['servers'][ relay ]['address'] }!#{ check }"