我刚开始登录存储,我在日志文件中有日志文件整个对象打印在日志中,因为我的对象很大,我不能将grok模式写入整个对象,而且我只期望两个值那些对象。你能告诉我们如何才能得到它?
我的日志文件如下所示
2015-06-10 13:02:57,903你完成的OBJ [name:test; loc:blr; country:india,acc:test@abe.com]
这只是一个例子,我的对象在int中有很多属性,在那些对象中我只需要获得名称和acc。
此致 莫汉。
答案 0 :(得分:0)
You can use the following pattern for the same
%{GREEDYDATA}\[name:%{WORD:name};%{GREEDYDATA},acc:%{NOTSPACE:account}\]
GREEDYDATA us defined as follows -
GREEDYDATA .*
The key lie in understanding greedydata macro. It eats up all possible characters as possible.
答案 1 :(得分:0)
Logstash模式不必与整行相匹配。您还可以在一个grok {}中关闭主要信息(日期,时间等),然后使用不同的grok {}来拉出您想要的两个字段。