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

4
我正在寻找导出和导入所有Kibana 4保存的搜索、可视化和仪表盘所需的命令列表。 我还希望自动创建用于logstash的默认Kibana 4索引模式。
我尝试使用elasticdump,如此处所述http://air.ghost.io/kibana-4-export-and-import-visualizations-and-dashboards/,但默认的Kibana索引模式未被创建,保存的搜索似乎没有被导出。
3个回答

2
GitHub项目elastic/beats-dashboards包含一个Python脚本,用于转储Kibana定义(到JSON,每个定义一个文件),以及一个shell脚本,用于将这些导出的定义加载到Elasticsearch实例中。
Python脚本转储了所有Kibana定义,在我的情况下,这超出了我想要的范围。
我只想分发一些定义:具体来说,是几个仪表板(及其可视化和搜索定义),而不是我Elasticsearch实例上的所有仪表板。
我考虑了各种选项,包括编写脚本来获取特定的仪表板定义,然后解析该定义,并获取引用的可视化和搜索定义,但目前,我采用了以下解决方案(不够优雅但实用)。
在Kibana中,我编辑了每个定义,并在描述字段中插入了一个字符串,标识该定义为我要导出的定义。例如,"#exportme"
在 Python 脚本(来自 beats 仪表板)中,我在搜索函数调用中引入了一个查询参数,将其限制为具有该标识字符串的定义。例如:
res = es.search(
    index='.kibana',
    doc_type=doc_type,
    size=1000,
    q='description:"#exportme"')

实际操作中,最好是通过命令行参数指定“hashtag”,而不是硬编码。提供了弹性/节拍仪面板的倾倒和加载脚本的一个方面,我特别喜欢它们的细粒度:每个定义一个JSON文件。我发现这对版本控制很有用。

2
您可以从设置 >> 对象中导出已保存的可视化、仪表板和搜索,如下图所示。 enter image description here 您还需要导出与仪表板相关联的可视化和搜索。仅单击导出仪表板不会包括相关对象。
所有关于已保存对象(例如已保存的搜索、索引模式、仪表板和可视化)的信息都保存在 Elasticsearch 中的 .kibana 索引中。

1
您可以使用elasticdump进行搜索,方法如下:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接