我们希望使用Logstash中的ElasticSearch Input Plugin来与ElasticSearch进行输出。
该特征已被 MongoDB Input Plugin 成功实时采集。
但是,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
}
}
答案1
如果您的目的是捕获过去 N 分钟内对 logstash 的更改,则需要更直接地管理查询和调度。 elasticsearch 输入没有 的概念,因此您需要通过使用结构化并使用 来since_db
实现。 例如...query =>
schedule =>
query => [your ES query, returning everything in the last 2 minutes]
schedule => "/2 * * * *"
这将每 2 分钟运行一次输入收集,并返回过去 2 分钟内带有时间戳的所有内容。