【问题标题】:logstash + kibana + elasticsearch web issuelogstash + kibana + elasticsearch 网络问题
【发布时间】:2014-03-28 08:38:06
【问题描述】:

我在 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",

安全组已打开。

我错过了什么吗?

【问题讨论】:

  • String + IP + String 可以是任何东西。您是否尝试将整个 URL 作为字符串,例如:“10.110.65.91:9200”?
  • 它使用 .91 加载。我希望它集中在我的 .93 的 logstash 服务器上,这样我就可以转到10.110.65.93/kibana/whatever 并在那里加载 web gui,而不是使用 .91(弹性搜索节点)。基本上我希望 .93 将其全部编入索引。
  • 什么是 .91 为网络服务器运行?阿帕奇? Nginx ?
  • Elasticsearch 和 apache。 .93 只是运行 apache 和一些 logstash shipper.conf

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


【解决方案1】:

假设我将以下内容放入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 找不到 ES 集群。

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

【讨论】:

  • 讨厌重振它,但我的 elasticsearch/kibana 位于具有公共 IP 的弹性负载平衡后面。我将 config.js 更改为 elasticsearch: '54.85.13.88:9200' 这是 ELB 的公共 IP。 Kibana 加载但不是弹性搜索的东西。我也尝试将其更改为本地 IP,但只是收到错误消息“错误无法通过 54.85.13.88:9200 联系 Elasticsearch。请确保可以从您的系统访问 Elasticsearch”。需要做什么来解决这个问题?
  • 呃,是安全组和 elb 监听器。固定。
  • @Gabriel,我做到了:elasticsearch: "http://54.xx.xx.xx:9200",,但仍然没有显示页面的其余部分,这是一个亚马逊实例,我不确定你做了什么来做到这一点工作?它不应该从任何 IP 地址都可以正常工作吗?
  • FYI .. 我首先无法从外部 IP 查看ElasticSearch,不管 Kibana,但我可以在本地查询它
  • 弹性负载均衡器 IP 地址发生变化,因此最好使用实际 URL 而不是 IP。我没有正确更新 ELB 上的安全组和侦听器。一旦我这样做了,我就会启动并运行它。实际上,我正在编写一个教程,一旦完成,我可以在这里为您链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 2014-10-30
  • 1970-01-01
相关资源
最近更新 更多