Запустите 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"
    }
}
Другие вопросы по тегам