导出/导入Kibana 4保存了搜索,可视化和仪表板

时间:2015-03-30 15:26:13

标签: elasticsearch kibana-4

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

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

3 个答案:

答案 0 :(得分:2)

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

enter image description here

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

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

答案 1 :(得分:2)

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

Python脚本会转储所有Kibana定义,在我看来,这些定义比我想要的更多。

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

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

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

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

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

(实际上,不是硬编码“hashtag”,最好通过命令行参数指定它。)

dump'n'load脚本提供的弹性/节拍 - 仪表板的一个方面我特别喜欢它们的粒度:每个定义一个JSON文件。我觉得这对版本控制很有用。

答案 2 :(得分:0)

您可以使用elasticdump进行搜索,如下所示:

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