syslog-ng尾文件缺少最后一行



我在许多日志上使用通配符文件源,其中一些日志移动很慢,这意味着我注意到日志文件的最后一行从未及时发送到目的地。有时在本地写入日志之间会间隔50分钟,并且在这段时间内,日志文件的最后一行永远不会发送到目的地。

目标是elasticsearch-http,我已经尝试将批处理超时()设置为2秒或目标块中的低值,并将follow-freq(1)添加到源配置中无效。

是否与最后一行没有换行符有关,因此syslog-ng在写入新行之前不会读取它?如果是这样,如何将最后一行刷新到目的地?

多谢

文件的最后一行必须以换行符结束,才能被认为是完整的。

如果您无法控制syslog-ng处理的日志格式,您可以尝试使用multi-line-mode()multi-line-timeout()作为解决方案,在一定超时后刷新最后一个不完整的行。

最新更新