0

次のように、配列に Json ログがあります。

e":[{"n":"3/0/1","st":"CONTENT","v":"Sensortag"},
    {"n":"3/0/3","st":"CONTENT","v":"Contiki-develop-20150508-409-g2147b9e"},
    {"n":"3/0/13","st":"CONTENT","v":"1970-01-09T21:02:18Z"},
    {"n":"3301/0/5700","st":"CONTENT","v":"376.64"},
    {"n":"3303/0/5700","st":"CONTENT","v":"22.843"},
    {"n":"3304/0/5700","st":"CONTENT","v":"63.53"},
    {"n":"3315/0/5700","st":"CONTENT","v":"1000.34"}]

配列から最初の 3 つの要素を削除し、フィルターを使用して最後の 4 つの要素を保持したいと思います。

私はこれを私のフィルターとして持っています:

filter {

   if ([type] == "testbed"){

           if [MessageParserJson][e[{}] in [MessageParserJson]{
                   mutate {
                           remove_field => ["[MessageparserJson][e[{0}]]" , "[MessageparserJson][e[{1}]]" , "[MessageParserJson][e[{2}]]"]
                           add_field => { "[MessageParserJson][e[{3}]]" => "MessageParser" }
                           add_field => { "[MessageParserJson][e[{4}]]" => "MessageParser" }

                           add_field => { "[MessageParserJson][e[{5}]]" => "MessageParser" }
                           add_field => { "[MessageParserJson][e[{6}]]" => "MessageParser" }
                            }
                           }

                   drop {
                           remove_field => ["MessageParserJson"]
                           }

 }
}

しかし、Logstash は自分自身をエラーに陥れます

4

1 に答える 1