Logstash - 在对象' s字段包含的数组中查找

时间:2017-01-01 09:29:41

标签: logstash logstash-configuration

我有一个数组,其中包含一个带有键和值的对象。我想检查一下"键"场等于某事。

这有效 -

if "MyTest" in [doc][customInput][tags][0][key]             
mutate {  add_field  => {"[doc][test]" => "5555"}}              

但是我对[0]索引进行了硬编码,相关条目可能不是数组中的第一个。

我怎么写呢?

1 个答案:

答案 0 :(得分:0)

我最终为此目的使用了红宝石过滤器(没有它就找不到任何方法):

filter {
    ruby {
        code => "
                myArray = event['doc']['customInput']['tags']   
                if myArray && myArray.detect{|t| t['key'] == "MyTest"}      
                    event['doc']['test'] = tags_array.detect{|t| t['key'] == 'MyTest'}['value']
                end         
                "
         }
       }