我正在寻找导出所需的命令列表,然后导入所有Kibana 4保存的搜索,可视化和仪表板。 我还希望自动为logstash创建默认的Kibana 4索引模式。
我已尝试使用此处列出的弹性转储http://air.ghost.io/kibana-4-export-and-import-visualizations-and-dashboards/,但未创建默认的Kibana索引模式,并且似乎未导出已保存的搜索。
答案 0 :(得分:2)
您可以从设置>>中导出已保存的可视化,仪表板和搜索。对象如下图所示
您还必须使用仪表板导出关联的可视化和搜索。单击仪表板导出将不包括依赖对象。
与保存的对象(如已保存的搜索,索引模式,仪表板和可视化)相关的所有信息都保存在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"}} }'