在grok中的分隔符之前和之后的匹配模式

时间:2019-07-16 11:17:48

标签: logstash-grok grok

我有一个类似于“ ApplicationID#@ EVENTREFERENCE”的模式,我需要将其拆分为键-在定界符#@之前-并在#@之后赋值

我尝试通过grok调试器: (?[^#@] *),但是与#@

之前的值匹配
Expected results:
{
  "ApplicationID": [
    [
      "EVENTREFERENCE"
    ]
  ]
}

1 个答案:

答案 0 :(得分:0)

匹配数据后,可以在Grok过滤器的末尾使用common option "add_filter",以创建一个包含匹配数据的新字段。 它应该看起来像这样:

filter {
  grok {
    match => { "message" => "%{DATA:key}#\@%{GREEDYDATA:value}" }
    add_field => { "%{key}" => "%{value}" }
  }
}