Logstash — преобразование данных xml и загрузка в ES

Данные формата XML

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<details>
    <id>544538</id>
    <name>john</icUrl>
    <version>2.0.0-10</version>

    <OptionalValues>
        <metaData>
            <name>Severity</name>
            <value>Medium</value>
        </metaData>
        <metaData>
            <name>Prioriry</name>
            <value>5</value>
        </metaData>
     <OptionalValues>

    <issue>
        <summary>summary value</summary>
        <description>It is possible to misconfigure an EtherChannel and create a spanning-tree loop. This misconfiguration would potentially overwhelm the switch process. Cisco IOS System Software includes a feature called 'spanning-tree etherchannel guard misconfig' to prevent this issue.</description>
    </issue>
 </details>

используя logstash, мне нужно преобразовать вот так. идентификатор, имя, версия, серьезность, приоритет, сводка, описание .. как я могу преобразовать xml в вывод json. я попытался проанализировать поле идентификатора, прежде чем применять все поля.

input {  
    file {
        path => "C:/Users/Desktop/mydata.xml"
            start_position => "beginning"
            sincedb_path => "/dev/null"
    }
}

filter {
    xml {
        source => "message"
        force_array => false
        remove_namespaces =>true   
        store_xml => true
        target => "doc"
        xpath => [  

            "details/id", "myid"
            ]
    }
}

output 
{
    stdout{
        codec => line {     
            format => "%{[myid]}"
        }
    }
}

при выполнении я получаю пустое значение myid в консоли. Также скажите мне после форматирования в json, как я могу перенаправить в индекс es.


person Learn Hadoop    schedule 02.04.2018    source источник
comment
Любая мысль об этом @Val   -  person Learn Hadoop    schedule 03.04.2018


Ответы (1)


Основываясь на этом

https://www.w3schools.com/xml/xml_xpath.asp

мне кажется, что в вашем xpath отсутствует "/" в начале. Он не тестировался, поэтому гарантии нет.
А это показывает самую базовую конфигурацию для вывода es:

https://logz.io/blog/logstash-tutorial/

Если вам нужны более подробные параметры, я предлагаю страницу logstash с плагином вывода elasticsearch.

person MrSimple    schedule 03.04.2018