yes its work. But i need something more.
Because I've more one field to split.
my XML config is:
xml {
source => "message"
remove_namespaces => true
store_xml => false
target => "alarmas"
xpath => [
"//severity/text()", "severity",
"//alarmName/text()", "alarmName"
]
}
So i've need diferent doc with all fields:
my input xml is:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header>
<header xmlns="xmlapi_1.0">
<requestID>samostats@954345</requestID>
<requestTime>Apr 17, 2019 11:08:19 AM</requestTime>
<responseTime>Apr 17, 2019 11:08:19 AM</responseTime>
</header>
</SOAP:Header>
<SOAP:Body>
<findResponse xmlns="xmlapi_1.0">
<result>
<fm.AlarmObject>
<severity>info</severity>
<probableCause>260</probableCause>
<alarmName>363</alarmName>
<type>38</type>
<lastTimeDetected>1555352020018</lastTimeDetected>
<nodeName>LSTORRELODJA0</nodeName>
<alarmClassTag>radiusaccounting.RadiusAcctPlcyFailure</alarmClassTag>
<children-Set></children-Set>
</fm.AlarmObject>
<fm.AlarmObject>
<severity>info</severity>
<probableCause>89</probableCause>
<alarmName>8152</alarmName>
<type>4</type>
<lastTimeDetected>1549357659055</lastTimeDetected>
<nodeName>LSCANDELARGEN2</nodeName>
<alarmClassTag>netw.FileTransferFailure</alarmClassTag>
<children-Set></children-Set>
</fm.AlarmObject>
<fm.AlarmObject>
<severity>info</severity>
<probableCause>400</probableCause>
<alarmName>528</alarmName>
<type>45</type>
<lastTimeDetected>1543426495541</lastTimeDetected>
<nodeName>lssamma4</nodeName>
<alarmClassTag>schedule.scheduledTaskCompletionStatus</alarmClassTag>
<children-Set></children-Set>
</fm.AlarmObject>
</result>
</findResponse>
</SOAP:Body>
</SOAP:Envelope>
I want a doc per each <fm.AlarmObject>
so i expect
{
"@version" => "1",
"@timestamp" => 2019-04-15T13:14:05.431Z,
"severity"=>"info"
"alarmName" =>"363"
.......
},
{
"@version" => "1",
"@timestamp" => 2019-04-15T13:14:05.431Z,
"severity"=>"info"
"alarmName" =>"8152"
.......
},
{
"@version" => "1",
"@timestamp" => 2019-04-15T13:14:05.431Z,
"severity"=>"info"
"alarmName" =>"528"
.......
}
but if I use:
split { field => "severity" }
split { field => "alarmName" }
my output is:
{
logstash_testdiego | "alarmName" => "363",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "8152",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "528",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "363",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "8152",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "528",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "363",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "8152",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
logstash_testdiego | {
logstash_testdiego | "alarmName" => "528",
logstash_testdiego | "@timestamp" => 2019-04-17T10:41:36.451Z,
logstash_testdiego | "path" => "/usr/share/logstash/datos/gestores/file.xml",
logstash_testdiego | "severity" => "info",
logstash_testdiego | "@version" => "1"
logstash_testdiego | }
I expect only 3 docs but i've received a combination per each field with the other. And i cant create a array with split 