Logstash-如何用逗号分割数组?

时间:2019-03-26 12:05:28

标签: logstash kibana logstash-grok

我的信息如下

[Metric][methodName: someName][methodParams: [ClassName{field1="val1", field2="val2", field3="val3"}, ClassName{field1="val1", field2="val2", field3="val3"}, ClassName{field1="val1", field2="val2", field3="val3"}]]
  1. 有没有办法将此日志分成更小的日志并分别过滤?

  2. 如果第一个选项不可行,如何解析以获取数组的所有元素?

    (?<nameOfClass>[A-Za-z]+)\{field1='%{DATA:textfield1}',\sfield2='%{DATA:textfield2}',\sfield3='%{DATA:textfield3}'\}

1 个答案:

答案 0 :(得分:0)

由于methodParams:之后的所有内容都是JSON,因此您可以使用JSON过滤器进行解析。像这样:

filter{
  # Parse your JSON out here using GROK to a field called myjson
  grok {
    match => {
      "message" => "methodParams: %{GREEDYDATA:myjson}"
    }
  }
  #
  json{
    source => "myjson"
  }
}