如何在logstash中的一个字段中多次匹配



这是字段

device_version => 2.6.1.1280 [eng:v1.3.26.0 rul:v2018.07.12.09 act:v2018.01.20.01 sws:v2018.07.12.09]

我怎样才能得到eng,并且rul。。。价值并将它们单独放到一个新的领域?

感谢

如果您只想匹配engrul值,您可以使用%{DATA}、简单地匹配它们

eng:%{DATA:eng}srul:%{DATA:rul}s

这将输出

{
"eng": [
[
"v1.3.26.0"
]
],
"rul": [
[
"v2018.07.12.09"
]
]
}

你可以在https://grokdebug.herokuapp.com/

编辑:

filter {
grok {
match => { "device_version" => "eng:%{DATA:eng}srul:%{DATA:rul}s" }
}
}

您还应该查看可用的默认grok模式,https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns

相关内容

  • 没有找到相关文章

最新更新