如何知道elasticsearch集群何时发生数据丢失

Jon*_*ica 7 elasticsearch

在ES中是否有一种通用的方法可以知道"oops,群集是否需要重建,索引必须重建"?

或者,回答这个问题的模式或方法?

到目前为止,我们使用了以下方法:

1)如果群集进入红色状态,数据已丢失,必须重建索引.

2)如果群集在绿色和黄色之间翻转,则不会发生数据丢失.

3)类似于#2,在具有5个分片的索引上,只要"active_shards"值等于或大于5,一切都很好.

#3公平吗?基本上,以下是正确的:

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

Joh*_*her 1

不,没有。

3 是与其他的等效检查。

当集群为“红色”时,表示某些数据不可用。它可能不会丢失。如果有几台服务器离线,但可以恢复,数据也可以恢复。当这种情况发生时,集群将返回到绿色状态。

当集群为“黄色”时,表示集群正在以较低的速度运行。根据为受影响的索引配置的副本数量,这可能是一个问题,也可能不是。我用于监控的指标是整体状态和未分配的分片数量。如果集群处于黄色状态并且未分配的分片数量没有下降,则说明某些配置错误。