运行 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章
- 这很奇怪,因为 rebindInterval 应该是已知的:https://www.rsyslog.com/doc/v8-stable/configuration/modules/omfwd.html#rebindinterval
- 最后一行也很直接,如文档中所示:https://www.rsyslog.com/doc/v8-stable/rainerscript/include.html#include-multiple-files
配置如下 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")