应该使用 Logstash 的 ElasticSearch Input Plugin 来输出到 ElasticSearch

应该使用 Logstash 的 ElasticSearch Input Plugin 来输出到 ElasticSearch

我们希望使用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 分钟内带有时间戳的所有内容。

相关内容