本文介绍在数据迁移到SLS后,如何将原来Kibana中的Dashboard迁移到SLS对接的Kibana中。
方案概览
从旧的Kibana导出Dashboard的
export.ndjson文件。把
export.ndjson中的旧的Index pattern ID替换成新的KibanaIndex pattern ID。完成替换后,把
export.ndjson导入到新的Kibana中。
操作步骤
1. 在ES中准备数据和Dashboard, 并导出Dashboard配置
向ES写入如下数据。
POST people/_bulk { "index": {} } { "name": "Alice", "age": 30 } { "index": {} } { "name": "Bob", "age": 25 } { "index": {} } { "name": "Charlie", "age": 35 }在Kibana上基于people创建两个Dashboard,分别是
People Dashboard和People Names。
在
People Dashboard中创建一个图表。
单击进入Kibana,在Saved Objects页面,选择想要导出的Dashboard,注意不要勾选Include related objects,导出后Dashboard的内容存在
export.ndjson中。
2. 在SLS对接的Kibana中复用Dashboard
3. 执行迁移
查看源ES中的Index Pattern的ID,
kibana_config_1.json如下:{ "url" : "http://xxx:5601", "user" : "elastic", "password" : "", "space" : "default" }执行如下命令,使用ptn_list.py来查看Index Pattern。
➜ python ptn_list.py kibana_config_1.json f06fc2b0-****-****-****-15adf26175c7 people其中
f06fc2b0-****-****-****-15adf26175c7就是源people的index pattern的ID。可以在Kibana导出的Dashboard配置文件export.ndjson中,查看对Index Pattern ID的引用。
在SLS对接的Kibana中找到新的Index Pattern的ID。
同样使用ptn_list.py来查看新的Kibana中Index Pattern的ID。
# 准备好kibana_config_2.json ➜ python ptn_list.py kibana_config_2.json ef710470-****-****-****-ad198b7b763d etl.people通过sed命令批量修改
export.ndjson中的ID替换。sed -i 's/f06fc2b0-****-****-****-15adf26175c7/ef710470-****-****-****-ad198b7b763d/' export.ndjson单击进入新的Kibana,在Saved Objects页面,单击Import将export.ndjson导入,出现下面界面表示导入成功。

打开新的Dashboard查看导入结果。



