在谷歌计算引擎ELK堆栈

试图在谷歌计算引擎服务器上设置ELK堆栈我发现谷歌提供的“点击部署”解决scheme已经过时了。

无论如何,我尝试在ES上安装Logstash和Kibana,只是发现我无法连接到Kibana(尽pipe从Google计算和外部世界连接到elasticsearch本身都没有问题)。

有了ELK堆栈已经在AWS Ububnu 14.04机器上工作,我想我会尝试开始一个新的机器,并安装在谷歌计算自己的一切。

安装ES之后,我再次发现无法从外部连接到ES(在默认端口9200上,当然这与点击部署一起工作)。

这里值得注意的是,那些可能用于内部使用的点击部署服务器,因为它们有短暂的IP地址,而我用静态IP定义了所有的机器(围绕这个问题进行testing也是死路一条)。

在所有情况下,我的服务器的结果是相同的 – 我得到的错误是ERR_CONNECTION_REFUSED。

这(令人惊讶地)让我认为我错过了一些防火墙的定义。

  1. 我尝试打开一个不同的端口,并在服务器端用netcat -lp <some-port>监听它
  2. 然后我尝试从远程机器运行相同的请求,我会弹性运行,但在新的端口上: curl -X GET 'http://<static-ip>:<some-port>'
  3. 请求继续没有问题
  4. 我停止elasticsearch并启动netcat -lp 9200
  5. curl -X GET 'http://<static-ip>:9200'来自移除机器就像一个魅力。

    即使打开所有机器的相关端口并重复整个过程(使用所有不同的组合),我意识到我可能错过了其他的东西。

用谷歌实例尽我所能地完成这个工作还是另一个死胡同。

我在这里错过了什么? ES或GCE中是否有另一个连接定义?

那么, 康奇是正确的。 问题是ES连接到回环设备,但是将network.bind_host设置为_non_loopback_只是解决scheme的一半,现在我只能从外部访问ES(当然了)。

显然,有一个GCE插件来解决这个问题,但只有ES版本1.7,我猜我必须等待它赶上。 其余的可以被黑客入侵。