0

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 を使用して、このように変換する必要があります。id、name、version、severity、priority、summary、description .. xml を json 出力に変換するにはどうすればよいですか。すべてのフィールドを適用する前に、id フィールドを解析しようとしました。

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 インデックスにリダイレクトする方法を教えてください。

4

1 に答える 1