rsyslog 将日志条目放入包含的文件中

rsyslog 将日志条目放入包含的文件中

我的 rsyslog.conf 文件中有一个包含指令,而 rsyslog 正在向其中附加数据!我不知道为什么。

我在 RHEL7.7 上运行 rsyslog 8.24:rsyslog-8.24.0-38.el7.x86_64,内核 3.10.0-1062.el7.x86_64

这些是我的 rsyslog.conf 中仅有的几行:

module(load="imuxsock"
       SysSock.name="/run/systemd/journal/syslog")
module(load="imklog")
include(
    file=/etc/rsyslog.d/listen.conf
)

listen.conf 文件仅包含注释:

#Here is a comment
#and another

一旦我启动 rsyslogd,日志数据就会被转储到该文件中!如果我更改名称,就会创建一个同名的文件。

数据被放入其中,而不是我的/var/log/messages文件中。如果我将包含的内容更改为:

include(
    file="/etc/rsyslog.d/listen.conf"
)

listen.conf"rsyslog 将在 /etc/rsyslog.d 目录中创建一个名为的文件。如果我这样做:

include(
    file="/etc/rsyslog.d/*.conf"
)

然后我会得到一个名为的文件*.conf"

我完全糊涂了。这个include指令没有包含任何内容。我遗漏了什么?

答案1

包括()对象仅从版本 8.33 开始实现,因此该file=行可能被解释为某种筛选选择器,并输出到文件。您应该坚持使用$IncludeConfig您的版本。

始终通过运行来检查语法错误消息rsyslogd -N 1,如果没有显示错误但是仍然有问题,则可以使用-d(添加-n到前台运行)进行非常详细的调试。

相关内容