如何使 rsyslogd 刷新其缓冲区

Posted

技术标签:

【中文标题】如何使 rsyslogd 刷新其缓冲区【英文标题】:How to make rsyslogd flush its buffers 【发布时间】:2016-06-08 00:43:42 【问题描述】:

我在 Linux 上运行 rsyslogd 5.8.6。网络上的其他系统将其用作记录器。事件发生率非常低,并且经常会收到远程消息,但直到几分钟后才写入 /var/log/syslog 文件。

我有一个应用程序正在监视文件并在行可用时对其进行处理,我需要更快地响应传入的消息。

我可以想到两种方法:要么将 rsyslogd 配置为具有零大小的缓存缓冲区,要么在刷新其缓冲区之前设置 0.5 的最大延迟,或者使用一些 shell 命令告诉 rsyslogd“立即刷新缓冲区”。我也找不到怎么做。

【问题讨论】:

【参考方案1】:

定时任务:

pkill -HUP rsyslogd

检查您的man rsyslogd

HUP 这让 rsyslogd 执行关闭所有打开的文件。

【讨论】:

以上是关于如何使 rsyslogd 刷新其缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

Django Channels:如何刷新发送缓冲区

当磁盘上的文件发生更改时,如何让 Emacs 自动刷新所有缓冲区?

使用 boost::serialization 时如何刷新文件缓冲区?

在 OpenGL 中,(如何)我可以在两个深度缓冲区之间进行深度测试?

如何使缓冲区在 spacemacs 中可写?

HLS 流 HTML5 视频 - 缓冲 X 时间后刷新