如何微调 ELK

How to fine tune ELK

我们 运行 堆内存不足,ELK 也存在不稳定问题,请参见配置屏幕截图下方。

-版本 6.2.4
-节点数:5
-数据节点:3
-指数:6138
-文件:3,840,550,046
-主要碎片:14,934
-副本碎片:14,934
-可用磁盘:25.98(1TB/5TB)
-JVM 堆:62.045(46GB/74GB)

我知道我必须减少分片的数量,而且我们持有的数据是从 2019 年 1 月开始的——尽管 2019 年的数据处于关闭状态。

我需要帮助来理解我该怎么做
1-重新索引以减少旧索引的分片数量
2- 下载旧索引并保存在存档中,然后在需要时重新使用相同的索引
3- 我们有每日指数轮换,如何将其更改为 weekly/monthly 指数以及它将如何提供帮助。

期待一些指导,因为 ELK 对我来说是新手,而且我对此很犹豫。

谢谢, 阿布舍克

1- re-indexing to reduce the number of shards of the old indices

重建索引相当昂贵;如果每个索引有多个主分片(在 6.x 上默认为 5),我会从 _shrink 开始,这样会便宜得多。

2- download of old indices and keep in a archive and later re-use the same if and when required

听起来像 snapshot and restore,但这将是一种缓慢而乏味的方法。

3- we are having daily indices rotation, how to change it to weekly/monthly indices and how it will help.

更好的方法是 rollover,它提供更大的灵活性,还允许您创建大小均匀的索引/分片。 7.x 中 Beats 的默认单个分片索引为 50GB。

一般来说你的Elasticsearch版本很旧。当前的 7.10 版本中有很多性能和稳定性改进。还有像 Index Lifecycle Management 这样的功能,这将是您遇到的问题的解决方案。

一些补充说明:

  • 为什么5个节点中只有3个是数据节点?
  • 正如您所说,索引和分片的数量太多了。
  • 堆大小最多只能达到 ~30GB,以便 Java 可以使用压缩指针。