Hi,
Using logstash with a tcp input and the fluent coded, with fluentd configured to send log messages to it, actually doesn't work. It looks like the fluent message format might have been changed at some point.
This is testing with fluentd 0.12
If I modify fluent.rb decode method to look something like
def decode(data)
@decoder.feed_each(data) do |obj|
tag = obj[0].to_s
puts(obj[1].class)
entries = obj[1]
if entries.class == String
puts('PackedForward')
entry_decoder = MessagePack::Unpacker.new
entry_decoder.feed_each(entries) do |entry|
puts(entry)
event = LogStash::Event.new(entry[1].merge(
"@timestamp" => Time.at(entry[0]),
"tags" => tag
))
yield event
end
elsif entries.class == Array
puts('Forward')
entries do |entry|
puts(entry)
event = LogStash::Event.new(entry[1].merge(
"@timestamp" => Time.at(entry[0]),
"tags" => tag
))
yield event
end
else
puts('Message')
end
end
end # def decode
Then logastash does work correctly again
Hi,
Using logstash with a tcp input and the fluent coded, with fluentd configured to send log messages to it, actually doesn't work. It looks like the fluent message format might have been changed at some point.
This is testing with fluentd 0.12
If I modify fluent.rb decode method to look something like
Then logastash does work correctly again