【问题标题】:Rsyslog lognormalizer date field parse failureRsyslog lognormalizer 日期字段解析失败
【发布时间】:2017-09-18 09:50:15
【问题描述】:

我正在尝试使用 lognorm/lognormalizer 来测试我的 .rb 文件以与 rsyslog mmnormalize 模块一起使用。我的日志文件如下所示:

2017-08-19T17:00:12.52Z,john,26,engineer
2017-08-19T17:00:12.59Z,susan,28,doctor

我的rb文件如下:

version=2
rule=:%date:date-rfc3164%,%name:word%,%age:number%,%job:word%

运行 lognormalizer 时:

head -2 /home/debian/olas/test.log | /usr/lib/x86_64-linux-gnu/lognorm/lognormalizer -r /home/debian/olas/rule.rb -e json

我明白了:

{ "originalmsg": "2017-08-19T17:00:12.52Z,john,26,engineer", "unparsed-data": "2017-08-19T17:00:12.52Z,john,26,engineer" }
{ "originalmsg": "2017-08-19T17:00:13.56Z,susan,28,doctor", "unparsed-data": "2017-08-19T17:00:13.56Z,susan,28,doctor" }

这意味着 rb 脚本不正确。有谁知道我做错了什么?我猜的日期字段配置不正确,我应该插入任何其他模块吗?我在网上找不到任何东西。谢谢

【问题讨论】:

    标签: syslog rsyslog syslog-ng


    【解决方案1】:

    你可以使用这条规则:

    version=2
    
    rule=:%date:char-to{"extradata":","}%,%name:char-to{"extradata":","}%,%age:number{"format":"number"}%,%job:rest%
    

    使用Lognormalizer(漂亮打印)产生以下输出:

    {
        "job": "engineer",
        "age": 26,
        "name": "john",
        "date": "2017-08-19T17:00:12.52Z"
    },
    {
        "job": "doctor",
        "age": 28,
        "name": "susan",
        "date": "2017-08-19T17:00:12.59Z"
    }
    

    测试命令:

    lognormalizer -P -H -r my.rule < mylog.log 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 2013-10-03
      • 2015-12-16
      • 1970-01-01
      • 2020-03-15
      相关资源
      最近更新 更多