我正在尝试将一小部分数据从索引A复制到索引B。
我有一个在EC2实例上运行的Logstash配置,其中包含Elasticsearch输入,一些过滤器和Elasticsearch输出。
首次运行时,此方法运行良好,但如果将任何新数据添加到索引A(满足输入的查询条件),则Logstash配置不会检测到该数据并将其输出到索引B。
这让我想,Elasticsearch输入是否仅运行一次?与文件或S3输入之类的输入不同,它们将获取新添加的文件。
Logstash elasticsearch输入插件使用可选查询进行一次搜索(通过扫描/滚动),并在完成后退出。
elasticsearch
您说对了,因为它的行为方式与for file输入插件不同,后者只会拖尾一个或多个文件并动态处理新行。
file
如果您需要一种在新文档与查询匹配时得到通知的方式,则可能需要调查Watcher插件。观察者可以很好地检测到与查询匹配的新文档的存在,然后调用一个Webhook,这可以通过Logstash中的http输入插件实现。
http