首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logstash grok模式将标记保留为空

logstash grok模式将标记保留为空
EN

Stack Overflow用户
提问于 2017-10-21 01:36:42
回答 1查看 359关注 0票数 1

当找不到相应的标记时,我尝试将其中一个模式保留为空。但不知何故,下一场比赛将被替换。

我有一个logline,如下所示

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

我在grok模式匹配下面尝试了一下。

代码语言:javascript
复制
^\[%{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。例如:

代码语言:javascript
复制
[2017-10-19 09:41:07,204: INFO/Worker-5] <TID:0b46030ee6f14055b41b796a4eebfef2><RID:01234567>POST some url to post

然后是grok模式,应该将message_headers留空。取而代之的是,TID坐在message_headers里。任何人都可以帮助如何实现此功能。

EN

回答 1

Stack Overflow用户

发布于 2017-10-21 02:32:25

我删除了可选表达式"?“在tid之后,它起作用了。谢谢

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46854455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档