Logstash mutate add all fields from json Logstash mutate add all fields from json elasticsearch elasticsearch

Logstash mutate add all fields from json


You can use the ruby filter:

filter {    ruby {        code => "            event['new_val'].each {|k, v|                event[k] = v            }            event.remove('new_val')        "    }}

Tested with Logstash 2.2, it should be different for version 5+.


This works after they changed class Logstash::Event to API:https://www.elastic.co/guide/en/logstash/current/event-api.html

filter {  ruby {    code => "      event.get('new_val').each {|k, v|        event.set(k,v)      }      event.remove('new_val')    "  }}