2016-09-14 56 views
0

我通过Kafka管道获取logstash的输入,该工作正常。在流最相关的数据是按以下格式使用logstash过滤器转换json输入

{data: [ 
    { 
     name: 'fieldname1', 
     value: 'value1' 
    }, 
    { 
     name: 'fieldname2', 
     value: 'value2' 
    }, 
    .. 
]} 

对于Kibana使用,我需要变换到

{data: { 
    'fieldname1': 'value1', 
    'fieldname2': 'value2' 
}} 

是否有这样做的一个简单的方法,除了红宝石滤波插入?

+1

它可能适用于kv过滤器,但它会非常复杂,所以我没有看到任何简单的方法。 – baudsp

回答

1

Baudsp是对的。除非您的数据数组具有固定大小,否则无法这样做,因为logstash不具备迭代功能。或者,你可以编写自己的转换插件,可以做到这一点,但这可能是矫枉过正的(并且本质上也只是ruby代码)。