diff --git a/src/im_mad/remotes/ganglia.d/ganglia_probe b/src/im_mad/remotes/ganglia.d/ganglia_probe index 2be364e322..1fc6a43071 100755 --- a/src/im_mad/remotes/ganglia.d/ganglia_probe +++ b/src/im_mad/remotes/ganglia.d/ganglia_probe @@ -87,5 +87,5 @@ info.each do |key, value| GangliaHost.print_info(key, value) end -system("../../vmm/kvm/poll_ganglia #{host}") + diff --git a/src/vmm_mad/remotes/poll_ganglia.rb b/src/vmm_mad/remotes/poll_ganglia.rb index 97a1dedf43..c151dfacbc 100755 --- a/src/vmm_mad/remotes/poll_ganglia.rb +++ b/src/vmm_mad/remotes/poll_ganglia.rb @@ -49,34 +49,9 @@ GANGLIA_PORT=8649 #GANGLIA_FILE='data.xml' -def info_string(dom_info) - if dom_info - info=dom_info.map do |key, value| - "#{key.to_s.upcase}=#{value}" - end.join(' ') - else - '' - end -end - -def vm_info(name, dom_info) - number=name.split('-').last - string="VM=[\n" - string<<" ID=\"#{number}\",\n" - string<<" POLL=\"#{info_string(dom_info)}\" ]" - string -end - - -if ARGV.length==1 - host=ARGV[0] - ALL=true -else - domain=ARGV[0] - dom_id=ARGV[2] - host=ARGV[1] - ALL=false -end +domain=ARGV[0] +dom_id=ARGV[2] +host=ARGV[1] # Gets monitoring data from ganglia or file begin @@ -91,24 +66,24 @@ rescue end doms_info=ganglia.get_vms_information +dom_id=domain.split('-').last -if !ALL - dom_id=domain.split('-').last - - # Unknown state when the VM is not found - if !doms_info || !(doms_info[domain] || doms_info[dom_id]) - puts "STATE=d" - exit(0) - end - - # Get key one- or key from the hash - dom_info=doms_info[domain] - dom_info=doms_info[dom_id] if !dom_info - - puts info_string(dom_info) -else - doms_info.each do |name, data| - puts vm_info(name, data) - end +# Unknown state when the VM is not found +if !doms_info || !(doms_info[domain] || doms_info[dom_id]) + puts "STATE=d" + exit(0) end +# Get key one- or key from the hash +dom_info=doms_info[domain] +dom_info=doms_info[dom_id] if !dom_info + +if dom_info + info=dom_info.map do |key, value| + "#{key.to_s.upcase}=#{value}" + end.join(' ') + + puts info +end + +