# Ruby Filter Logstash

**URL:** https://discuss.elastic.co/t/ruby-filter-logstash/99291
**Category:** Logstash
**Created:** [September 4, 2017, 12:17pm UTC](https://discuss.elastic.co/t/ruby-filter-logstash/99291 "2017-09-04T12:17:42Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![prakash1243](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@prakash1243](https://discuss.elastic.co/u/prakash1243)
#### Post date: [September 4, 2017, 12:17pm UTC](https://discuss.elastic.co/t/ruby-filter-logstash/99291/1 "2017-09-04T12:17:42Z")

</div>

Hi -  
We are having the a field (xml.Terminal) in Elastic Search as:

{  
"Value": [  
{  
"DimSize": [  
"45"  
],  
"Value": [  
"WindGen---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [WindGenerator.vi](http://WindGenerator.vi)",  
"SWTCC Power Adder---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Math\Math\_Add.vi",  
"SWTCC 1 Precharge model---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - Converter [precharge.vi](http://precharge.vi)",  
"SWTCC 2 Precharge model---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - Converter [precharge.vi](http://precharge.vi)",  
"LMU---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [LMU.vi](http://LMU.vi)",  
"Converter cooling - CV1---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [Cooling.vi](http://Cooling.vi)",  
"Converter cooling - CV2---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [Cooling.vi](http://Cooling.vi)",  
"Grease---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [Grease.vi](http://Grease.vi)",  
"HydraulicAccPressure---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [HydraulicStation.vi](http://HydraulicStation.vi)",  
"HydraulicAccBreakPressure---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [HydraulicAccBreakPressure.vi](http://HydraulicAccBreakPressure.vi)",  
"PitchSysA---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [PitchBlade.vi](http://PitchBlade.vi)",  
"PitchSysB---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [PitchBlade.vi](http://PitchBlade.vi)",  
"PitchSysC---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [PitchBlade.vi](http://PitchBlade.vi)",  
"YawSys---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [YawSystem.vi](http://YawSystem.vi)",  
"PMG Breaker SWTCC 1---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - PMG [breaker.vi](http://breaker.vi)",  
"PMG Breaker SWTCC 2---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - PMG [breaker.vi](http://breaker.vi)",  
"Hub24VSupply---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [Hub24VSupply.vi](http://Hub24VSupply.vi)",  
"RPM---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [RPM.vi](http://RPM.vi)",  
"TLC---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [TLC.vi](http://TLC.vi)",  
"G Sensor---NoTag---C:\git\THS\_Modules\Source\ModulesSICS\GSensor\D8\_GSensorInterface.vi",  
"MTS Sensor---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\HWInterface\HubMTS\[MTSSensorInterface.vi](http://MTSSensorInterface.vi)",  
"FPGA SWTCC 2 Interface---git# THS209.x.x.x---C:\git\THS\_Modules\Source\ModulesSICS\SWTCC\[SWTCCInterface.vi](http://SWTCCInterface.vi)",  
"FPGA SWTCC 1 Interface---git# THS209.x.x.x---C:\git\THS\_Modules\Source\ModulesSICS\SWTCC\[SWTCCInterface.vi](http://SWTCCInterface.vi)",  
"3Phase\_GRID\_Gen---NoTag---C:\git\THS\_Modules\Source\ModulesSICS\Grid\D8\_Grid.vi",  
"Proportional Valves FB---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\HWInterface\HubMTS\[PropValveFBInterface.vi](http://PropValveFBInterface.vi)",  
"RotorModel---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [Rotor.vi](http://Rotor.vi)",  
"FT Sonic Sensor---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\HWInterface\SonicSensor\SonicSensor - [Main.vi](http://Main.vi)",  
"FT Sonic Sensor 2---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\HWInterface\SonicSensor\SonicSensor - [Main.vi](http://Main.vi)",  
"WindOffset---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\[WindOffset.vi](http://WindOffset.vi)",  
"SRSG---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [SRSG.vi](http://SRSG.vi)",  
"NacelleCooling---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [NacelleCooling.vi](http://NacelleCooling.vi)",  
"SineTemp---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Math\Math\_Sine.vi",  
"HubSafeValve AND---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Math\Math\_AND.vi",  
"GeneratorGreaseExraction---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [GeneratorGreaseExtraction.vi](http://GeneratorGreaseExtraction.vi)",  
"HeatElements---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [HeatElementsCurrent.vi](http://HeatElementsCurrent.vi)",  
"GeneratorHumidity---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [GeneratorHumidity.vi](http://GeneratorHumidity.vi)",  
"YawEncoder---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\HWInterface\SIMBAInterface\SIMBA - EncoderInterfaceNEWACLV7\_9 - [SimbaAPI.vi](http://SimbaAPI.vi)",  
"Fan Power Supply---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Math\Math\_1to1Bridge.vi",  
"PitchHydraulicBladeA---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [PitchBladeHydraulic.vi](http://PitchBladeHydraulic.vi)",  
"PitchHydraulicBladeB---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [PitchBladeHydraulic.vi](http://PitchBladeHydraulic.vi)",  
"PitchHydraulicBladeC---git# THS209.x.x.x---C:\git\THS\_Modules\Source\Modules\Simulation\Simulation - [PitchBladeHydraulic.vi](http://PitchBladeHydraulic.vi)"  
],  
"Name": [  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision",  
"ModuleRevision"  
]  
}  
],  
"Name": [  
"ModuleRevisions"  
]  
}

I would like to use Ruby Filter and iterate thru the elements; (event.get('[xml][Terminal][Value][0][Value]'))  
which will return an array of values, and would like to save it as a separate fields in the ES.

Could someone please help.

---

<div class="post-metadata">

### Author: ![prakash1243](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@prakash1243](https://discuss.elastic.co/u/prakash1243)
#### Post date: [September 4, 2017, 12:49pm UTC](https://discuss.elastic.co/t/ruby-filter-logstash/99291/2 "2017-09-04T12:49:57Z")

</div>

I have tried with the below filters, but it throws ruby exception. Could you please check.

filter {  
xml {  
source =\> "message"  
store\_xml =\> "true"  
target =\> "xml"  
}

ruby {  
code =\> "  
data = event.get('[xml][Terminal]')  
arr = data['Value'][0]['Value']  
arr.each\_with\_index { |index, val|  
event.set(index, val) }  
"

}  
}

---

<div class="post-metadata">

### Author: ![prakash1243](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@prakash1243](https://discuss.elastic.co/u/prakash1243)
#### Post date: [September 4, 2017, 2:12pm UTC](https://discuss.elastic.co/t/ruby-filter-logstash/99291/3 "2017-09-04T14:12:15Z")

</div>

@magnusbaeck - Could you please help me out here. Thanks !

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [October 2, 2017, 2:12pm UTC](https://discuss.elastic.co/t/ruby-filter-logstash/99291/4 "2017-10-02T14:12:27Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
