试图在谷歌计算引擎服务器上设置ELK堆栈我发现谷歌提供的“点击部署”解决scheme已经过时了。
无论如何,我尝试在ES上安装Logstash和Kibana,只是发现我无法连接到Kibana(尽pipe从Google计算和外部世界连接到elasticsearch本身都没有问题)。
有了ELK堆栈已经在AWS Ububnu 14.04机器上工作,我想我会尝试开始一个新的机器,并安装在谷歌计算自己的一切。
安装ES之后,我再次发现无法从外部连接到ES(在默认端口9200上,当然这与点击部署一起工作)。
这里值得注意的是,那些可能用于内部使用的点击部署服务器,因为它们有短暂的IP地址,而我用静态IP定义了所有的机器(围绕这个问题进行testing也是死路一条)。
在所有情况下,我的服务器的结果是相同的 – 我得到的错误是ERR_CONNECTION_REFUSED。
这(令人惊讶地)让我认为我错过了一些防火墙的定义。
netcat -lp <some-port>监听它 curl -X GET 'http://<static-ip>:<some-port>' netcat -lp 9200 curl -X GET 'http://<static-ip>:9200'来自移除机器就像一个魅力。
即使打开所有机器的相关端口并重复整个过程(使用所有不同的组合),我意识到我可能错过了其他的东西。
用谷歌实例尽我所能地完成这个工作还是另一个死胡同。
我在这里错过了什么? ES或GCE中是否有另一个连接定义?
那么, 康奇是正确的。 问题是ES连接到回环设备,但是将network.bind_host设置为_non_loopback_只是解决scheme的一半,现在我只能从外部访问ES(当然了)。
显然,有一个GCE插件来解决这个问题,但只有ES版本1.7,我猜我必须等待它赶上。 其余的可以被黑客入侵。