2015-11-25 9 views
7

Esiste un modo generico in ES per sapere "oops, cluster hosed, index deve essere ricostruito"?Come sapere quando si verifica una perdita di dati su un cluster elasticsearch

In alternativa, uno schema o un approccio che risponde a questa domanda?

Finora, abbiamo usato il seguente approccio:

1) Se va a grappolo stato rosso, dati sono stati persi, indice deve essere ricostruito.

2) Se il cluster si inverte tra verde e giallo, non si è verificata alcuna perdita di dati.

3) Simile al # 2, su un indice con 5 frammenti, finché il valore "active_shards" è uguale o maggiore di 5, tutto va bene.

Il numero 3 è giusto? In sostanza, è il seguente corretta:

DataLossHasOccurred == ("active_shards" < "active_primary_shards")

risposta

0

No non c'è.

3 è un controllo equivalente agli altri.

Quando il cluster è "rosso" significa che alcuni dati non sono disponibili. Potrebbe non essere perso. Se alcuni server sono offline, ma possono essere ripristinati, i dati possono essere ripristinati. Quando ciò accade, il cluster ritorna a uno stato verde.

Quando il cluster è "giallo" significa che il cluster funziona in modo ridotto. A seconda del numero di repliche configurate per gli indici interessati, questo potrebbe essere un problema o meno. Le metriche che uso per monitorare questo sono lo stato generale e il numero di frammenti non allocati. Se il cluster si trova in uno stato giallo e il numero di frammenti non allocati non diminuisce, qualcosa non viene configurato correttamente.

+0

Grazie, ma questo non risponde direttamente alla domanda: si è verificata una perdita di dati e l'indice deve essere ricostruito. Questo è l'obiettivo di questa discussione. – Jonesome

Problemi correlati