【发布时间】:2014-06-25 22:07:35
【问题描述】:
我已经在 Amazon VPC 中设置了 Elasticsearch 和 Kibana,其中两个 Elasticsearch 实例(形成一个集群)位于私有子网中,而另一个具有 Kibana/nginx 的节点位于公共子网中。我可以检查集群的健康状况,这很好 -
{
"cluster_name" : "es-cluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 2,
"number_of_data_nodes" : 2,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0
}
当我从 kibana 节点执行 curl -XGET http://es_node1:9200 和 curl -XGET http://es_node2:9200 时,它工作正常,其中 es_node1 和 es_node2 是 elasticsearch 集群的两个节点。但是当我在浏览器中打开 Kibana 仪表板时,我得到 -
Error Could not contact Elasticsearch at http://xxxx:9200. Please ensure that Elasticsearch is reachable from your system.
在 Kibana 的 config.js 文件中,我尝试过放置 elasticsearch 实例的私有 IP 或私有 DNS 名称,但它不起作用。请注意,可以使用命令行中的 curl 从 Kibana 节点访问 elasticsearch 节点。
当我在 VPC 之外进行相同设置时,一切正常。我怀疑问题在于,除非弹性搜索集群公开(即放入公共子网),否则 Kibana 会一直显示该错误。
【问题讨论】:
标签: amazon-web-services nginx elasticsearch kibana amazon-vpc