对于一个事实,我知道保存的 Kibana 仪表板(即,仪表板的JSON文件)保存在与特定 ElasticSearch 实例关联的OR中。如果要在连接到托管ElasticSearch的一台服务器上时保存我的Kibana实例,而又要将我的ElasticSearch服务器切换到另一台地址上,则会丢失保存的仪表板。但是,如果我要切换回原始服务器地址,则将获得保存的仪表板。

因此,我的问题是将仪表板保存在elasticsearch安装目录的确切位置。我宁愿能够运行脚本来自动加载我预先创建的Kibana仪表板,而不是每次启动新的ElasticSearch实例时都被迫通过Web控制台复制/粘贴JSON。

感谢您的帮助。

更新

根据此Google Groups post,仪表板以_kibana-int的类型和我命名为的_id的形式保存到dashboard _index中。因此,要将仪表板保存到新的ElasticSearch实例中,是否只需要通过CURL在此_index中执行PUT?有一个更好的方法吗?

最佳答案

是的,Kibana仪表板已保存在Elasticsearch中的kibana-int索引下(默认情况下,您可以在config.js文件中覆盖它)。如果要将Kibana仪表板移动到另一个ES集群,则有两个选择:

  • 手动导出仪表板。单击保存->高级->导出模式。您必须保存文件,然后必须在新的Kibana中导入,然后单击“加载”->“高级”->“选择文件”,然后选择已选择的文件。这很痛苦,因为您必须针对要迁移的仪表板执行此操作。
  • 您可以使用实用程序将ES索引从一个ES群集迁移到另一个ES群集。已经有一些实用程序可以执行此操作。在SO中搜索时,我发现this answer建议您使用Elasticsearch.pm library(Perl:S)来执行此操作。也许有更多这样的实用程序,但是我不认为执行将索引迁移到另一个集群的脚本是一件困难的事情。

  • 编辑:对于第二个选项,如果您对Python感到更自在,则可以使用python elasticsearch库及其帮助程序reindex

    关于elasticsearch - 自定义Kibana仪表板在ElasticSearch中的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22048179/

    10-15 20:19