Docker系统日志驱动程序与logstash中的multithreading分析

我通过syslog驱动程序将我的docker日志转发到logstash。 这对于正常的日志行很有效,但是有多行的问题。 我遇到的问题是docker日志转发添加系统日志消息格式到每个日志行。 如果我使用logstashfilter多行(不build议使用logstash),我可以成功组合多行并删除附加行上的系统日志消息…但是,这不是线程安全的。 我无法通过Logstashbuild议的input编解码器来获取逻辑。

举个例子:

Docker命令:

docker run --rm -it \ --log-driver syslog \ --log-opt syslog-address=tcp://localhost:15008 \ helloWorld:latest 

logindocker集装箱

 Log message A <<ML>> Log message B more B1 more B2 more B3 Log message C 

logging收到logstash

 <30>Jul 13 16:04:36 [1290]: Log message A <30>Jul 13 16:04:37 [1290]: <<ML>> Log message B <30>Jul 13 16:04:38 [1290]: more B1 <30>Jul 13 16:04:39 [1290]: more B2 <30>Jul 13 16:04:40 [1290]: more B3 <30>Jul 13 16:04:41 [1290]:Log message C 

现在我可以得到一切parsing,因为我想要使用以下filter:

logstashfilter多行

 input { tcp { port => 15008 type => "multiline" } } filter { if ( [type] == "multiline") { grok { match => { "message" => [ "^<(?<ignore>\d*)>(?<syslogDateTime>[\S]*)\s\[(?<pid>\d*)\]:.(?<newMessage>[\s\S]*)" ]} } multiline { pattern => "^[\s\S]*\<\<[M][L]\>\>" negate => true what => "previous" source => "newMessage" stream_identity => "%{host}.%{pid}" } } 

这正是我想在我的logstash消息

产量

 message: Log message A message: <<ML>> Log message B more B1 more B2 more B3 message: Log message C 

然而,那运行几分钟…但是然后停止并且停止处理

试图通过logstashbuild议的编解码器多行来实现它

logstash编解码器多行

  input { tcp { port => 15008 type => "multiline" codec => multiline { pattern => "^[\s\S]*\<\<[M][L]\>\>" negate => true what => "previous" } } } filter { if ( [type] == "multiline") { grok { match => { "message" => [ "^<(?<ignore>\d*)>(?<syslogDateTime>[\S]*)\s\[(?<pid>\d*)\]:.(?<newMessage>[\s\S]*)" ]} } } 

它正确地结合了多线,但现在我将这些系统日志消息混合到我的多线消息中

产量

 message: Log message A message: <<ML>> Log message B <30>Jul 13 16:04:38 [1290]: more B1 <30>Jul 13 16:04:39 [1290]: more B2 <30>Jul 13 16:04:40 [1290]: more B3 message: Log message C 

任何帮助获得编解码器处理输出像filter将不胜感激。

谢谢,丹

好吧,我通过使用logstash编解码器多行添加另一个filtergrock匹配后得到这个工作

  mutate { gsub => [ "message", "<\d*>[\s\S]*?\[\d*\]:.", " " ] } 
Interesting Posts