1

我有 2 个 AWS EC2 实例。一种用于 Elasticsearch (ES),一种用于 Kibana。我正在尝试将所有数据从 ES 备份到 AWS S3,然后在创建新实例时将其还原。

我这样做的方式是这样的:

  1. 终止 Kibana 实例
  2. 使用 curator 备份 ES 数据
  3. 终止 ES 实例
  4. 启动新的 ES 实例并使用 curator 恢复数据
  5. 启动新的 Kibana 实例

问题是即使恢复工作(我可以看到在 ES 中恢复的索引,包括一个具有 .kibana 别名的 .kibana_1 索引),当 Kibana 启动时它不会使用现有的 .kibana_1 索引而是创建一个新的一个(例如:.kibana_2)

有什么我做错了吗?

(我使用的是 7.0.1 版本的服务和 curator 5.7.6)

4

1 回答 1

1

据我所知,索引只是操作系统上使用 GUID 作为文件名的文件。因此,当您恢复这些文件时,将重新创建引用这些索引的所有对象。解决此问题的唯一方法是通过转到已保存的对象并修改与最新 GUID 键一起使用的索引来编辑对象。要导航到对象,请转到管理,然后转到保存的对象。找到有问题的对象。单击三个点,选择检查。通常这是可视化的问题,所以我所做的是编辑参考部分并在新的 GUID 中作为“id”的值过去,请参见下面的示例。

[
  {
    "name": "kibanaSavedObjectMeta.searchSourceJSON.index",
    "id": "71eacc40-fa33-11e9-be5b-a960e3c83f4d",
    "type": "index-pattern"
  },
  {
    "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index",
    "id": "71eacc40-fa33-11e9-be5b-a960e3c83f4d",
    "type": "index-pattern"
  }
]

我知道这并不能完全回答您的问题,但确实提供了恢复后解决问题的解决方案。顺便提一句。我正在使用 Kibana 7.4.0

如果你有大量的可视化,那么这可能会成为一项大工作。也许其他人知道如何在外部批量编辑这些配置。

于 2019-11-27T08:18:49.393 回答