Class: LogStash::Outputs::Rackspace

Inherits:
Base
  • Object
show all
Defined in:
lib/logstash/outputs/rackspace.rb

Instance Method Summary collapse

Instance Method Details

#receive(event) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/logstash/outputs/rackspace.rb', line 56

def receive(event)
  

  begin
    @rackspace_queue.messages.create :body => event, :ttl => @ttl
    #@rackspace_queue.messages.create :body => "some data here", :ttl => @ttl
  rescue => e
    @logger.warn("Failed to send event to rackspace cloud queues", :event => event, :exception => e,
                 :backtrace => e.backtrace)
  end

end

#registerObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/logstash/outputs/rackspace.rb', line 28

def register
  require "fog"
  @service = Fog::Rackspace::Queues.new(
    :rackspace_username  => @username,   # Your Rackspace Username
    :rackspace_api_key   => @api_key,         # Your Rackspace API key
    :rackspace_region    => @region.to_sym,                  # Your desired region
    :connection_options  => {}                     # Optional connection options
  )

  begin
    @rackspace_queue = @service.queues.create :name => @queue
  rescue Fog::Rackspace::Queues::ServiceError => e
    if e.status_code == 204
      @logger.warn("Queue #{@queue} already exists")
    else
      @logger.warn("something bad happened!")
    end # rescue
  end # begin
  @service.queues.each_with_index do |queue, index|
    if queue.name == @queue
      @rackspace_queue = @service.queues[index]
      break
    end
  end
  @logger.info("Opened connection to rackspace cloud queues")
end