Class: Monitors::Cloud
- Inherits:
-
BaseMonitor
- Object
- BaseMonitor
- Monitors::Cloud
- Defined in:
- lib/poolparty/monitors/monitors/cloud_monitor.rb
Instance Attribute Summary
Attributes inherited from BaseMonitor
#last_cloud_loaded_time, #log_file_path
Instance Method Summary collapse
Methods inherited from BaseMonitor
#after_close_callbacks, #before_close_callbacks, #env, inherited, #initialize, #log, #my_cloud
Constructor Details
This class inherits a constructor from Monitors::BaseMonitor
Instance Method Details
#get(_unused = nil) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/poolparty/monitors/monitors/cloud_monitor.rb', line 9 def get(_unused=nil) { :name => my_cloud.name, :minimum_instances => my_cloud.minimum_instances, :maximum_instances => my_cloud.maximum_instances, :remoter_base => my_cloud.remoter_base, :keypair => my_cloud.keypair } end |
#nominations(_unused = nil) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/poolparty/monitors/monitors/cloud_monitor.rb', line 18 def nominations(_unused=nil) running_nodes = my_cloud.nodes(:status => "running") nominations = [] running_nodes.each do |node| timeout(10) do log "Checking with #{node.internal_ip} for nominations: #{open("http://#{node.internal_ip}:8642/stats/get_nominations").read}" nominations << begin JSON.parse(open("http://#{node.internal_ip}:8642/stats/nominations").read) || "none" rescue log "Error when connecting to #{node.internal_ip}: #{e.inspect}" "none" end end end.histogram end |