У меня есть сервер ELK для управления моими журналами. Обычно они отправляются автоматически. Все работает нормально. Но по какой-то причине иногда нам нужно отправить файл журнала.Logstash: отправлять журналы с помощью curl
Я пытаюсь сделать так:
curl -F "[email protected]<my_file_path>" http://<ELK_server_host>:5001
И это конф (часть, которая полезна здесь) на стороне сервера:
input {
...
tcp {
port => 5001
type => "curl"
codec => line { charset => "UFT-8" }
}
.....
}
filter {
.....
if "curl" == [type] {
multiline {
pattern => "^%{TIMESTAMP_ISO8601}"
negate => true
what => previous
}
grok {.....}
date {.....}
}
.....
}
output {
stdout { codec => rubydebug }
elasticsearch {
host => localhost
}
}
Эта работа действительно хорошая НО там это две небольшие трудности:
- Последняя (не пустая) строка файла игнорируется
- Команда Curl никогда не останавливается. Я должен убить Ctrl + C.
Возможно, эти две точки связаны, но что же такое решение? Может быть, многолинейный фильтр является проблемой?
Я должен был сказать, что хочу отправлять журналы из Windows (Client). Эта команда доступна в Linux, верно? – Guinoutortue
да, только в linux ... – abualy