首页 > 解决方案 > 将旧数据从 Elasticsearch 归档到 Google Cloud Storage

问题描述

我在Google Compute Instance中安装了一个elasticsearch服务器。每分钟都会摄取大量数据,并且下划线磁盘很快就会填满。

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

我们需要将 Elasticsearch 服务器(计算引擎磁盘)中 90 天的数据和超过 90 天(直到 7 年)的数据存储在 Google Cloud Storage Buckets 中。较早的数据应该可以检索,以备日后分析时使用。

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

有没有其他方法可以在不手动自动化上述想法的情况下做到这一点?

例如,由 Elasticsearch 提供的开箱即用的东西,它会将超过 90 天的数据存档并将数据文件保存在磁盘中,然后我们可以手动将这个文件从磁盘移动到Google Cloud Storage中。

标签: elasticsearchgoogle-cloud-platformgoogle-cloud-storageelasticsearch-curator

解决方案


没有其他办法,要备份您需要使用快照/恢复API 的数据,它是唯一安全可靠的可用选项。

有一个插件可以使用谷歌云存储作为存储库。

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

虽然您可以复制数据目录,但每次要复制数据时都需要停止整个集群,并且要恢复它,您还需要每次都从头开始创建一个新集群,这是很多工作,而不是当你有快照/恢复 API 之类的东西时很实用。


推荐阅读