rsyslog 写入管道的行为

rsyslog 写入管道的行为

我配置了rsyslog一个附加条目,如下所示:

*.* |/var/log/logpipes/pipe1

并对收到的消息有我自己的评估程序。到目前为止,这是有效的,但我不确定,rsyslog如果我的管道阅读器崩溃,会如何表现。

这也会阻止所有其他日志记录活动吗?我也有日志文件并计划使用rsyslog-pgsql,但我看不到是否rsyslog适用于多个线程,因此,如果其中一个挂起[管道读取器挂起],这些其他日志记录线程是否会继续。

答案1

它不会挂起;我玩过 rsyslog 和管道。我还没有查看源代码或任何内容,但我认为它会非阻塞地轮询管道,因此如果它们没有准备好写入,它只会排队或丢弃数据。

正如 Stephane 指出的那样,这种行为很容易测试。创建管道,配置 rsyslog 来处理可以通过命令发送的一些输出logger,重新启动 rsyslog,然后记录内容并使用cat.

相关内容