【发布时间】:2019-04-23 08:29:32
【问题描述】:
我正在使用 rsyslog 将所有 syslog 文件和一些额外的应用程序日志文件发送到远程 syslog 服务器,该服务器正在运行 syslog-ng 服务器,并使用 splunk 转发器发送到 Splunk。我的问题是,当 rsyslog 将日志发送到远程 syslog 服务器(syslog-ng)时,在日志事件中它会添加时间戳和主机名。如何告诉 rsyslog 不要将时间戳和主机名添加到任何日志事件中? 根据我的发现,rsyslog.conf 中有一个模板。我们可以在其中定义有关日志事件的格式和其他内容。我试过了,但没有用。
在我的 rsyslog.conf 我有模板条目,
$template noTimeStampFormat,"%syslogtag% %msg%\n"
$ActionFileDefaultTemplate noTimeStampFormat
我重新启动了 syslog 服务,此更改不起作用。
有人可以帮我解决这个问题吗?
目前的事件看起来像
<timestamp> <hostname> <tag> sudo: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
理想的是,
<tag> sudo: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
提前致谢!
【问题讨论】:
-
ActionFileDefaultTemplate 是一个遗留命令。如果您将它与
action(...)等较新样式的 Rainer 脚本混合使用,则无效。此外,转发可能使用模板RSYSLOG_TraditionalForwardFormat。在您的规则中使用显式模板,例如对于旧版,它可能是*.* @@server;noTimeStampFormat
标签: linux syslog splunk rsyslog syslog-ng