我正在尝试使用 rsyslog 通过 TLS 将所有 syslog 消息从我们的环境转发到外部 syslog 服务器(dest.syslog.example.com)。不幸的是,源 IP 已更改为中继主机 ( fwd.syslog.example.com ) 的源 IP。我希望它在遵守RSYSLOG_SyslogProtocol23Format
格式的同时发送原始源 IP 而不是中继主机的 IP。
与通过 TLS 转发 syslog 消息相关的当前 rsyslog 配置:
$DefaultNetstreamDriverCAFile /etc/pki/tls/private/ca.crt
# Run driver in TLS mode
$DefaultNetstreamDriver gtls
$ActionSendStreamDriverMode 1
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer dest.syslog.example.com
$LocalHostName fwd.syslog.example.com
# Forward logging
*.* @@(o)dest.syslog.example.com:6514;RSYSLOG_SyslogProtocol23Format
是否可以修改fromhost-ip
为原始源IP?
我不确定这是否足够,但内置模板
RSYSLOG_SyslogProtocol23Format
定义为你可以用
HOSTNAME
orfromhost
替换fromhost-ip
: