Ich bin anewbie auf den ELK-Stack und ich versuche, die unten stehende Beispiel-XML-Datei mit Logstash zu verarbeitenParsen von XML mit Logstash
<Book:Body>
<Book:Head>
<bookname>Book:Name</bookname>
<ns:Hello xmlns:ns="www.example.com">
<ns:BookDetails>
<ns:ID>123456</ns:ID>
<ns:Name>ABC</ns:Name>
</ns:BookDetails>
</ns:Hello xmlns:ns="www.example.com">
</Book:Head>
</Book:Body>
ich die unten conf bin mit dem Datum zu verarbeiten:
input{
file{
path =>"/opt/data/book3.xml"
codec => multiline {
pattern =>"<Book:Body>"
negate => "true"
what => "previous"}
}
}
filter {
xml {
store_xml => "false"
source => "message"
remove_namespaces => "true"
xpath => [
"/Body/Head/Hello/BookDetails/ID/text()", "ID",
"/Body/Head/Hello/BookDetails/Name/text()", "Name"
]
}
mutate {
add_field => ["IDIndexed", "%{ID}"]
add_field => ["NameIndexed", "%{Name}"]
}
}
output{
elasticsearch {hosts=>"localhost"}
stdout { codec => rubydebug }
}
ich habe ausführlichen Modus für Logstash aktiviert und es gibt keine Fehlermeldung angezeigt wird, aber der Ausgang hält an unter Punkt
Starting pipeline {:id=>"main", :pipeline_workers=>1, :batch_size=>125, :batch_delay=>5, :max_inflight=>125, :level=>:info}
Pipeline main started
Ich habe dafür gesorgt, dass die Datei nur einmal
auf dieser und XML
Überprüfen Sie Ihren XPath. Es ist ohne Namespace –