我在 CentOS 8(CentOS Linux 版本 8.1.1911)上使用 rsyslog(8.37.0-13),并且我的配置出现类型错误。
我的配置是:
template(name="template1" type="string" string="/data/%HOSTNAME%-%FROMHOST-IP%.log")
ruleset(name="ruleset1"){
action(type="omfile" dynaFile="template1")
action(type="omfwd" protocol="tcp" target="10.10.10.1" port="2020")
}
input(type="imtcp" port="2020" ruleset="ruleset1")
错误是:
rsyslogd: error during parsing file /etc/rsyslog.d/conf1.conf, on or before line 6: parameter 'ruleset' not known -- typo in config file? [v8.37.0-13.el8 try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/conf1.conf, on or before line 6: parameter 'port' not known -- typo in config file? [v8.37.0-13.el8 try http://www.rsyslog.com/e/2207 ]
我不明白为什么我会犯这个错误。
我在 CentOS 7 上尝试使用 rsyslod 8(8.24.0-41),没有出现任何错误...
有人有什么想法可以解决这个问题吗?
谢谢
更新 :
现在我的 omfile 出现错误,rsyslog 不会创建新文件。
当我精确执行“module(load =“omfile”)”并执行“rsyslogd -N1”时,我:
rsyslogd: could not load module '/usr/lib64/rsyslog/builtint:omfile.so', dlopen: /usr/lib64/rsyslog/builtint:omfile.so: cannot open shared object file: No such file or directory [v8.37.0-13.el8 try http://www.rsyslog.com/e/2066 ]
有人有什么想法可以解决这个问题吗?
谢谢
答案1
也许您忘记加载 imtcp 模块?
$ModLoad imtcp
或较新的语法
module(load="imtcp" MaxSessions="500")