【问题标题】:Export/Import Kibana 4 saved Searches, Visualization & Dashboards导出/导入 Kibana 4 保存的搜索、可视化和仪表板
【发布时间】:2018-10-25 00:28:46
【问题描述】:

我正在寻找导出然后导入所有 Kibana 4 保存的搜索、可视化和仪表板所需的命令列表。 我还希望为 logstash 自动创建默认的 Kibana 4 索引模式。

我已尝试使用此处所述的弹性转储http://air.ghost.io/kibana-4-export-and-import-visualizations-and-dashboards/,但未创建默认的 Kibana 索引模式,并且似乎未导出已保存的搜索。

【问题讨论】:

    标签: elasticsearch kibana-4


    【解决方案1】:

    您可以从设置>>对象中导出保存的可视化、仪表板和搜索,如下图所示

    您还必须使用仪表板导出关联的可视化和搜索。单击仪表板导出将不包括依赖对象。

    所有与已保存对象有关的信息,例如已保存的搜索、索引模式、仪表板和可视化,都保存在 Elasticsearch 的 .kibana 索引中。

    【讨论】:

      【解决方案2】:

      GitHub 项目 elastic/beats-dashboards 包含一个 Python script 用于转储 Kibana 定义(到 JSON,每个定义一个文件),以及一个 shell script 用于将这些导出的定义加载到 Elasticsearch 实例中。

      Python 脚本转储了所有 Kibana 定义,就我而言,这超出了我的预期。

      我只想分发一些定义:具体来说,一些仪表板(及其可视化和搜索)的定义,而不是我的 Elasticsearch 实例上的所有仪表板。

      我考虑了各种选项,包括编写脚本以获取特定的仪表板定义,然后解析该定义,并获取引用的可视化和搜索定义,但现在,我采用了以下解决方案(不优雅但实用) .

      在 Kibana 中,我编辑了每个定义,并在描述字段中插入了一个字符串,该字符串将定义标识为我要导出的定义。例如,"#exportme"

      在转储定义的 Python 脚本(来自 beats-dashboards)中,我在搜索函数调用中引入了一个查询参数,将其限制为具有该标识字符串的定义。例如:

      res = es.search(
          index='.kibana',
          doc_type=doc_type,
          size=1000,
          q='description:"#exportme"')
      

      (实际上,与其硬编码“主题标签”,不如通过命令行参数指定它。)

      我特别喜欢 elastic/beats-dashboards 提供的 dump'n'load 脚本的一个方面是它们的粒度:每个定义一个 JSON 文件。我发现这对版本控制很有用。

      【讨论】:

        【解决方案3】:

        您可以像这样使用 elasticdump 进行搜索:

        elasticdump --input=http://localhost:9200/.kibana --output=$ --type=data --searchBody='{"filter": {"type": {"value": "search"}} }'
        

        【讨论】:

          猜你喜欢
          • 2023-03-25
          • 1970-01-01
          • 2021-08-07
          • 1970-01-01
          • 2017-11-03
          • 2015-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多