为什么 AWS Elasticsearch 最小可用存储空间指标与 cat 分配 api 不同

Fro*_*ion 5 amazon-web-services elasticsearch aws-elasticsearch

我在 AWS 中有一个 Elasticsearch 集群,并被告知该集群的最小存储空间约为 2GB。在升级每个节点上的存储之前,我决定深入挖掘一下。作为参考,该集群有 8 个节点,每个节点上有 35GB 存储空间。我很难理解为什么每个节点的 FreeStorageSpace 指标(以及集群的最小 FreeStorageSpace 指标)不一致。

在ES实例健康度选项卡中查看每个节点的可用存储空间:

在此输入图像描述

当我猫/分配时:

在此输入图像描述

最终,我试图确定我的节点上报告的剩余存储空间最少的可用存储空间是根据 Cloudwatch 指标为 2GB,还是根据 cat 分配 API 为 8.8GB - 这将帮助我决定如何扩展。据我了解,Amazon ES 在每个实例上保留一定比例的存储空间用于内部操作,但我认为这会减少disk.avail上图中的存储空间。任何关于为什么这些不排队的见解都会很棒。

Ank*_*arg 8

这是因为 AWS Elasticsearch 作为托管服务,有自己的存储开销。

来自 AWS文档

操作系统保留空间:默认情况下,Linux 为 root 用户保留 5% 的文件系统,用于关键进程、系统恢复以及防止磁盘碎片问题。

Amazon ES 开销:Amazon ES 为每个实例保留 20% 的存储空间(最多 20 GiB)用于分段合并、日志和其他内部操作。

有两个指标可以查看您的免费存储空间:

FreeStorageSpace CW 指标- 这将包含开销并显示最终用户可用的实际空间。

来自 FreeStorageSpace 的 AWS文档

FreeStorageSpace 将始终低于 Elasticsearch _cluster/stats API 提供的值。Amazon ES 在每个实例上保留一定百分比的存储空间用于内部操作。

Elasticsearch API - 由于这些是原生 Elasticsearch api,因此它们将显示可用的原始空间,该空间将高于实际空间。