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