Я новичок в стеке ELK и пытаюсь обработать приведенный ниже образец XML-файла с помощью 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>
Я использую приведенную ниже конфигурацию для обработки данных:
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 }
}
я включил подробный режим для Logstash, и ошибка не отображается, но вывод останавливается в нижней точке
Starting pipeline {:id=>"main", :pipeline_workers=>1, :batch_size=>125, :batch_delay=>5, :max_inflight=>125, :level=>:info}
Pipeline main started
Я убедился, что файл читается только один раз
Ценим любую помощь в этом