【问题标题】:Kibana returns "Connection Failed"Kibana 返回“连接失败”
【发布时间】:2015-01-05 19:55:13
【问题描述】:

我正在尝试在 Windows 2008 R2 中使用 Kibana 运行 ElasticSearch。

我关注了这篇文章:Install-logstash-on-a-windows-server-with-kibana

一步一步,但我得到的只是:

Connection Failed
Possibility #1: Your elasticsearch server is down or unreachable

This can be caused by a network outage, or a failure of the Elasticsearch process. If you have recently run a query that required a terms facet to be executed it is possible the process has run out of memory and stopped. Be sure to check your Elasticsearch logs for any sign of memory pressure.
Possibility #2: You are running Elasticsearch 1.4 or higher

Elasticsearch 1.4 ships with a security setting that prevents Kibana from connecting. You will need to set http.cors.allow-origin in your elasticsearch.yml to the correct protocol, hostname, and port (if not 80) that your access Kibana from. Note that if you are running Kibana in a sub-url, you should exclude the sub-url path and only include the protocol, hostname and port. For example, http://mycompany.com:8080, not http://mycompany.com:8080/kibana.
Click back, or the home button, when you have resolved the connection issue

当我去

http://XXX.XXX.XXX.XXX:9200/

我明白了:

{
  "status" : 200,
  "name" : "Benazir Kaur",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.4.0",
    "build_hash" : "bc94bd81298f81c656893ab1ddddd30a99356066",
    "build_timestamp" : "2014-11-05T14:26:12Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.2"
  },
  "tagline" : "You Know, for Search"
}

看来 ElasticSearch 正在运行,但由于某种原因 Kibana 无法连接到它。

ElasticSearch 日志包含错误:

[2014-11-08 13:02:41,474][INFO ][node                     ] [Virako] version[1.4.0], pid[5556], build[bc94bd8/2014-11-05T14:26:12Z]
[2014-11-08 13:02:41,490][INFO ][node                     ] [Virako] initializing ...
[2014-11-08 13:02:41,490][INFO ][plugins                  ] [Virako] loaded [], sites []
[2014-11-08 13:02:46,872][INFO ][node                     ] [Virako] initialized
[2014-11-08 13:02:46,872][INFO ][node                     ] [Virako] starting ...
[2014-11-08 13:02:47,402][INFO ][transport                ] [Virako] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.0.14:9300]}
[2014-11-08 13:02:47,558][INFO ][discovery                ] [Virako] elasticsearch/XyAjXnofTnG1CXgDoHrNsA
[2014-11-08 13:02:51,412][INFO ][cluster.service          ] [Virako] new_master [Virako][XyAjXnofTnG1CXgDoHrNsA][test04][inet[/192.168.0.14:9300]], reason: zen-disco-join (elected_as_master)
[2014-11-08 13:02:51,521][INFO ][gateway                  ] [Virako] recovered [0] indices into cluster_state
[2014-11-08 13:02:51,552][INFO ][http                     ] [Virako] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.0.14:9200]}
[2014-11-08 13:02:51,552][INFO ][node                     ] [Virako] started
[2014-11-08 13:11:04,781][WARN ][transport.netty          ] [Virako] exception caught on transport layer [[id: 0x3984a6b4, /192.168.0.14:58237 => /192.168.0.14:9300]], closing connection
java.io.StreamCorruptedException: invalid internal transport message format, got (47,45,54,20)
    at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:47)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

知道我做错了什么吗?

【问题讨论】:

  • 您是否按照错误信息最后一段中的说明进行操作(具体来说,在 elasticsearch.yml 中设置 http.cors.allow-origin 是怎么说的)?
  • 是的,我做到了,但还是同样的错误。
  • 我有同样的问题,错误控制台显示kibana尝试使用kibana DNS访问elasticsearch,当我在kibana所在的同一台机器上安装elasticsearch时,一切正常:)

标签: elasticsearch logstash kibana


【解决方案1】:

我也遇到过类似的问题。

如果您将 elasticsearch-1.4 与 Kibana-3 一起使用,则在 elasticsearch.yml 文件中添加以下参数

http.cors.allow-origin: "/.*/"
http.cors.enabled: true

参考, https://gist.github.com/rmoff/379e6ce46eb128110f38

【讨论】:

  • 如果上述方法对您不起作用,您可以仔细检查 Kibana 的 config.js 中配置的 URL 以确保其正确。
  • 是的,我也是! :) 好像错误界面的说明有误。
  • 听起来有点脑残,但是如果你更新配置,重启服务,刷新kibana页面仍然出现连接失败错误,然后删除看起来像/#/connectionFailed的路径信息。 ..
【解决方案2】:

在我的情况下,问题是由设置的 HTTP_PROXY 环境变量和代理关闭引起的。

这不是最明显的原因,并且从错误消息中没有明显的方法可以让您想到查看它。

取消设置 HTTP_PROXY 并重新启动 Kibana 就可以了。

【讨论】:

  • 你也可以 export no_proxy="localhost"
猜你喜欢
  • 2015-01-18
  • 1970-01-01
  • 2020-04-24
  • 1970-01-01
  • 2014-08-13
  • 1970-01-01
  • 2017-09-11
  • 2017-04-10
  • 2014-06-22
相关资源
最近更新 更多