Hi all,
we are trying to process an event with Logstash that is generated by http_poller input. 
The event has the following structure:
{
	"data": [
		{
			"name": "key1",
			"value": "A"
		},
		{
			"name": "key2",
			"value": "B"
		},
		{
			"name": "key3",
			"value": "C"
		}
	]
}
 
We want to transform the event into:
{
	"key1": "A",
	"key2": "B",
	"key3": "C"
}
 
Is there a filter plugin that is able to perform this action? 
If there is not, do we have to write a custom plugin?
             
            
               
               
               
            
            
           
          
            
            
              Use a ruby filter. This  should get you started.
             
            
               
               
               
            
            
           
          
            
            
              Hi @Badger ,
thanks for you reply.
We applied the solution you pointed at and it worked like a charm!
Here it is the configuration of the Logstash pipeline:
input {
	...
}
filter {
	if [data] {
		ruby {
			code => '
			event.get("[data]").each { |dataElement|
				name = dataElement["name"]
				value = dataElement["value"]
				event.set( name, value)
			}
			'
		}		
	}
}
output {
	...
}
 
Thank you very much
Alessandro
             
            
               
               
              1 Like 
            
            
           
          
            
              
                system  
                (system)
                  Closed 
               
              
                  
                    June 29, 2020,  4:16pm
                   
                   
              4 
               
             
            
              This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.