class Riemann::Tools::AWS
Public Class Methods
new()
click to toggle source
# File bin/riemann-sqs, line 18 def initialize @sqs = Fog::AWS::SQS.new(:aws_access_key_id => opts[:access_key], :aws_secret_access_key => opts[:secret_key], :region => opts[:region]) response = @sqs.list_queues @queues_info = opts[:queue].inject({}) {|h, name| h[name] = response[:body]['QueueUrls'].select {|url| url.include? name }.first; h } end
Public Instance Methods
tick()
click to toggle source
# File bin/riemann-sqs, line 26 def tick @queues_info.each_pair do |queue, queue_url| response = @sqs.get_queue_attributes(queue_url, 'All') ['ApproximateNumberOfMessages', 'ApproximateNumberOfMessagesNotVisible'].each do |attr| msg = { metric: response[:body]['Attributes'][attr], service: "#{queue} #{attr}", state: 'ok' } report msg end end end