Я использую Logstash версии 6.7. Вот мой контент logstash.config:
input{
beats{
port => "5044"
}
}
filter {
if "logFromRemote" in [tags] {
xml {
source => "message"
store_xml => "false"
xpath => ["/LogEntry/ID/text()", "id"]
xpath => ["/LogEntry/Timestamp/text()", "timestamp"]
xpath => ["/LogEntry/LogLevel/text()", "logLevel"]
xpath => ["/LogEntry/Message/text()", "msg"]
xpath => ["/LogEntry/Exception/text()", "exception"]
}
}
}
output{
elasticsearch{
hosts => ["localhost:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
logstash успешно получает сообщения от моего файла, но он игнорирует мою конфигурацию. Синтаксический анализатор XML не работает, и все данные попадают в индекс filebeat- {date}, вместо этого в filebeat- {version} - {date}, как я описал в конфигурации.
Существует также файл "beats.config". Я попытался поставить там те же конфигурации, но безуспешно.