mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 22:57:16 -04:00
add lumberjack output
This commit is contained in:
parent
dc200a94c4
commit
abfe6c8d6e
3 changed files with 52 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
|||
1.1.5 (????????????????)
|
||||
- irc input now stores nick
|
||||
- new output: lumberjack
|
||||
|
||||
1.1.4 (October 28, 2012)
|
||||
## Overview of this release:
|
||||
|
|
50
lib/logstash/outputs/lumberjack.rb
Normal file
50
lib/logstash/outputs/lumberjack.rb
Normal file
|
@ -0,0 +1,50 @@
|
|||
class LogStash::Outputs::Lumberjack < LogStash::Outputs::Base
|
||||
|
||||
config_name "lumberjack"
|
||||
plugin_status "experimental"
|
||||
|
||||
# list of addresses lumberjack can send to
|
||||
config :hosts, :validate => :array, :required => true
|
||||
|
||||
# the port to connect to
|
||||
config :port, :validate => :number, :required => true
|
||||
|
||||
# ssl certificate to use
|
||||
config :ssl_certificate, :validate => :string, :required => true
|
||||
|
||||
# ssl key to use
|
||||
config :window_size, :validate => :number, :default => 5000
|
||||
|
||||
public
|
||||
def register
|
||||
require 'lumberjack/client'
|
||||
connect
|
||||
end # def register
|
||||
|
||||
public
|
||||
def receive(event)
|
||||
return unless output?(event)
|
||||
begin
|
||||
@client.write("line" => event.message, "host" => event.source_host, "file" => event.source_path)
|
||||
rescue Exception => e
|
||||
@logger.log("Client write error", :e => e, :backtrace => e.backtrace)
|
||||
connect
|
||||
retry
|
||||
end
|
||||
end # def receive
|
||||
|
||||
private
|
||||
def connect
|
||||
@logger.info("Connecting to lumberjack server.", :addresses => @hosts, :port => @port,
|
||||
:ssl_certificate => @ssl_certificate, :window_size => @window_size)
|
||||
begin
|
||||
@client = Lumberjack::Client.new(:addresses => @hosts, :port => @port,
|
||||
:ssl_certificate => @ssl_certificate, :window_size => @window_size)
|
||||
rescue Exception => e
|
||||
@logger.error("All hosts unavailable, sleeping", :hosts => @hosts, :e => e,
|
||||
:backtrace => e.backtrace, :host => @client.host)
|
||||
sleep(10)
|
||||
retry
|
||||
end
|
||||
end
|
||||
end
|
|
@ -53,7 +53,7 @@ Gem::Specification.new do |gem|
|
|||
gem.add_runtime_dependency "uuidtools" # For generating amqp queue names
|
||||
gem.add_runtime_dependency "xml-simple"
|
||||
gem.add_runtime_dependency "xmpp4r", ["0.5"]
|
||||
gem.add_runtime_dependency "jls-lumberjack", ["0.0.9000"]
|
||||
gem.add_runtime_dependency "jls-lumberjack", ["0.0.4"]
|
||||
gem.add_runtime_dependency "geoip", [">= 1.1.0"]
|
||||
gem.add_runtime_dependency "beefcake", "0.3.7"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue