我有一个字符串作为输入:
XXXX NNN TIMESTAMPrnYYYY NNN TIMESTAMPrnZZZZ NNN TIMESTAMP
如何解析/过滤/将此输入转换为带有字段的单个事件
{
"XXXX" : NNN,
"YYYY" : NNN,
"ZZZZ" : NNN
}
对我来说,把它作为一个单一的事件很重要
尝试下面的代码,
filter {
mutate {
gsub => ["message", "TIMESTAMPrn", ""]
}
grok {
match => [ "message", "(?:XXXX %{WORD:XXXX}) (?:YYYYs%{WORD:YYYY})s(?:ZZZZ %{WORD:ZZZZ})" ]
}
}