gpt4 book ai didi

regex - 如何在Logstash中使用多个工作线程处理多行?

转载 作者:行者123 更新时间:2023-12-03 13:00:07 25 4
gpt4 key购买 nike

我想使用多个工作线程使用logstash处理多行日志,以提高性能,但多行过滤器不起作用:
-https://github.com/elastic/logstash/pull/1591
-https://github.com/elastic/logstash/issues/1590

现在的解决方案:

  • 使用多个logstash-forwarder并将它们发送到不同的伐木 worker 端口(扩展性很差:每个具有多行日志文件的新logstash-forwarder)
  • 使用额外的logstash接收器和redis输出,以及额外的logstash索引器,该索引器从redis读取并使用一个工作线程
    (https://groups.google.com/forum/#!msg/logstash-users/fUhulxmZ0Ek/HfGev7BOhCUJ)
  • 作为
  • 的hack,我尝试在带伐木 worker 输出的logstash输出部件中放入可以包含多行的类型检查,然后将它们重新发送到具有编解码器多行的同一logstash实例的不同伐木 worker 输入(不同端口),但它不处理它们
  • 我也可以使用读取事件的rabbitMQ,但是在将多行发送到rabbitMQ之前,我应该合并多行(我应该怎么做?)
  • rsyslog也可以发送日志,但是它需要特殊格式的多行日志,并且不适用于regexp(https://serverfault.com/questions/622035/how-do-i-configure-rsyslog-to-deal-with-mysql-slow-query-log-multi-line-messages)

  • 显然,这些都不是一件好事,因此,有谁对此有一个不错的解决方案?

    最佳答案

    另一种选择是使用log-courier而不是logstash-forwarder。它先执行多行,然后再将其发送到logstash:

    https://github.com/driskell/log-courier/blob/master/docs/codecs/Multiline.md

    在logstash-forwarder中也要求支持此要求:

    https://github.com/elastic/logstash-forwarder/issues/309

    我很好奇,您是如何将多行日志发送到特定的单线程logstash并将其余的发送给其他日志日志的?

    关于regex - 如何在Logstash中使用多个工作线程处理多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29072517/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com