Rsyslog lognormalizer 日期字段解析失败
Posted
技术标签:
【中文标题】Rsyslog lognormalizer 日期字段解析失败【英文标题】:Rsyslog lognormalizer date field parse failure 【发布时间】: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 脚本不正确。有谁知道我做错了什么?我猜的日期字段配置不正确,我应该插入任何其他模块吗?我在网上找不到任何东西。谢谢
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Rsyslog lognormalizer 日期字段解析失败的主要内容,如果未能解决你的问题,请参考以下文章
Rsyslog日志收集服务并结合Loganalyzer工具展示