本文介绍在数据迁移到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查看导入结果。
该文章对您有帮助吗?