Logstash无法向elasticsearch master

时间:2015-08-14 08:20:14

标签: azure logstash elasticsearch

我的logstash存在问题,无法将日志发送到elaticsearch。

以下详细信息

  1. Logstash版本:1.5.1
  2. Elasticsearch版本:1.6.0
  3. 两个服务器上的
  4. jvm版本:1.8.0
  5. Linux 3.10.0-229.7.2.el7.x86_64#1 SMP Tue Jun 23 22:06:11 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux
  6. Azure Openlogic 7.1
  7. 这是我的logstash.err文件

    INFO: [ls1] failed to send join request to master 
    [[es1][e8A0li5pRfeMklozmDXgkQ][elastic][inet[/x.x.x.x:9300]]], reason  
    [RemoteTransportException[[es1][inet[/x.x.x.x:9300]]
    [internal:discovery/zen/join]]; nested:  
    ConnectTransportException[[ls1][inet[/x.x.x.x:9300]] 
    connect_timeout[30s]]; nested: ConnectTimeoutException[connection 
    timed out: /x.x.x.x:9300]; ]
    

    我的logstash配置输出

    output {
      elasticsearch {
        host  => "x.x.x.x"
        bind_port => 9300
        index => "syslog"
        cluster => "test-cluster"
        node_name => 'ls1'
     }
      stdout {
        codec => rubydebug
      }
    }
    

    这是我在elasticsearch server

    中的elasticsearch.yml配置文件
    cluster.name: test-cluster
    node.name: "es1"
    network.bind_host: 0.0.0.0
    network.publish_host: <my_elasticsearch_public_ip>
    transport.tcp.port: 9300
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["my_logstash_public_ip:9300"]
    

    这是我在logstash服务器中的elasticsearch.yml文件(/ var / lib / logstash)

    network.publish_host: my_logstash_public_ip
    discovery.zen.ping.multicast.enabled: false
    

    我在两台服务器上都允许端口9300。

2 个答案:

答案 0 :(得分:0)

您需要在logstash配置中包含协议属性。找到以下更新的代码。

output {
  elasticsearch {
    host  => "x.x.x.x"
    protocol => "http"
    bind_port => 9300
    index => "syslog"
    cluster => "test-cluster"
    node_name => 'ls1'
 }

答案 1 :(得分:-3)

我使用的是Microsoft Azure VM,现在我可以通过azure虚拟机创建VPN连接来解决这个问题。