【问题标题】:Kibana won't connect to Elasticsearch on Amazon's Elasticsearch ServiceKibana 无法连接到 Amazon 的 Elasticsearch Service 上的 Elasticsearch
【发布时间】:2016-01-13 23:57:54
【问题描述】:

从托管我自己的 Elastiscsearch 集群切换到 Amazon's Elasticsearch Service 后, 我的 Kibana 仪表板(版本 4.0.2 和 4.1.2)无法加载,并且我在 kibana.log 中收到以下错误:

{
  "name": "Kibana",
  "hostname": "logs.example.co",
  "pid": 8037,
  "level": 60,
  "err": {
    "message": "Not Found",
    "name": "Error",
    "stack": "Error: Not Found\n    at respond (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/src\/lib\/transport.js:235:15)\n    at checkRespForFailure (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/src\/lib\/transport.js:203:7)\n    at HttpConnector.<anonymous> (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/src\/lib\/connectors\/http.js:156:7)\n    at IncomingMessage.bound (\/srv\/kibana\/kibana-4.1.2-linux-x64\/src\/node_modules\/elasticsearch\/node_modules\/lodash-node\/modern\/internals\/baseBind.js:56:17)\n    at IncomingMessage.emit (events.js:117:20)\n    at _stream_readable.js:944:16\n    at process._tickCallback (node.js:442:13)"
  },
  "msg": "",
  "time": "2015-10-14T20:48:40.169Z",
  "v": 0
}

不幸的是,这个错误不是很有帮助。我假设它是一个包装好的 HTTP 404,但是对于 what

如何将 Kibana 安装连接到 Amazon 的 Elasticsearch Service?

【问题讨论】:

  • 不回答您的问题,但 Amazon Elasticsearch Service 提供了自己的 Kibana 控制面板。点击进入您的域,您会找到它。
  • @Edmond 提供的 Kibana 仪表板不具备与自托管替代方案相同的可配置性。 AWS 提供的 Kibana 是一个不错的手势,但并非适用于所有用例。

标签: amazon-web-services kibana amazon-elasticsearch


【解决方案1】:

以下是使用 Amazon 的 Elasticsearch 服务时要记住的一些事项:

  1. 修改访问策略需要不确定的时间。我发现在进行策略更改后状态不再“处理中”后等待至少 15 分钟是不错的选择。

  2. 它在端口 80 上侦听 HTTP 请求,而不是标准端口 9200。确保您的 elasticsearch_url 配置指令反映了这一点,例如:

    elasticsearch_url: "http://es.example.co:80"

  3. 您的 Kibana 实例很可能没有必要的权限来创建它需要向您显示仪表板的索引——这是问题的根源。查看 Elasticsearch 域上的索引并查找与 kibana_index 配置指令匹配的行(例如,通过 http://es.example.co/_cat/indices)。

例如,如果您的kibana_index 指令的值是.kibana-4,如果您没有看到如下行:

green open .kibana-4           1 1      3 2  30.3kb  17.2kb

那么您的 Kibana 索引无法创建它需要的索引。如果您转到亚马逊 Elasticsearch 服务的仪表板并单击 Kibana 链接,它可能会为您创建一个 .kibana-4 索引。

您可以在现有 Kibana 的配置中指定此索引,您应该会看到下一点。

  1. 您现有的 Kibana 安装可能需要通过标头进行身份验证:

    Kibana:授权标头需要“凭据”参数。授权标头需要“签名”参数。授权标头需要“SignedHeaders”参数。授权标头要求存在“X-Amz-Date”或“日期”标头。

您可以在 Kibana 中进行配置,可以查看通用signing API request documentation 以获得更多帮助。

值得注意的是,Kibana 4.2 中的错误消息明显更好,但由于这是测试版,而且亚马逊的 Elasticsearch 服务是最近发布的,以上内容应该有助于调试。

【讨论】:

  • 我相信 Amazon ES 服务使用端口 443 进行 https 连接,使用端口 80 进行 http 连接。
猜你喜欢
  • 2017-03-13
  • 2019-10-25
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 2023-04-07
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多