There is no way for Elasticsearch to answer this question, because there is no way for Elasticsearch to tell the difference between a node that failed and a node that was deliberately removed from the cluster. You need to compare the list of nodes in the cluster to your own external list of the nodes that you expect to be in the cluster.
If it is deliberately removed from cluster then it will be removed from config, right? Otherwise the cluster will always show status red.
Recently couple of servers were rebooted nd 2 nodes didn't start elasticsearch. I was cross checking entire 11 servers to find out which one is down. Think about if we have more servers.
I believe if the servers are not removed from config then it should consider as part of cluster nd any servers not joined in cluster, it should report it.
Which config? Perhaps you are thinking of discovery.zen.ping.unicast.hosts? This should only really contain the addresses of the master-eligible nodes and it's ok if it doesn't always contain them all.
Based on my past experience, one quick way is to look at the Master logs. When a node leaves the cluster, one of the logs about node getting removed from cluster is printed inside the master logs. That can be helpful for you to determine which node has left the cluster.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.