rsyslog.conf 配置检查问题

rsyslog.conf 配置检查问题

运行 rsyslogd -N 1,我收到两个抱怨:

rsyslogd:解析文件 /etc/rsyslog.conf 时出错,第 27 行或之前:参数“重新绑定间隔”未知-- 配置文件中的拼写错误? [v8.27.0 尝试 http://www.rsyslog.com/e/2207 ]

以及对最后一行的抱怨:

rsyslogd:在第 43 行或之前解析文件 /etc/rsyslog.conf 时出错:第 43 行周围的文件“/etc/rsyslog.conf”中出现警告 [v8.27.0 尝试 http://www.rsyslog.com/e /2207]

rsyslogd:在第 43 行或之前解析文件 /etc/rsyslog.conf 时出错:无效字符 '(' - 某处是否存在无效的转义序列? [v8.27.0 尝试 http://www.rsyslog.com/e/第2207章

rsyslogd:在第 43 行或之前解析文件 /etc/rsyslog.conf 时出错:第 43 行周围的文件“/etc/rsyslog.conf”中出现警告 [v8.27.0 尝试 http://www.rsyslog.com/e /2207]

rsyslogd:解析文件 /etc/rsyslog.conf 时出错,第 43 行或之前:无效字符“=” - 某处是否存在无效转义序列? [v8.27.0 尝试 http://www.rsyslog.com/e/2207 ]

rsyslogd:在第 43 行或之前解析文件 /etc/rsyslog.conf 时出错:无效字符 '"' - 某处是否存在无效的转义序列? [v8.27.0 尝试 http://www.rsyslog.com/e/第2207章

配置如下 Ubuntu 16.04 上的 rsyslog 8.28。

# /etc/rsyslog.conf Configuration file for rsyslog

module(load="imuxsock")

module(
    load="imklog"
    LogPath="/proc/kmsg"
    )

module(load="imudp")
input(
    type="imudp"
    port="514"
)

module(load="imtcp")
input(
    type="imtcp"
    port="514"
)

module(
    load="builtin:omfwd"
    # RebindInterval="5000" # ERROR shown by rsyslogd -N 1 : parameter 'RebindInterval' not known.
)

module(
    load="builtin:omfile"
    template="RSYSLOG_TraditionalFileFormat"
    fileOwner="syslog"
    fileGroup="syslog"
    fileCreateMode="0640"
    dirCreateMode="0755"
)

global(
    preserveFQDN="on"
    umask="0022"
)

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

答案1

模块有两种参数。有些参数仅用于对象module(),有些参数用于action()引用该模块的对象。回顾RebindInterval引用文档中的定义,你会发现它位于标题下动作参数, 并不是模块参数,所以你只能使用它

action(type="omfwd" RebindInterval=...)

另外,include()直到版本 8.33 才可用,因此请使用旧版

$IncludeConfig /etc/rsyslog.d/*.conf

答案2

我认为 RebindInterbal 是一个操作,不是模块加载的一部分 - 所以在 rsyslogd.conf 中,格式应该是:

module(load="builtin:omfwd")
action(type="omfwd" RebindInterval="5000")

相关内容