rsyslog config仅将原始消息($ msg)存储到文件中

时间:2016-05-04 09:30:10

标签: linux logging syslog rsyslog

如何只将 原始邮件 存储到文件中?
例如: -
我通过 rsyslog

收到了一条消息

收到系统日志消息:

May  4 13:18:47 xxxx apache-error: [Wed May 04 13:18:41.256596 2016] [:error] [pid 54583] [client 192.168.30.200:52638] script '/var/www/aaa.php' not found or unable to stat

我需要 rsyslog config 从输入中提取原始消息,不带syslog标题(以下突出显示):

  

5月4日13:18:47 xxxx apache-error: [Wed May 04 13:18:41.256596 2016]   [:error] [pid 54583] [client 192.168.30.200:52638]脚本   ' /var/www/aaa.php'未找到或无法统计

预期输出:

[Wed May 04 13:18:41.256596 2016] [:error] [pid 54583] [client 192.168.30.200:52638] script '/var/www/aaa.php' not found or unable to stat

TNX!

2 个答案:

答案 0 :(得分:5)

您可以在rsyslog配置文件中添加自定义模板。所以在/etc/rsyslog.d中,找到配置相关日志文件的配置文件。如果您正在谈论系统日志,那么您可以添加自定义模板并将配置行更改为:

$template myFormat,"%msg%\n"
*.*         -/var/log/syslog; myFormat

此外,如果您希望将该模板用于所有日志文件,则可以将其添加到rsyslog配置文件中,因此您无需将模板专门添加到日志文件行中:

$template myFormat,"%msg%\n"
$ActionFileDefaultTemplate myFormat

答案 1 :(得分:0)

建议使用: $template myFormat,"%msg:2:2048%\n

引用:http://rsyslog-users.1305293.n2.nabble.com/rawmessage-forwarding-doesn-t-appear-to-work-td7482747.html

使用%msg:2:2048%syslog事件的消息部分立即开始。