我们设置了一个 3 节点的 Elasticsearch 集群。 logstash 输出配置如下所示:
output {
elasticsearch {
hosts => ["node1:9200",
"node2:9200",
"node3:9200"
]
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "log"
}
}
我不得不关闭 elasticsearch 集群的 node1 进行一些维护。 然而,即使弹性搜索集群中的其他节点已启动,logstash 也不会自动连接到这些节点。
我可以在 logstash 日志中看到以下错误:
[2021-02-03T16:35:50,391][INFO][logstash.outputs.elasticsearch] 运行健康检查以查看 Elasticsearch 连接是否正常工作 {:healthcheck_url=>http://node1:9200/, :路径=>“/”} [2021-02-03T16:35:50,394][WARN][logstash.outputs.elasticsearch] 尝试恢复与死 ES 实例的连接,但出现错误。 {:url=>"http://node1:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http:// node1:9200/][Manticore::SocketException] 连接被拒绝"}
我们使用的是 logstash 版本 - 1:6.2.2-1 和 elasticsearch- 6.2.2
是否有任何设置可以使 logstash 自动连接到其他健康的弹性搜索节点?请指教。TIA