Maintaining overall cluster availability when 1 index (of N) is red?

Hello all.

I know how straightforward it is to get overall cluster status (e.g. red/yellow/green). But is there any way to maintain cluster level availability when you have multiple indices, some of which may be available (green/yellow) while other indices are unavailable (red)? Has anyone done this before or have any ideas on how to prod an ES cluster into this state?

My use case is 2 fold:

  1. An application that creates ~ 5 indices but 1 of those indices is unavailable (red). The others should remain available and queryable but I have no idea how to effect that.

  2. 2 applications sharing a cluster, each with their own unique indices. If 1 index becomes unavailable for some reason (UNASSIGNED shards, for example), I’d still like the other application’s index (or indices) to remain available and queryable.

Any thoughts on such a configuration would be welcome.

Relatedly, is there some way to monitor index status/availability separate from cluster availability? I'd like to be able to tell when a specific index is unavailable (red) while other indices are still available (green/yellow).

Cheers!

Claude

Hi,

That should already work out of the box. Even with a red cluster state, you should be able to index and search on any index that are not in the "red" state. Did you experience any problems with this?

GET _cat/indices gives you the health of each individual index for example. You can also take a look at the monitoring feature included in X-Pack (Monitor and Manage Elasticsearch | Elastic) which is free to use with the basic version.

Ok. So this sounds like a tooling issue where I need to update my monitoring infrastructure to extract the index level information instead of cluster level. Would you say that's an accurate assessment @cbuescher?

Hi,

You don't need to update your infrastrcuture to get the index level information. If you want something simple, you can use the REST API (namely the _cat/indices endpoint) to monitor the health of your indices. The X-Pack monitoring solution gives you a nice UI and collects this data over time. You would have to write scripts to do this yourself if you only want to rely on the REST API that comes with core Elasticsearch.

Got it. That sounds like what I want. I'll just have to roll my own. This is a generic ES based platform and we're not using X-Pack.

Thanks!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.