2

我在 AWS EC2 环境中有 2 个 elasticsearch 节点,我想在单独的日志服务器上使用 logstash + kibana。Logstash 用作索引器,并且能够从 ES 节点获取日志(我仍在研究如何/我需要记录的内容)问题出在 Kibana 上。

我希望能够在 logstash 服务器上使用 Kibana 来监控我的 ES 节点上的日志。例如:ES节点:10.110.65.91/92 Logstash/kibana 10.110.65.93

我希望能够点击 [http://10.110.65.93/kibana-3.0.0milestone5/#/dashboard/file/default.json] 并加载 Kibana。现在它不使用 .93 加载;虽然它确实适用于 .91。.91 的 kibana 配置具有弹性搜索:“http://”+window.location.hostname+“:9200”,我知道不推荐使用它,但如果我将其更改为 IP,它不会加载。.93 的 Kibana 配置是 elasticsearch: "http://"+10.110.65.91+":9200",

安全组是开放的。

我错过了什么吗?

4

1 回答 1

4

假设我将以下内容放入config.js

elasticsearch: "http://"+127.0.0.1+":9200",

然后我加载 Kibana 的仪表板,它显示为空白。我去检查浏览器的 JavaScript 控制台,发现两个错误:

Uncaught SyntaxError: Unexpected number (in config.js)
Uncaught ReferenceError: config is not defined (in app.js)

简而言之,Kibana 无法渲染,因为您给了它一个无法编译的配置文件。

假设我试试这个,而不是:

elasticsearch: "http://127.0.0.1:9200",

这编译!Kibana 渲染!但随后抛出一条红色错误消息:

Could not contact Elasticsearch at http://127.0.0.1:9200. Please ensure that Elasticsearch is reachable from your system.

原因是:Kibana 正在解析客户端机器上的 IP 地址,而不是服务器;由于我的工作站不是 ElasticSearch 节点,因此我的浏览器无法在127.0.0.1:9200.

Kibana 不知道 Logstash,也不在乎,只要渲染的页面可以连接到给定地址的 ES 集群即可。对于您的设置,这似乎是http://10.110.65.91:9200or http://10.110.65.92:9200。您可以围绕这些设置代理或防火墙,无论是出于安全性、负载平衡还是其他目的。

于 2014-02-26T00:15:11.073 回答