Module: ZabbixRubyClient::Plugins::Rabbitmq
- Extended by:
- ZabbixRubyClient::PluginBase, Rabbitmq
- Included in:
- Rabbitmq
- Defined in:
- lib/zabbix-ruby-client/plugins/rabbitmq.rb
Instance Method Summary collapse
Methods included from ZabbixRubyClient::PluginBase
getline, getlines, httprequest, os, perform, time
Instance Method Details
#collect(*args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/zabbix-ruby-client/plugins/rabbitmq.rb', line 12 def collect(*args) host, rabbitmqadmin, login, pass = *args info = get_info(rabbitmqadmin, login, pass) back = [] if info back << "#{host} rabbitmq.version #{time} #{info['rabbitmq_version']}" back << "#{host} rabbitmq.erlang.version #{time} #{info['erlang_version']}" %w(ack deliver deliver_get publish redeliver).each do |i| if info['message_stats'][i] back << "#{host} rabbitmq.message.#{i} #{time} #{info['message_stats'][i]}" back << "#{host} rabbitmq.message.#{i}.rate #{time} #{info['message_stats']["#{i}_details"]['rate'].round}" end end %w(messages messages_ready messages_unacknowledged).each do |i| back << "#{host} rabbitmq.queue.total.#{i} #{time} #{info['queue_totals'][i]}" end %w(channels connections consumers exchanges queues).each do |i| back << "#{host} rabbitmq.total.#{i} #{time} #{info['object_totals'][i]}" end back << "#{host} rabbitmq.total.listeners #{time} #{info['listeners'].count}" end back end |