我的logstash存在问题,无法将日志发送到elaticsearch。
以下详细信息
这是我的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。
答案 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连接来解决这个问题。