我在Amazon VPC中設置了Elasticsearch和Kibana,其中兩個Elasticsearch實例(形成集羣)保留在私有子網中,而其他節點位於公共子網中的Kibana/nginx。我可以查看集羣的健康,這是很好的 -Kibana無法與VPC中的Elasticsearch集羣通話
{
"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
}
當我做curl -XGET http://es_node1:9200
和curl -XGET http://es_node2:9200
從kibana節點,它工作正常,其中es_node1和es_node2是elasticsearch集羣的兩個節點。但是,當我在瀏覽器中打開儀表盤Kibana,我得到 -
Error Could not contact Elasticsearch at http://xxxx:9200. Please ensure that Elasticsearch is reachable from your system.
在config.js
文件Kibana的,我試圖把專用IP或elasticsearch實例的私有DNS名稱,但它不能正常工作。請注意,可以從Kibana節點使用命令行中的curl訪問elasticsearch節點。
當我在VPC外做同樣的設置時,一切正常。我懷疑問題在於,除非彈性搜索集羣公開(即公開在子網中),否則Kibana會繼續顯示該錯誤。
這還適用於Kibana 4嗎? –
這不再適用於Kibana4。它有一個服務器端組件,所以只需要打開它的訪問權限。 – ppearcy