背景
因为调整index,重建Index patterns{名字一样}后导致Visualizations和 Dashboards等视图不能正常打开,提示
Could not locate that index-pattern (id: xxxxxx), click here to re-create it
这是因为index id 已经改变。
重建Index patterns如何保持ID一致,视图不受影响。
在删除前,记录旧 index pattern
的ID,然后在创建新的 index pattern
时使用旧 index pattern
的ID
如何获得index pattern
的ID
方法1 使用dev tools
GET .kibana/_search
{
"query": {
"match": {
"index-pattern.title": "logs_template-*" #index名称
}
}
}
输出:
"hits" : [
{
"_index" : ".kibana_1",
"_type" : "_doc",
"_id" : "index-pattern:09176830-f11c-11ec-853a-6f964690836d",
····
方法2 查看url
Kibana > Management > Index patterns > logs_template-* #编辑index patterns
此时的浏览器的url:***/app/kibana#/management/kibana/index_patterns/09176830-f11c-11ec-853a-6f964690836d
?_g=
如何使用旧 index pattern的ID
Kibana >Management > Index patterns > Create index pattern
在创建新的index patterns时 第二步 【Show advanced options】
custome index pattern id 填入 id
这样就能保护Dashboards不被销毁。
重建Index patterns ID变化,视图如何恢复。
首先需要了解是
Discover、Visualizations、Dashboards
保存的搜索 都在:
Kibana >Management > Saved objects
所以 我们只要恢复相关的Saved Objects
就可以了
方法1 #对于低版本 references 中有ID
Kibana >Management > Saved objects > 对应的index pattern > inspect
[
{
"name": "kibanaSavedObjectMeta.searchSourceJSON.index",
"type": "index-pattern",
"id": "906f3b00-99e5-11e9-a677-f58a6457b295"
},
{
"name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index",
"type": "index-pattern",
"id": "906f3b00-99e5-11e9-a677-f58a6457b295"
},
{
"name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index",
"type": "index-pattern",
"id": "906f3b00-99e5-11e9-a677-f58a6457b295"
}
]
将id 改成新的 index pattern
的ID 保存即可
方法2 references 中没有ID
Kibana >Management > Saved objects > 选择对应的index pattern > export
- 编辑导出
export.ndjson
文件 - 查找并替换ID
- 使用
Saved objects
的 import功能,选择覆盖
方法一简单方便,方法2 需要导入导出,但能批量修改
参阅
ELK如何更新 Kibana Visualization & Dashboard 對應的 Index Pattern