Logstash似乎更改了Elasticsearch输出URL

时间:2017-07-13 21:46:03

标签: elasticsearch logstash

我的Logstash配置了以下输出:

output {
    hosts => ["http://myhost/elasticsearch"]
}

这是一个有效的URL,因为我可以用它来向Elasticsearch发送命令,例如

curl "http://myhost/elasticsearch/_cat/indices?v"

返回我创建的索引。

但是,当Logstash尝试创建模板时,它使用以下URL:

http://myhost/_template/logstash

我期望它使用

http://myhost/elasticsearch/_template/logstash

我的网址的/ elasticsearch部分似乎正在被删除。这里发生了什么? “elasticsearch”是删除的URL中的保留字吗?据我所知,当我发出http://myhost/elasticsearch/elasticsearch时,它试图找到一个名为“elasticsearch”的索引,这使我相信它不是保留的。

将端点URL更改为

http://myhost/myes

Logstash仍在尝试访问

http://myhost/_template/logstash

可能是什么问题?

修改 Logstash和Elasticsearch都是v5.0.0

1 个答案:

答案 0 :(得分:1)

您尚未指定所使用的logstash版本。如果您使用的是2.x版本之一,则需要使用path => '/myes/'参数指定您的ES实例位于代理后面。在2.x中,hosts参数只是主机列表,而不是URI。