1

我们正在使用 Elasticsearch 和 Kibana 来存储和可视化一些应用程序信息。我创建了启动 Kibana 和 Elasticsearch 的 docker-compose。此组合应该仅用于在开发人员的本地计算机上部署。但当然,每次当一些开发人员启动这个堆栈时,他都会看到空的 kibana 仪表板。我想外部化 kibana 数据。最好的情况是,如果我们有一些 kibana-data.json 文件,并且当它正在创建和容器启动时,有关 kibana 对象的数据会出现在其中,它将通过该文件中包含的数据初始化 kibana。

我知道:

  1. Kibana 将它的数据存储在 .kibana 索引中的 elasticsearch 中。但我不明白如何外部化这个索引数据。
  2. https://github.com/elastic/kibana/pull/11632可以帮助我。但在这种情况下,我将不得不定期 ping kibana 并将新数据存储在文件中。当容器启动时,我将不得不在 kibana 中加载这些对象。听起来我将不得不为此编写一个新的应用程序。

你有什么建议?你如何解决类似的问题?

4

1 回答 1

0

我有一个类似的问题,我们的每个客户都有自己的仪表板,我们必须对其进行版本控制。我们开发了这个工具,可以用来解决你的问题https://github.com/vectranetworks/kibana-vc

只需运行kibana-vc fetch > kibana_state.json以外部化 Kibana 数据。每次启动 Kibana 容器时,运行kibana-vc deploy ./kibana_state.json以部署仪表板

于 2018-09-18T10:02:59.897 回答