mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
feature #1739: change ganglia probes to get all vms info
This commit is contained in:
parent
7cdb954bbb
commit
ad9898fa36
@ -87,5 +87,5 @@ info.each do |key, value|
|
||||
GangliaHost.print_info(key, value)
|
||||
end
|
||||
|
||||
|
||||
system("../../vmm/kvm/poll_ganglia #{host}")
|
||||
|
||||
|
@ -49,9 +49,34 @@ GANGLIA_PORT=8649
|
||||
#GANGLIA_FILE='data.xml'
|
||||
|
||||
|
||||
domain=ARGV[0]
|
||||
dom_id=ARGV[2]
|
||||
host=ARGV[1]
|
||||
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
|
||||
|
||||
# Gets monitoring data from ganglia or file
|
||||
begin
|
||||
@ -66,24 +91,24 @@ rescue
|
||||
end
|
||||
|
||||
doms_info=ganglia.get_vms_information
|
||||
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)
|
||||
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-<vmid> or <vmid> 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
|
||||
end
|
||||
|
||||
# Get key one-<vmid> or <vmid> 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
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user