转换为 rsyslog v7 新配置格式

转换为 rsyslog v7 新配置格式

我正在尝试设置一个 rsyslog 客户端(运行 rsyslog 7.4.8),它将通过两个不同的 SSL 配置记录到两个远程服务器。为此,我似乎需要从旧配置文件格式迁移到新的基于操作的格式。

如果我在 /etc/rsyslog.conf 中有以下内容,则一切正常。远程服务器接收消息,netstat 显示从客户端到远程服务器已建立 TCP 连接:

$ModLoad imuxsock.so
$ModLoad imklog.so

$DefaultNetstreamDriver gtls
$ActionSendStreamDriverAuthMode anon
$ActionSendStreamDriverMode 1

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem

*.* @@10.50.59.241:6514

根据我从 rsyslog 文档中收集到的信息,我应该能够执行以下操作:

$ModLoad imuxsock.so
$ModLoad imklog.so

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem
$DefaultNetstreamDriverCertFile /etc/pki/rsyslog/local-cert.pem
$DefaultNetstreamDriverKeyFile /etc/pki/rsyslog/local-key.pem

*.* action (type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")

但是第二个配置不起作用。rsyslogd 成功重启,所以我知道这个配置没有语法错误。但是 netstat 从未显示任何尝试连接到远程 syslog 服务器的迹象。我遗漏了什么?

答案1

经过一番思考,我终于自己解决了这个问题。首先,rsyslog 的某些版本中有一个错误,会阻止此功能工作(您永远不会看到与一个或多个目标服务器建立的连接),因此请确保您使用的是 rsyslog 7.6 或更高版本。

确保您的 CA 文件包含其中列出的所有目标所需的 CA。顺序并不重要。然后您的 conf 文件应如下所示:

$DefaultNetstreamDriverCAFile /etc/pki/rsyslog/ca.pem

*.* action(type="omfwd" protocol="tcp" Target="10.50.59.241" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="anon")

*.* action(type="omfwd" Protocol="tcp" Target="some.other.host.com" Port="6514" StreamDriverMode="1" StreamDriver="gtls" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.some.other.host.com")

相关内容