mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 22:57:16 -04:00
- standardize of a few field names:
* host: the origin of the event (for file input, etc, many times this is obvious. For network inputs, this is often the client ip address) * path: the origin path of the event (file path, EventLog source, etc) - some misc style cleanup done while doing the above.
This commit is contained in:
parent
ee28786400
commit
aa34839254
21 changed files with 53 additions and 59 deletions
|
@ -57,7 +57,8 @@ class LogStash::Inputs::EventLog < LogStash::Inputs::Base
|
||||||
timestamp = to_timestamp(event.TimeGenerated)
|
timestamp = to_timestamp(event.TimeGenerated)
|
||||||
|
|
||||||
e = LogStash::Event.new(
|
e = LogStash::Event.new(
|
||||||
"source" => "eventlog://#{@hostname}/#{@logfile}",
|
"host" => @hostname,
|
||||||
|
"path" => @logfile,
|
||||||
"type" => @type,
|
"type" => @type,
|
||||||
"@timestamp" => timestamp
|
"@timestamp" => timestamp
|
||||||
)
|
)
|
||||||
|
|
|
@ -34,6 +34,7 @@ class LogStash::Inputs::Exec < LogStash::Inputs::Base
|
||||||
|
|
||||||
public
|
public
|
||||||
def run(queue)
|
def run(queue)
|
||||||
|
hostname = Socket.gethostname
|
||||||
loop do
|
loop do
|
||||||
start = Time.now
|
start = Time.now
|
||||||
@logger.info("Running exec", :command => @command) if @debug
|
@logger.info("Running exec", :command => @command) if @debug
|
||||||
|
@ -41,7 +42,7 @@ class LogStash::Inputs::Exec < LogStash::Inputs::Base
|
||||||
# out.read will block until the process finishes.
|
# out.read will block until the process finishes.
|
||||||
@codec.decode(out.read) do |event|
|
@codec.decode(out.read) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = "exec://#{Socket.gethostname}"
|
event["host"] = hostname
|
||||||
event["command"] = @command
|
event["command"] = @command
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
|
|
|
@ -127,10 +127,11 @@ class LogStash::Inputs::File < LogStash::Inputs::Base
|
||||||
hostname = Socket.gethostname
|
hostname = Socket.gethostname
|
||||||
|
|
||||||
@tail.subscribe do |path, line|
|
@tail.subscribe do |path, line|
|
||||||
source = "file://#{hostname}/#{path.gsub("\\","/")}"
|
|
||||||
@logger.debug? && @logger.debug("Received line", :path => path, :line => line)
|
@logger.debug? && @logger.debug("Received line", :path => path, :line => line)
|
||||||
@codec.decode(line) do |event|
|
@codec.decode(line) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
|
event["host"] = hostname
|
||||||
|
event["path"] = path
|
||||||
event["source"] = source
|
event["source"] = source
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
|
|
|
@ -67,11 +67,10 @@ class LogStash::Inputs::Ganglia < LogStash::Inputs::Base
|
||||||
|
|
||||||
loop do
|
loop do
|
||||||
packet, client = @udp.recvfrom(9000)
|
packet, client = @udp.recvfrom(9000)
|
||||||
# Ruby uri sucks, so don't use it.
|
# TODO(sissel): make this a codec...
|
||||||
source = "ganglia://#{client[3]}/"
|
|
||||||
|
|
||||||
e = parse_packet(packet,source)
|
e = parse_packet(packet,source)
|
||||||
unless e.nil?
|
unless e.nil?
|
||||||
|
e["host"] = client[3] # the IP address
|
||||||
output_queue << e
|
output_queue << e
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -83,7 +83,7 @@ class LogStash::Inputs::Gelf < LogStash::Inputs::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
event = LogStash::Event.new(JSON.parse(data))
|
event = LogStash::Event.new(JSON.parse(data))
|
||||||
event["source"] = client[3]
|
event["host"] = client[3]
|
||||||
if event["timestamp"].is_a?(Numeric)
|
if event["timestamp"].is_a?(Numeric)
|
||||||
event["@timestamp"] = Time.at(event["timestamp"]).gmtime
|
event["@timestamp"] = Time.at(event["timestamp"]).gmtime
|
||||||
event.remove("timestamp")
|
event.remove("timestamp")
|
||||||
|
|
|
@ -56,7 +56,6 @@ class LogStash::Inputs::Generator < LogStash::Inputs::Threadable
|
||||||
|
|
||||||
def run(queue)
|
def run(queue)
|
||||||
number = 0
|
number = 0
|
||||||
source = "generator://#{@host}/"
|
|
||||||
|
|
||||||
if @message == "stdin"
|
if @message == "stdin"
|
||||||
@logger.info("Generator plugin reading a line from stdin")
|
@logger.info("Generator plugin reading a line from stdin")
|
||||||
|
@ -68,7 +67,7 @@ class LogStash::Inputs::Generator < LogStash::Inputs::Threadable
|
||||||
@lines.each do |line|
|
@lines.each do |line|
|
||||||
@codec.decode(line.clone) do |event|
|
@codec.decode(line.clone) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = source
|
event["host"] = @host
|
||||||
event["sequence"] = number
|
event["sequence"] = number
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
|
@ -78,7 +77,7 @@ class LogStash::Inputs::Generator < LogStash::Inputs::Threadable
|
||||||
|
|
||||||
if @codec.respond_to?(:flush)
|
if @codec.respond_to?(:flush)
|
||||||
@codec.flush do |event|
|
@codec.flush do |event|
|
||||||
event["source"] = source
|
event["host"] = @hos
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -38,11 +38,6 @@ class LogStash::Inputs::Irc < LogStash::Inputs::Base
|
||||||
# "#logstash".
|
# "#logstash".
|
||||||
config :channels, :validate => :array, :required => true
|
config :channels, :validate => :array, :required => true
|
||||||
|
|
||||||
|
|
||||||
def initialize(*args)
|
|
||||||
super(*args)
|
|
||||||
end # def initialize
|
|
||||||
|
|
||||||
public
|
public
|
||||||
def register
|
def register
|
||||||
require "cinch"
|
require "cinch"
|
||||||
|
|
|
@ -57,8 +57,8 @@ class LogStash::Inputs::Log4j < LogStash::Inputs::Base
|
||||||
log4j_obj = ois.readObject
|
log4j_obj = ois.readObject
|
||||||
event = LogStash::Event.new("message" => log4j_obj.getRenderedMessage,
|
event = LogStash::Event.new("message" => log4j_obj.getRenderedMessage,
|
||||||
"source" => event_source)
|
"source" => event_source)
|
||||||
event["source_host"] = socket.peer
|
event["host"] = socket.peer
|
||||||
event["source_path"] = log4j_obj.getLoggerName
|
event["path"] = log4j_obj.getLoggerName
|
||||||
event["priority"] = log4j_obj.getLevel.toString
|
event["priority"] = log4j_obj.getLevel.toString
|
||||||
event["logger_name"] = log4j_obj.getLoggerName
|
event["logger_name"] = log4j_obj.getLoggerName
|
||||||
event["thread"] = log4j_obj.getThreadName
|
event["thread"] = log4j_obj.getThreadName
|
||||||
|
|
|
@ -30,16 +30,17 @@ class LogStash::Inputs::Pipe < LogStash::Inputs::Base
|
||||||
|
|
||||||
public
|
public
|
||||||
def run(queue)
|
def run(queue)
|
||||||
@pipe = IO.popen(command, mode="r")
|
@pipe = IO.popen(@command, mode="r")
|
||||||
hostname = Socket.gethostname
|
hostname = Socket.gethostname
|
||||||
|
|
||||||
@pipe.each do |line|
|
@pipe.each do |line|
|
||||||
line = line.chomp
|
line = line.chomp
|
||||||
source = "pipe://#{hostname}/#{command}"
|
source = "pipe://#{hostname}/#{@command}"
|
||||||
@logger.debug? && @logger.debug("Received line", :command => command, :line => line)
|
@logger.debug? && @logger.debug("Received line", :command => @command, :line => line)
|
||||||
@codec.decode(line) do |event|
|
@codec.decode(line) do |event|
|
||||||
|
event["host"] = hostname
|
||||||
|
event["command"] = @command
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = source
|
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,12 +39,12 @@ class LogStash::Inputs::Relp < LogStash::Inputs::Base
|
||||||
end # def register
|
end # def register
|
||||||
|
|
||||||
private
|
private
|
||||||
def relp_stream(relpserver,socket,output_queue,event_source)
|
def relp_stream(relpserver,socket,output_queue,client_address)
|
||||||
loop do
|
loop do
|
||||||
frame = relpserver.syslog_read(socket)
|
frame = relpserver.syslog_read(socket)
|
||||||
@codec.decode(frame["message"]) do |event|
|
@codec.decode(frame["message"]) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = event_source
|
event["host"] = _addressevent_source
|
||||||
output_queue << event
|
output_queue << event
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ class LogStash::Inputs::Relp < LogStash::Inputs::Base
|
||||||
peer = socket.peer
|
peer = socket.peer
|
||||||
@logger.debug("Relp Connection to #{peer} created")
|
@logger.debug("Relp Connection to #{peer} created")
|
||||||
begin
|
begin
|
||||||
relp_stream(rs,socket, output_queue,"relp://#{peer}")
|
relp_stream(rs,socket, output_queue, peer)
|
||||||
rescue Relp::ConnectionClosed => e
|
rescue Relp::ConnectionClosed => e
|
||||||
@logger.debug("Relp Connection to #{peer} Closed")
|
@logger.debug("Relp Connection to #{peer} Closed")
|
||||||
rescue Relp::RelpError => e
|
rescue Relp::RelpError => e
|
||||||
|
|
|
@ -70,7 +70,7 @@ class LogStash::Inputs::Snmptrap < LogStash::Inputs::Base
|
||||||
|
|
||||||
@snmptrap.on_trap_default do |trap|
|
@snmptrap.on_trap_default do |trap|
|
||||||
begin
|
begin
|
||||||
event = LogStash::Event.new("message" => trap.inspect, "source" => trap.source_ip)
|
event = LogStash::Event.new("message" => trap.inspect, "host" => trap.source_ip)
|
||||||
trap.each_varbind do |vb|
|
trap.each_varbind do |vb|
|
||||||
event[vb.name.to_s] = vb.value.to_s
|
event[vb.name.to_s] = vb.value.to_s
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,7 +25,7 @@ class LogStash::Inputs::Stdin < LogStash::Inputs::Base
|
||||||
data = $stdin.sysread(16384)
|
data = $stdin.sysread(16384)
|
||||||
@codec.decode(data) do |event|
|
@codec.decode(data) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = @host
|
event["host"] = @host
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
rescue EOFError, LogStash::ShutdownSignal
|
rescue EOFError, LogStash::ShutdownSignal
|
||||||
|
|
|
@ -117,10 +117,9 @@ class LogStash::Inputs::Syslog < LogStash::Inputs::Base
|
||||||
loop do
|
loop do
|
||||||
payload, client = @udp.recvfrom(9000)
|
payload, client = @udp.recvfrom(9000)
|
||||||
# Ruby uri sucks, so don't use it.
|
# Ruby uri sucks, so don't use it.
|
||||||
source = "syslog://#{client[3]}/"
|
|
||||||
@codec.decode(payload) do |event|
|
@codec.decode(payload) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = client[3]
|
event["host"] = client[3]
|
||||||
syslog_relay(event)
|
syslog_relay(event)
|
||||||
output_queue << event
|
output_queue << event
|
||||||
end
|
end
|
||||||
|
@ -142,16 +141,10 @@ class LogStash::Inputs::Syslog < LogStash::Inputs::Base
|
||||||
ip, port = client.peeraddr[3], client.peeraddr[1]
|
ip, port = client.peeraddr[3], client.peeraddr[1]
|
||||||
@logger.info("new connection", :client => "#{ip}:#{port}")
|
@logger.info("new connection", :client => "#{ip}:#{port}")
|
||||||
LogStash::Util::set_thread_name("input|syslog|tcp|#{ip}:#{port}}")
|
LogStash::Util::set_thread_name("input|syslog|tcp|#{ip}:#{port}}")
|
||||||
if ip.include?(":") # ipv6
|
|
||||||
source = "syslog://[#{ip}]/"
|
|
||||||
else
|
|
||||||
source = "syslog://#{ip}/"
|
|
||||||
end
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
client.each do |line|
|
client.each do |line|
|
||||||
@codec.decode(line) do |event|
|
@codec.decode(line) do |event|
|
||||||
event["source"] = ip
|
event["host"] = ip
|
||||||
syslog_relay(event)
|
syslog_relay(event)
|
||||||
output_queue << event
|
output_queue << event
|
||||||
end
|
end
|
||||||
|
|
|
@ -96,7 +96,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
||||||
end # def register
|
end # def register
|
||||||
|
|
||||||
private
|
private
|
||||||
def handle_socket(socket, event_source, output_queue, codec)
|
def handle_socket(socket, client_address, output_queue, codec)
|
||||||
while true
|
while true
|
||||||
buf = nil
|
buf = nil
|
||||||
# NOTE(petef): the timeout only hits after the line is read
|
# NOTE(petef): the timeout only hits after the line is read
|
||||||
|
@ -111,7 +111,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
||||||
end
|
end
|
||||||
codec.decode(buf) do |event|
|
codec.decode(buf) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = event_source
|
event["host"] = client_address
|
||||||
event["sslsubject"] = socket.peer_cert.subject if @ssl_enable && @ssl_verify
|
event["sslsubject"] = socket.peer_cert.subject if @ssl_enable && @ssl_verify
|
||||||
output_queue << event
|
output_queue << event
|
||||||
end
|
end
|
||||||
|
@ -166,7 +166,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
||||||
@logger.debug("Accepted connection", :client => s.peer,
|
@logger.debug("Accepted connection", :client => s.peer,
|
||||||
:server => "#{@host}:#{@port}")
|
:server => "#{@host}:#{@port}")
|
||||||
begin
|
begin
|
||||||
handle_socket(s, "tcp://#{s.peer}/", output_queue, @codec.clone)
|
handle_socket(s, s.peer, output_queue, @codec.clone)
|
||||||
rescue Interrupted
|
rescue Interrupted
|
||||||
s.close rescue nil
|
s.close rescue nil
|
||||||
end
|
end
|
||||||
|
@ -213,7 +213,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
||||||
end
|
end
|
||||||
client_socket.instance_eval { class << self; include ::LogStash::Util::SocketPeer end }
|
client_socket.instance_eval { class << self; include ::LogStash::Util::SocketPeer end }
|
||||||
@logger.debug("Opened connection", :client => "#{client_socket.peer}")
|
@logger.debug("Opened connection", :client => "#{client_socket.peer}")
|
||||||
handle_socket(client_socket, "tcp://#{client_socket.peer}/server", output_queue)
|
handle_socket(client_socket, client_socket.peer, output_queue, @codec.clone)
|
||||||
end # loop
|
end # loop
|
||||||
ensure
|
ensure
|
||||||
client_socket.close
|
client_socket.close
|
||||||
|
|
|
@ -60,7 +60,7 @@ class LogStash::Inputs::Udp < LogStash::Inputs::Base
|
||||||
payload, client = @udp.recvfrom(@buffer_size)
|
payload, client = @udp.recvfrom(@buffer_size)
|
||||||
@codec.decode(payload) do |event|
|
@codec.decode(payload) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = "#{client[3]}:#{client[1]}"
|
event["host"] = client[3]
|
||||||
output_queue << event
|
output_queue << event
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
require "logstash/inputs/base"
|
require "logstash/inputs/base"
|
||||||
require "logstash/namespace"
|
require "logstash/namespace"
|
||||||
|
require "socket"
|
||||||
|
|
||||||
# Read events over a UNIX socket.
|
# Read events over a UNIX socket.
|
||||||
#
|
#
|
||||||
|
@ -64,8 +65,9 @@ class LogStash::Inputs::Unix < LogStash::Inputs::Base
|
||||||
end # def register
|
end # def register
|
||||||
|
|
||||||
private
|
private
|
||||||
def handle_socket(socket, output_queue, event_source)
|
def handle_socket(socket, output_queue)
|
||||||
begin
|
begin
|
||||||
|
hostname = Socket.gethostname
|
||||||
loop do
|
loop do
|
||||||
buf = nil
|
buf = nil
|
||||||
# NOTE(petef): the timeout only hits after the line is read
|
# NOTE(petef): the timeout only hits after the line is read
|
||||||
|
@ -80,7 +82,8 @@ class LogStash::Inputs::Unix < LogStash::Inputs::Base
|
||||||
end
|
end
|
||||||
@codec.decode(buf) do |event|
|
@codec.decode(buf) do |event|
|
||||||
decorate(event)
|
decorate(event)
|
||||||
event["source"] = event_source
|
event["host"] = hostname
|
||||||
|
event["path"] = @path
|
||||||
output_queue << e
|
output_queue << e
|
||||||
end
|
end
|
||||||
end # loop do
|
end # loop do
|
||||||
|
@ -119,7 +122,7 @@ class LogStash::Inputs::Unix < LogStash::Inputs::Base
|
||||||
@logger.debug("Accepted connection",
|
@logger.debug("Accepted connection",
|
||||||
:server => "#{@path}")
|
:server => "#{@path}")
|
||||||
begin
|
begin
|
||||||
handle_socket(s, output_queue, "unix://#{@path}/")
|
handle_socket(s, output_queue)
|
||||||
rescue Interrupted
|
rescue Interrupted
|
||||||
s.close rescue nil
|
s.close rescue nil
|
||||||
end
|
end
|
||||||
|
@ -142,8 +145,8 @@ class LogStash::Inputs::Unix < LogStash::Inputs::Base
|
||||||
loop do
|
loop do
|
||||||
client_socket = UNIXSocket.new(@path)
|
client_socket = UNIXSocket.new(@path)
|
||||||
client_socket.instance_eval { class << self; include ::LogStash::Util::SocketPeer end }
|
client_socket.instance_eval { class << self; include ::LogStash::Util::SocketPeer end }
|
||||||
@logger.debug("Opened connection", :client => "#{@path}")
|
@logger.debug("Opened connection", :client => @path)
|
||||||
handle_socket(client_socket, output_queue, "unix://#{@path}/server")
|
handle_socket(client_socket, output_queue)
|
||||||
end # loop
|
end # loop
|
||||||
end
|
end
|
||||||
end # def run
|
end # def run
|
||||||
|
|
|
@ -10,7 +10,6 @@ class LogStash::Inputs::Varnishlog < LogStash::Inputs::Threadable
|
||||||
public
|
public
|
||||||
def register
|
def register
|
||||||
require 'varnish'
|
require 'varnish'
|
||||||
@source = "varnishlog://#{Socket.gethostname}/"
|
|
||||||
@vd = Varnish::VSM.VSM_New
|
@vd = Varnish::VSM.VSM_New
|
||||||
Varnish::VSL.VSL_Setup(@vd)
|
Varnish::VSL.VSL_Setup(@vd)
|
||||||
Varnish::VSL.VSL_Open(@vd, 1)
|
Varnish::VSL.VSL_Open(@vd, 1)
|
||||||
|
@ -19,6 +18,7 @@ class LogStash::Inputs::Varnishlog < LogStash::Inputs::Threadable
|
||||||
|
|
||||||
def run(queue)
|
def run(queue)
|
||||||
@q = queue
|
@q = queue
|
||||||
|
@hostname = Socket.gethostname
|
||||||
Varnish::VSL.VSL_Dispatch(@vd, self.method(:cb).to_proc, FFI::MemoryPointer.new(:pointer))
|
Varnish::VSL.VSL_Dispatch(@vd, self.method(:cb).to_proc, FFI::MemoryPointer.new(:pointer))
|
||||||
end # def run
|
end # def run
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ class LogStash::Inputs::Varnishlog < LogStash::Inputs::Threadable
|
||||||
def cb(priv, tag, fd, len, spec, ptr, bitmap)
|
def cb(priv, tag, fd, len, spec, ptr, bitmap)
|
||||||
begin
|
begin
|
||||||
str = ptr.read_string(len)
|
str = ptr.read_string(len)
|
||||||
event = LogStash::Event.new("message" => str, "source" => @source)
|
event = LogStash::Event.new("message" => str, "host" => @host)
|
||||||
event["varnish_tag"] = tag
|
event["varnish_tag"] = tag
|
||||||
event["varnish_fd"] = fd
|
event["varnish_fd"] = fd
|
||||||
event["varnish_spec"] = spec
|
event["varnish_spec"] = spec
|
||||||
|
|
|
@ -32,7 +32,7 @@ class LogStash::Inputs::WMI < LogStash::Inputs::Base
|
||||||
def register
|
def register
|
||||||
|
|
||||||
@host = Socket.gethostname
|
@host = Socket.gethostname
|
||||||
@logger.info("Registering input wmi://#{@host}/#{@query}")
|
@logger.info("Registering wmi input", :query => @query)
|
||||||
|
|
||||||
if RUBY_PLATFORM == "java"
|
if RUBY_PLATFORM == "java"
|
||||||
# make use of the same fix used for the eventlog input
|
# make use of the same fix used for the eventlog input
|
||||||
|
@ -53,7 +53,8 @@ class LogStash::Inputs::WMI < LogStash::Inputs::Base
|
||||||
@wmi.ExecQuery(@query).each do |wmiobj|
|
@wmi.ExecQuery(@query).each do |wmiobj|
|
||||||
# create a single event for all properties in the collection
|
# create a single event for all properties in the collection
|
||||||
event = LogStash::Event.new
|
event = LogStash::Event.new
|
||||||
event["source"] = @host
|
event["host"] = @host
|
||||||
|
decorate(event)
|
||||||
wmiobj.Properties_.each do |prop|
|
wmiobj.Properties_.each do |prop|
|
||||||
event[prop.name] = prop.value
|
event[prop.name] = prop.value
|
||||||
end
|
end
|
||||||
|
|
|
@ -63,11 +63,11 @@ class LogStash::Inputs::Xmpp < LogStash::Inputs::Base
|
||||||
end # if @rooms
|
end # if @rooms
|
||||||
|
|
||||||
@client.add_message_callback do |msg| # handle direct/private messages
|
@client.add_message_callback do |msg| # handle direct/private messages
|
||||||
source = "xmpp://#{msg.from.node}@#{msg.from.domain}/#{msg.from.resource}"
|
|
||||||
|
|
||||||
# accept normal msgs (skip presence updates, etc)
|
# accept normal msgs (skip presence updates, etc)
|
||||||
if msg.body != nil
|
if msg.body != nil
|
||||||
@codec.decode(msg.body) do |event|
|
@codec.decode(msg.body) do |event|
|
||||||
|
# Maybe "from" should just be a hash:
|
||||||
|
# { "node" => ..., "domain" => ..., "resource" => ... }
|
||||||
event["from"] = "#{msg.from.node}@#{msg.from.domain}/#{msg.from.resource}"
|
event["from"] = "#{msg.from.node}@#{msg.from.domain}/#{msg.from.resource}"
|
||||||
queue << event
|
queue << event
|
||||||
end
|
end
|
||||||
|
|
|
@ -73,16 +73,16 @@ class LogStash::Inputs::Zenoss < LogStash::Inputs::RabbitMQ
|
||||||
next unless summary.occurrence.length > 0
|
next unless summary.occurrence.length > 0
|
||||||
|
|
||||||
occurrence = summary.occurrence[0]
|
occurrence = summary.occurrence[0]
|
||||||
timestamp = DateTime.strptime(occurrence.created_time.to_s, "%Q").to_s
|
#timestamp = DateTime.strptime(occurrence.created_time.to_s, "%Q").to_s
|
||||||
|
timestamp = Time.at(occurrence.created_time / 1000.0)
|
||||||
|
|
||||||
# LogStash event properties.
|
# LogStash event properties.
|
||||||
event = LogStash::Event.new({
|
event = LogStash::Event.new(
|
||||||
"@source" => @rabbitmq_url,
|
|
||||||
"@type" => @type,
|
|
||||||
"@timestamp" => timestamp,
|
"@timestamp" => timestamp,
|
||||||
"@source_host" => occurrence.actor.element_title,
|
"type" => @type,
|
||||||
"@message" => occurrence.message,
|
"host" => occurrence.actor.element_title,
|
||||||
})
|
"message" => occurrence.message,
|
||||||
|
)
|
||||||
|
|
||||||
# Direct mappings from summary.
|
# Direct mappings from summary.
|
||||||
%w{uuid}.each do |property|
|
%w{uuid}.each do |property|
|
||||||
|
|
|
@ -140,9 +140,9 @@ class LogStash::Inputs::ZeroMQ < LogStash::Inputs::Base
|
||||||
@logger.debug("ZMQ receiving", :event => m2)
|
@logger.debug("ZMQ receiving", :event => m2)
|
||||||
msg = m2
|
msg = m2
|
||||||
end
|
end
|
||||||
@sender ||= "zmq+#{@topology}://#{host}/#{@type}"
|
|
||||||
|
|
||||||
@codec.decode(msg) do |event|
|
@codec.decode(msg) do |event|
|
||||||
|
event["host"] = host
|
||||||
decorate(event)
|
decorate(event)
|
||||||
output_queue << event
|
output_queue << event
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue