Class: ZabbixPusher::Jmx

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/zabbix_pusher.rb

Instance Method Summary collapse

Constructor Details

#initialize(items, options) ⇒ Jmx

Returns a new instance of Jmx.



57
58
59
60
61
62
63
64
65
66
# File 'lib/zabbix_pusher.rb', line 57

def initialize(items,options)
  self.class.base_uri options[:base_uri] if options[:base_uri]
  @payload = Array.new
  @items = items
  @items.each do |item|  mbean,attribute,path = item.split(';')
    tokens = { "mbean" => mbean, "attribute" => attribute, "type" => "READ"}
    tokens["path"] = path if path
    @payload  << tokens
  end
end

Instance Method Details

#processed_itemsObject



68
69
70
71
72
73
# File 'lib/zabbix_pusher.rb', line 68

def processed_items
  data = self.class.post('/jolokia', :body => @payload.to_json)
  result = Hash.new
  data.each{|datum| result[result_key(datum)] = datum['value'] if datum['request']}
  result
end

#result_key(datum) ⇒ Object



75
76
77
# File 'lib/zabbix_pusher.rb', line 75

def result_key(datum)
  "#{datum['request']['mbean']};#{datum['request']['attribute']};#{datum['request']['path']}"
end