elasticsearch 通过LogStash批量导入数据,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 通过LogStash批量导入数据,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 通过LogStash批量导入数据

elasticsearch 通过LogStash批量导入数据,elasticsearch,logstash,elasticsearch,Logstash,我必须通过LogStash批量导入数据,如下所示: 来源:Restful获取API 目的地:ElasticSearch 我的日志存储配置文件如下所示: input { http_poller { urls => { test1 => { method => get url => "https://forun/questions?limit=100&offset=0" headers => {

我必须通过LogStash批量导入数据,如下所示:

来源:Restful获取API

目的地:ElasticSearch

我的日志存储配置文件如下所示:

input {
  http_poller {
    urls => {
     test1 => {
       method => get
       url => "https://forun/questions?limit=100&offset=0"
       headers => {
         Accept => "application/json"
    }
  }
}

output {
elasticsearch{
 hosts => ["localhost:9200"]
 index => "testindex"
}
  stdout {
    codec => rubydebug
  }
}
这将一次获取200条记录

但是,我有10000多条记录,需要在http轮询器插件的输入中应用分页逻辑


请帮助我如何在此处应用分页逻辑。

我不确定这是否是正确的体系结构。为什么您决定将数据拉入Logstash(使用http_poller输入插件)而不是将数据推入Logstash


如果是单个批量上传;您可以编写脚本,通过http(使用http输入插件)将事件直接发送到Logstash。或者,如果它不是一个单一的批量上传,并且有大量的数据随着时间的推移而增长,你可能会考虑发送事件到像卡夫卡/ReiS/RabBMQ之类的东西,它可以使用相关的输入插件流到LogSTASH。我实际上是在使用logstash管道将数据推送到ElasticSearchok,那么为什么要使用http_poller插件呢?http插件不是更合适吗?使用http_poller插件,我正在调用一个http API,解码输出,根据需要进行过滤,然后将数据发送到ES。只是通过logstash input http。我想它会更适合我的要求。非常感谢你建议Ryan。谢谢你!让我换一种说法。为什么不让某些东西将数据发送到Logstash,而不是让Logstash轮询并从API获取数据