将旧数据从 Elasticsearch 存档到 Google 云存储

Archive old data from Elasticsearch to Google Cloud Storage

我有一个 elasticsearch server installed in Google Compute Instance。每分钟都在摄取大量数据,下划线磁盘很快就会填满。

我知道我们可以增加磁盘的大小,但这对于存储长期数据来说会花费很多。

我们需要在 Elasticsearch 服务器 (Compute engine disk) 中存储 90 天的数据,并将超过 90 天(直到 7 年)的数据存储在 Google 云存储桶中。应该可以检索较旧的数据,以备日后分析之需。

我知道的一种方法是经常拍摄快照并使用 Curator 从 Elasticsearch 服务器中删除超过 90 天的索引。这样我就可以保持磁盘空闲并最大限度地减少存储成本。

有没有其他方法可以在不手动自动化上述想法的情况下完成?

例如,Elasticsearch 提供的开箱即用的东西,它本身将超过 90 天的数据归档并将数据文件保存在磁盘中,然后我们可以手动将此文件从磁盘中移出 Google Cloud Storage.

别无选择,要备份您的数据,您需要使用 snapshot/restore API,这是唯一可用的安全可靠的选项。

有一个插件可以将 google cloud storage 用作存储库。

如果您使用的是 7.5+ 版本和具有基本许可证的 Kibana,您可以直接从 Kibana interface 配置快照,如果您使用的是旧版本或没有 Kibana,则需要依赖在 Curator 或自定义脚本上 运行 crontab 调度程序。

虽然您可以复制数据目录,但每次要复制数据时都需要停止整个集群,要恢复它还需要每次都从头开始创建一个新集群,这是当你有像 snapshot/restore API.

这样的东西时,很多工作并不实用

查看快照生命周期管理和索引生命周期管理。它们需要基本许可证。