Logstash是否对每个事件消息都有限制大小?

Logstash是否对每个事件消息都有限制大小?,logstash,Logstash,我正在我公司服务的服务器上实现一个监视工具。为此,我使用logstash。我们的应用程序通过log4net udp追加器将日志发送到logstash(输入udp),然后logstash对日志进行填充,并将其发送到elasticsearch。当我在kibana中显示日志时,我看到一些日志被截断,最后一个主要部分丢失(对于大日志)。所以我的问题是,Logstash是否对接收到的每个消息事件都有大小限制。如果是,是否可以增加尺寸。我需要所有日志,但没有一个被截断。我已经用Logstash 1.4.0和

我正在我公司服务的服务器上实现一个监视工具。为此,我使用logstash。我们的应用程序通过log4net udp追加器将日志发送到logstash(输入udp),然后logstash对日志进行填充,并将其发送到elasticsearch。当我在kibana中显示日志时,我看到一些日志被截断,最后一个主要部分丢失(对于大日志)。所以我的问题是,Logstash是否对接收到的每个消息事件都有大小限制。如果是,是否可以增加尺寸。我需要所有日志,但没有一个被截断。

我已经用Logstash 1.4.0和Logstash 1.3.3对其进行了测试。 我发现
事件的最大大小是4095


因此,如果日志的大小大于此大小,则可能必须在将日志发送到logstash时将其拆分为多个事件

对于udp案例,我认为我已经找到了解决方案: -增加udp.rb文件中的buffer_size参数

我现在无法测试它,但我会告诉您它是否有效。

Logstash的属性缓冲区大小默认设置为8192。这就是为什么通过UDP发送到Logstash的消息在第8192个符号处被截断的原因

尝试在日志存储中增加UDP缓冲区大小

参考资料

  • (可能已过时,请检查文档版本)

  • 2021年的更新:

    最大大小由UDP输入中的
    buffer\u size
    参数设置

    默认缓冲区大小为:

    • 日志存储上的65536字节>=5.1
    • 日志存储上的8192字节>=2.0
    • 旧版本上的4096字节

    UDP数据报的长度限制为65535字节,报头长度为16位。

    好的,谢谢您的回答。但我有一些基本问题:4095的单位是多少?如何计算我的消息的大小以知道它是否达到4095(单位)?我认为它可能是40964KB。我尝试输入超过4096个字符,然后消息只输出4095个字符。也许最后一个字节是“\n”好的,在我的例子中,字符数小于8551的所有消息都完整显示。对于其他消息,消息在第8551个字符处被截断。您能告诉我您是如何/在哪里找到这些信息的吗?您可以在配置处指定。无需修改udp.rb。请在设置输入筛选器中的缓冲区大小时检查缓冲区大小在Logstash v5.2中不起作用。