We have a 3 node elasticsearch cluster set up. The logstash ouput config looks like this:
output {
elasticsearch {
hosts => ["node1:9200",
"node2:9200",
"node3:9200"
]
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "log"
}
}
I had to take down node1 of elasticsearch cluster for some maintenance. However logstash didn't auto connect to the other nodes in the elastic search cluster even though they were up.
I could see the below error in the logstash logs:
[2021-02-03T16:35:50,391][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://node1:9200/, :path=>"/"} [2021-02-03T16:35:50,394][WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://node1:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://node1:9200/][Manticore::SocketException] Connection refused"}
We are using logstash version- 1:6.2.2-1 and elasticsearch- 6.2.2
Are they any settings that can make logstash auto connect to other elastic search nodes that are healthy? Please advise.TIA