我有这些日志,我试图从grok每行提取多个信息。但似乎有些比赛没有考虑到,尽管他们对我来说似乎很好。Logstash grok多个匹配失败
这里有一个样本行:
"#wtb# GetSP ok. Referer:http://test.redacted.com/path?query=string. Wtb:535e2554bdfdf33a22f564d0. Name:Client. Eans:3017565410073."
而且继承人conf文件的相关部分:
grok{
break_on_match => false
match => [
"msg", "Referer:%{URI:referer}\.",
"msg", "Wtb:%{WORD:wtb}",
"msg", "Name:(?<name>[^\.]+)",
"msg", "Eans:(?<eans>[\d,]+)",
"referer", "https?://%{HOSTNAME:host}"
]
tag_on_failure => []
}
我使用的是多场比赛,因为每条线都可以的任意组合样品中给出的各种参数。
在Kibana中,事件添加了referer
和host
字段,但所有其他字段都已丢失(wtb
,name
,eans
)。我不知道为什么。自从添加最后一个模式后,它在成功匹配后不会停止。任何人都可以发现我错过的东西吗?
[grok refence页面上的语法](https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#plugins-filters-grok-match)适合我与多个比赛。 – Matthias