module Sensu::Plugin::RabbitMQ::Common

Public Class Methods

included(receiver) click to toggle source
# File lib/sensu-plugins-rabbitmq/rabbitmq.rb, line 92
def self.included(receiver)
  receiver.extend(Sensu::Plugin::RabbitMQ::Options)
  receiver.add_common_options
end

Public Instance Methods

acquire_rabbitmq_info(property = nil) click to toggle source
# File lib/sensu-plugins-rabbitmq/rabbitmq.rb, line 52
def acquire_rabbitmq_info(property = nil)
  begin
    if config[:ini]
      ini = IniFile.load(config[:ini])
      section = ini['auth']
      username = section['username']
      password = section['password']
    else
      username = config[:username]
      password = config[:password]
    end

    rabbitmq_info = CarrotTop.new(
      host: config[:host],
      port: config[:port],
      user: username,
      password: password,
      ssl: config[:ssl]
    )
  rescue StandardError
    warning 'could not get rabbitmq info'
  end

  result_info = rabbitmq_info
  unless property.nil?
    result_info = rabbitmq_info.send property
    if config[:vhost] != ''
      result_info.select! { |x| x['vhost'].match(config[:vhost]) }
    end
  end

  result_info
end
queue_list_builder(input) click to toggle source
# File lib/sensu-plugins-rabbitmq/rabbitmq.rb, line 86
def queue_list_builder(input)
  return [] if input.nil?
  return [input] if config[:regex]
  input.split(',')
end