版本控制 Kibana 保存的对象?

mat*_*sev 5 amazon-web-services elasticsearch kibana elasticsearch-6 kibana-6

如何在 AWS 环境中自动化 Kibana 保存对象的版本控制?

我在 AWS 上托管了一个 Elasticsearch 域,并且我已经配置了 Kibana 来可视化数据。现在,出于以下几个原因,我想对 Kibana 配置进行版本控制:

  • 在不同的环境(开发、阶段、生产)中拥有一致的配置
  • Elasticsearch 域被删除的灾难恢复
  • 为了能够将 Elasticsearch 集群升级到最新版本(我不能按照 AWS 开发人员指南中的建议使用AWS 控制台升级 Elasticsearch,因为 Elasticsearch 域是 CloudFormation 堆栈的一部分。此外,根据 CloudFormation 用户指南,更新ElasticsearchVersion需要替换,因此需要版本控制)。

到目前为止,我发现的唯一解决方案包括几个手动步骤:

备份:

  1. 登录您的第一个 Kibana 环境
  2. Saved Objects在 Kibana 管理控制台中选择选项卡
  3. 按下Export Everything按钮
  4. 将下载的 .json 文件添加到版本控制

恢复:

  1. 登录第二个 Kibana 环境
  2. Index Patterns在 Kibana 管理控制台中选择选项卡
  3. 重新创建可视化所需的索引模式(请参阅Kibana 用户指南中的最后一个警告
  4. Saved Objects在 Kibana 管理控制台中选择选项卡
  5. 按下Import按钮并上传受版本控制的 .json 文件
  6. 重新映射每个索引模式(因为存储在 .json 文件中的那些源自第一个 Kibana 环境在第二个环境中不存在)
  7. 完毕(?)

这如何自动化?

当前环境:

  • Elasticsearch 版本 6.2.3
  • Kibana 版本 6.2.3