Мы надеемся использовать подключаемый модуль ввода ElasticSearch из Logstash для вывода с помощью ElasticSearch.
Эта функция была успешно собрана плагином ввода MongoDB в режиме реального времени.
Однако подключаемый модуль ввода ElasticSearch не запускается с данными, которые вы недавно собрали при запуске коллекции. При сборе всех данных создаются повторяющиеся данные.
Я хотел бы собрать данные из моей последней коллекции. Как мне это настроить?
Есть еще вопрос.
Плагин ввода Mongo различает недавно собранные данные по параметрам "placeholder_db_dir", "placeholder_db_name".
Что такое модуль ввода ElasticSearch?
input {
elasticsearch {
hosts => '192.168.10.101:9200'
index => 'sample'
scroll => '5m'
docinfo => true
}
}
filter {
json {
source => 'message'
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "es"
}
stdout { codec => rubydebug }
file {
path => '/home/jskang/jskang-platform/logs/logstash/logstash-%{+YYYY.MM.dd}.log'
codec => rubydebug
}
}
Если вы намереваетесь зафиксировать изменения в logstash за последние N минут, вам нужно будет более напрямую управлять своим запросом и планированием. Вход elasticsearch не имеет концепции since_db
, поэтому вам нужно будет сделать это с помощью структурированного query =>
и использовать schedule =>
. Такие как...
query => [your ES query, returning everything in the last 2 minutes]
schedule => "/2 * * * *"
Это будет запускать сбор данных каждые 2 минуты и возвращать все с отметкой времени за последние 2 минуты.