Запустите logstash по требованию
Можно ли запускать logstash по требованию вместо потоковых файлов? У меня есть набор файлов, помещенных в папку, но я бы хотел выдвинуть только несколько из них по необходимости в эластичный поиск.
Это возможно даже с logstash? У меня есть возможность сделать это программно без использования logstash. Но учитывая размер файла сегодня (~10 ГБ) и ожидаемый рост в будущем, я хотел бы посмотреть, является ли опция logstash здесь.
2 ответа
Решение
Вы всегда можете передать содержимое файла в Logstash, используя ввод stdin:
cat myfile.txt | bin/logstash -f logstash.conf
где logstash.conf
определяет
input {
stdin{}
}
Вы можете обратиться к logstash-input-file за помощью. Чтобы разделить файлы, которые вы хотите отслеживать:
input{
file{
path => ["/var/log/messages","/var/log/nginx/access.log"]
}
}
или, в вашем случае, вы также можете отслеживать папку и исключать из нее какой-либо файл:
input{
file{
path => ["/var/log/nginx/*.log"]
exclude => "error.log"
}
}