Menu

目录

Rsyslog在IPv4和IPv6混合使用场景中日志传输延迟

问题现象

rsyslog客户端配置文件同时配置IPv4和IPv6地址,且端口配置相同的情况下,服务端收集log时会概率性出现日志打印延迟。

原因分析

延迟是因为rsyslog内部存在缓冲队列机制,默认情况下需要缓冲区队列达到一定数量才会写入文件。

解决方法

可通过配置Direct模式,关闭缓冲队列机制解决该问题。在rsyslog远程传输服务端的/etc/rsyslog.d目录下新增的远程传输配置文件中,最开头增加如下配置:

$ActionQueueType Direct
$MainMsgQueueType Direct

说明:
- Direct模式减少队列大小为1,所以在队列中会保留1条日志到下次日志打印;
- Direct模式会降低服务器端的rsyslog性能。