2017-10-20 152 views
0

我试图在未找到相应标签时将其中一个图案留为空白。但不知何故,下一场比赛正在取代。logstash grok pattern留下标签为空

我有一个的logline如下

[2017-10-19 09:41:07,204: INFO/Worker-5] <test id = '123:4567', name = 'example_testcase'><TID:0b46030ee6f14055b41b796a4eebfef2><RID:>POST some url to post 

我想这下面神交模式匹配

^\[%{TIMESTAMP_ISO8601:timestamp}%{DATA}%{LOGLEVEL:log_level}/%{DATA:work_id}\]%{SPACE}(?:<%{DATA:message_headers}>)?(<TID:%{DATA:tid}>)?(<RID:%{BASE10NUM:rid}>)?%{GREEDYDATA:log_message} 

沿作为message_headers发现这工作不错,如果没有找到它,然后邮件标题正在被TID取代。 例如:

[2017-10-19 09:41:07,204: INFO/Worker-5] <TID:0b46030ee6f14055b41b796a4eebfef2><RID:>POST some url to post 

那么神交模式,应该让message_headers为空白。相反,TID位于message_headers中。任何人都可以帮助如何实现这一功能。

回答

1

我删除了可选的表达式“?”经过tid和它的工作。谢谢