Kibana не может разговаривать с кластером Elasticsearch в VPC

Я установил Elasticsearch и Kibana в Amazon VPC, где два экземпляра 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
}

Когда я делаю 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 или частное DNS-имя экземпляра elasticsearch, но это не сработало. Обратите внимание, что узлы elasticsearch доступны из узла Kibana с помощью curl из командной строки.

Когда я делаю те же настройки вне VPC, все работает нормально. Я подозреваю, что проблема в том, что до тех пор, пока кластер elasticsearch не станет общедоступным (т.е. не будет помещен в общедоступную подсеть), Kibana будет продолжать показывать эту ошибку.


person theharshest    schedule 25.06.2014    source источник


Ответы (1)


Да, ваше подозрение верное.

Kibana - это полностью клиентское приложение. Подразумевается, что клиентская сторона (то есть браузер конечных пользователей) должна иметь доступ к кластеру elasticsearch.

person ppearcy    schedule 26.06.2014
comment
Это все еще применимо к Kibana 4? - person Alex Dean; 20.03.2015
comment
Это больше не относится к Kibana4. У него есть компонент на стороне сервера, поэтому нужно только открыть к нему доступ. - person ppearcy; 23.03.2015