这是字段
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 ...的价值并将其分别放入新字段?
谢谢
答案 0 :(得分:0)
如果您只想匹配eng
和rul
的值,则可以使用%{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