elasticsearch 通过LogStash批量导入数据
我必须通过LogStash批量导入数据,如下所示: 来源:Restful获取API 目的地:ElasticSearch 我的日志存储配置文件如下所示:
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 => {
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获取数据