Arrays Logstash将对象数组转换为术语数组
编辑->我为此创建了一个插件,可在以下位置获得:Arrays Logstash将对象数组转换为术语数组,arrays,logstash,Arrays,Logstash,编辑->我为此创建了一个插件,可在以下位置获得: 您可以使用bin/logstash插件安装logstash filter collect 我有一个日志存储条目,如: "cvals" => [ [0] { "text" => "cval something 1", "indices" => [ [0] 17,
bin/logstash插件安装logstash filter collect
我有一个日志存储条目,如:
"cvals" => [
[0] {
"text" => "cval something 1",
"indices" => [
[0] 17,
[1] 29
]
},
[1] {
"text" => "cval something else 2",
"indices" => [
[0] 17,
[1] 29
]
}
...
[n] {
"text" => "cval more stuff n",
"indices" => [
[0] 17,
[1] 29
]
}
]
我想将其变异为:
"cvals_terms" => [ "cval something 1", "cval something else 2", ..., "cval more stuff n"]
我该如何处理Logstash?我可以用一块Ruby代码来完成,但必须有一种方法可以用mutate或我认为的东西来完成…使用logstash oss v6.3.0,以下应该可以:
filter {
ruby {
code => "event.set('cvals_terms', event.get('cvals').map{ |n| n['text'] })"
}
}
缺点是您使用字符串进行编码,这从长远来看会影响可维护性。使用logstash oss v6.3.0,以下功能应该可以正常工作:
filter {
ruby {
code => "event.set('cvals_terms', event.get('cvals').map{ |n| n['text'] })"
}
}
缺点是您使用字符串进行编码,这将损害长期的可维护性。请参阅我的原始帖子中的插件,现在不需要自定义代码。这一行代码是为寻求轻量级解决方案的人提供的另一种方法。不过插件做得很好!要将Ruby代码移出Logstash管道,请参见:参见我的原始帖子中的插件,现在不需要定制代码。这一行代码是为寻求轻量级解决方案的人提供的一种替代方法。不过插件做得很好!有关将Ruby代码移出Logstash管道的信息,请参见: