【问题标题】:logstash 2.3.3 multiline filter not working with multiple workerslogstash 2.3.3 多行过滤器不适用于多个工作人员
【发布时间】:2016-06-23 18:38:15
【问题描述】:

我已经开始使用多个 16 岁以上的工人进行 logstash。

我有诸如 java 异常/java 跟踪之类的多行消息,并希望将它们合并到一个事件中。早些时候,它按预期工作,但在升级我的 ELK 堆栈后它就坏了:-(

我的logstash过滤器:

filter {
  multiline {

    pattern => "(^[a-zA-Z.]+(?:Error|Exception): .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)"
    what => "previous"
  }
}

logstash 日志:

:message=>"Warning: Manual override - there are filters that might not work with multiple worker threads", :worker_threads=>16, :filters=>["multiline"], :level=>:warn}
Exception in pipelineworker, the pipeline stopped processing new events, please check your filter configuration and restart Logstash.

【问题讨论】:

  • 嗨@MitterSinghThakur 如果答案已经解决了您的问题,请考虑接受它。这向更广泛的社区表明您已经找到了解决方案。但没有义务这样做。

标签: java logstash jruby elastic-stack


【解决方案1】:

如果您已从 Logstash 版本 1.5 升级,这是正常的。
在 2.0 版本中引入了工作线程,但由于多行过滤器不是线程安全的,它会阻止使用多个工作线程。

所以你必须要么:

  • 使用multiline codec
    比如加入java异常stacktrace:

    input {
      stdin {
        codec => multiline {
          pattern => "(^.+Exception: .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)"
          what => "previous"
        }
      }
    }
    
  • 在您的托运人上执行多行操作(beaver 和 filebeat 都可以进行配置)

  • 仅使用一个工作线程(在这种情况下,您可以使用多个 Logstash 实例来使用所有 CPU 内核,但请记住,多行过滤器最终将被移除)。

【讨论】:

  • 你可以看看这个以获取更多信息:elastic blog post, github issue
  • 感谢您的回复。我正在使用 logstash-forwarder 作为托运人,如果您可以在上面放一些精简版,那就太好了。如果您可以共享配置示例服务器和客户端,那就太好了。我需要使用logstash转发器将java异常以及其他日志从所有应用程序服务器发送到logstash服务器,示例日志:com.example.myproject.Book.getTitle(Book. java:16) 在 com.example.myproject.Author.getBookTitles(Author.java:25) 在 com.example.myproject.Bootstrap.main(Bootstrap.java:14)
  • 我不知道logstash-forwarder的配置。我已经更新了多行编解码器的答案,但您必须检查它是否按您的用例的预期工作。正则表达式来自here
  • 它工作正常,但不如预期。当有大量消息/日志时,由于某种原因,它会停止工作。现在,在一个盒子上,我已经运行了两个 logstash 实例。一方面,我配置了 16 个工作人员,另一方面,我只有 1 个工作人员(我在这里推送多行消息/日志)。我知道这不是永久的解决方案,但它对我有用:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-22
  • 1970-01-01
  • 2020-05-18
  • 1970-01-01
  • 2016-11-16
  • 2013-01-20
相关资源
最近更新 更多