elasticsearch 多行的Grok模式不起作用,elasticsearch,logstash,elastic-stack,logstash-grok,elasticsearch,Logstash,Elastic Stack,Logstash Grok" /> elasticsearch 多行的Grok模式不起作用,elasticsearch,logstash,elastic-stack,logstash-grok,elasticsearch,Logstash,Elastic Stack,Logstash Grok" />

elasticsearch 多行的Grok模式不起作用

elasticsearch 多行的Grok模式不起作用,elasticsearch,logstash,elastic-stack,logstash-grok,elasticsearch,Logstash,Elastic Stack,Logstash Grok,(?m)%{greedydydata}将匹配任何多行日志,包括您的日志。 请测试一下下面的一个适合我 codec => multiline { pattern => "^\s" negate => true what => previous } 你能添加你使用的Elasticsearch和Logstash版本吗?ELK版本是6.3,我试过这个版本,但不起作用。我认为换行可能是个问题。它可以工作,当您将日志复制/粘贴到grok debugger网站时,请确保模式后没有新行。我的日志中有(LF),当

(?m)%{greedydydata}
将匹配任何多行日志,包括您的日志。
请测试一下

下面的一个适合我

codec => multiline { pattern => "^\s" negate => true what => previous }
你能添加你使用的Elasticsearch和Logstash版本吗?ELK版本是6.3,我试过这个版本,但不起作用。我认为换行可能是个问题。它可以工作,当您将日志复制/粘贴到grok debugger网站时,请确保模式后没有新行。我的日志中有(LF),当最后一列数据超过限制时会出现。我的意思是,从模式中删除调试器网站中的LF,而不是从日志中删除。在调试器网站中,它工作正常,但当我在本地系统中运行logstash时,它会导致问题。即使使用这个(?。|\r |\n)*),它也可以在网站上运行,但不能在logstash 6.3.0v上运行 codec => multiline { pattern => "^\s" negate => true what => previous }
codec => multiline{
    pattern => "^\s*\d{1,}\|"
    negate => "true"
    what => "previous"
}