在logstash中循环和迭代

时间:2017-03-29 13:25:13

标签: logstash

我在Logstash中有一个列表数据,它已被解析为:

"Attribute": [

"<Book><Name>N1</Name><Value>Clement</Value></Book>",

"<Book><Name>N2</Name><Value>Bundle Name</Value></Book>"

],

我想遍历该列表以在输出中生成以下数据:

"book1":{

"key": "N1",

"value":"Clement"

},

"book2":{

"key": "N2",

"value":"Bundle Name"
}

有可能吗? 谢谢你的帮助。我真的很感激。

1 个答案:

答案 0 :(得分:0)

这可以通过the split {} filter完成。

filter {
  split {
    field => "Attribute"
    target => "book_bundle"
    add_tags => [ "split_out" ]
  }
}

将获取源事件,将其克隆为N个新事件,其中N是Attribute数组的成员数。数组成员将被放入book_bundle字段,并添加了标记split_out,以便您可以告诉它已经在过滤器堆栈后面拆分。