【问题标题】:rsyslog config to store only raw message ($msg) to a filersyslog 配置仅将原始消息 ($msg) 存储到文件中
【发布时间】:2016-08-29 15:45:07
【问题描述】:

如何仅将原始消息存储到文件中?
例如:
我通过 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 配置 来从输入中提取原始消息,没有 syslog 标头(突出显示如下):

5 月 4 日 13:18:47 xxxx apache 错误:[2016 年 5 月 4 日星期三 13:18:41.256596] [: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!

【问题讨论】:

    标签: linux logging syslog rsyslog


    【解决方案1】:

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

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

    此外,如果您希望所有日志文件都使用该模板,您可以将其添加到您的 rsyslog 配置文件中,这样您就不必专门将模板添加到您的日志文件行:

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

    【讨论】:

    【解决方案2】:

    建议使用: $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 事件的消息部分立即开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      相关资源
      最近更新 更多