我使用rsyslog将所有syslog文件和一些附加应用程序日志文件发送到远程syslog服务器,该服务器运行syslog-ng服务器,并使用splunk转发器发送到Splunk。(系统日志-ng),在日志事件中,它会向其添加时间戳和主机名。如何告诉rsyslog不要向任何日志事件添加时间戳和主机名?根据我的发现,在rsyslog. conf中有一个模板,我们可以在其中定义格式和其他有关日志事件的内容。我尝试过,但它不起作用。
在我rsyslog.conf中,我有模板条目,
$template noTimeStampFormat,"%syslogtag% %msg%\n"
$ActionFileDefaultTemplate noTimeStampFormat
我重新启动了系统日志服务,此更改不起作用。
有人能帮我解决这个问题吗?
目前事件看起来像
<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)
先谢了!
3条答案
按热度按时间iyfjxgzm1#
我有一个类似的情况,我记录到本地syslog,然后将所有local 0工具条目转发到Graylogsyslog输入。
这是一个/etc/rsyslog.d/60-灰色日志文件的示例
(That最后一行是“遗留”格式,实际上应该用“action”语法重写)
有关详细信息和模板属性,请访问https://www.rsyslog.com/doc/v8-stable/configuration/templates.html
bjg7j2ky2#
这对我来说是有效的。我们使用dynaFiles来处理基于主机名的文件。
我需要从已经用JSON格式化的事件的前缀中删除时间戳和主机名。
这些链接很有帮助:
https://serverfault.com/questions/1042248/rsyslog-8-dynafile-with-a-templatehttps://www.rsyslog.com/doc/v8-stable/configuration/templates.html
jucafojl3#
在linux命令行上:
cut -d$' ' -f 3-20 logfile.log >newfile.log
“cut”拆分为由“”(空格)界定的部分和输出部分3至20 ;)