场景:
到目前为止,一切都很好。但是,几天前,某些子系统产生了持续不断的数据日志峰值,导致在几个小时内填满了所有可用磁盘空间,这使群集变成红色。这也意味着,由于磁盘已满,整个群集已关闭,因此清理系统无法连接到ES。这是非常棘手的问题,因为它限制了我们对正在发生的事情的可见性,并阻止了我们首先了解导致此问题的原因。
在这里进行根本原因分析,弹出一些问题:
答案 0 :(得分:1)
基于日期的索引模式在棘手的负载下非常棘手。有两件事可以将其结合起来以实现平滑的设置,而无需人工干预:
PS:很快将有另一个解决方案,称为索引生命周期管理。它是直接内置在Elasticsearch中的,可以通过Kibana进行配置,但是此刻就在眼前。
答案 1 :(得分:0)
当集群状态为红色时,如何查看例如Kibana中的系统?
如果Kibana已经关闭,则无法连接到ES。最好轮询集群运行状况API以获取集群的当前状态。
如果没有更多空间,而不是status = red,我们如何告诉ES丢弃(最早的)日志?
Elasticsearch中没有内置此选项。最好的方法是使用Watcher或其他工具监视磁盘空间,并在磁盘使用率低于指定阈值时让监视发送警报+触发清理旧日志的作业。
我们可以通过什么方式确保这种情况不再发生?
监视群集节点的磁盘空间。