output {
elasticsearch {
hosts => ["***********your host**************"]
user => "********"
password => "**********"
index => "logstash-2017.11.07"
}
}
conf文件配置完成后执行logstash
bin/logstash -f es-es.conf 执行这句指令时,有时会遇到如下的报错信息
[FATAL][logstash.runner] Logstash could not be started because there is already another instance using the configured data directory. If you wish to run multiple instances, you must change the "path.data" setting. 这是因为当前的logstash版本不支持多个instance共享一个path.data,所以需要在启动时,命令行里增加"--path.data PATH ",为不同实例指定不同的路径
bin/logstash -f es-es.conf --path.data ./logs/ 如果执行顺利,执行下面这个命令就可以在目标的elasticsearch中看到对应的index
curl -u username:password host:port/_cat/indices 以上介绍了如何通过logstash来迁移elasticsearch中指定的index,下面介绍一个实用的场景:
**很多自建了Elasticsearch客户最近都会关注到阿里云Elasticsearch这款产品。想要使用时却遇到了一个如何把自建中的数据迁移到阿里云Elasticsearch的困惑。下面介绍一下如何通过logstash快速的搬迁云上自建的Elasticsearch中的index数据。
**
这个方案的逻辑很简单,拆解开就是配置N个es-to-es的conf文件,但这样做很繁琐。其实logstash提供了批量做这件事情的能力,为此需要提前介绍三个重要概念: