我们希望使用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
}
}发布于 2018-12-21 16:55:13
如果您的目的是在最后N分钟捕获对logstash的更改,则需要更直接地管理查询和调度。elasticsearch输入没有since_db的概念,因此您需要通过使用结构化query =>和使用schedule =>来完成它。比如..。
query => [your ES query, returning everything in the last 2 minutes]
schedule => "/2 * * * *"这将每2分钟运行一次输入集合,并在最后2分钟内返回带有时间戳的所有内容。
https://serverfault.com/questions/946237
复制相似问题