迁移已保存的对象
编辑迁移已保存的对象编辑
每次升级 Kibana 时,都会执行升级迁移,以确保所有 已保存的对象 都与新版本兼容。
Kibana 包含一个 升级助手 来帮助您准备升级。要访问助手,请转至 堆栈管理 > 升级助手。
Kibana 7.12.0 及更高版本使用新的迁移流程和索引命名方案。在升级之前,请阅读您的 Kibana 版本的文档。
kibana.index
和 xpack.tasks.index
配置设置已过时,并且在 8.x 中不再考虑。如果您使用自定义索引名称,请在尝试升级到 8.x 之前执行必要的调整。
已保存对象的迁移工作原理编辑
当您启动新的 Kibana 安装时,会在启动插件或提供 HTTP 流量之前执行升级迁移。在升级之前,请关闭旧节点以防止丢失已确认的写入。为了降低旧节点丢失已确认写入的可能性,Kibana 7.12.0 及更高版本会向过时的索引添加写入块。
已保存的对象存储在多个索引中。虽然它们都以 .kibana*
前缀开头,但还存在其他 .kibana*
索引,它们不用于存储已保存的对象。下表列出了每个 Kibana 版本使用的已保存对象索引。
表 1. 每个 Kibana 版本的已保存对象索引和别名
从以下版本升级 | 索引 | 别名 |
---|---|---|
6.5.0 至 7.3.x |
|
|
7.4.0 至 7.11.x |
|
|
7.11.x 至 8.7.x |
|
|
8.8.0+ |
|
|
从 7.11.0 开始,每个已保存的对象索引都有几个别名,例如 .kibana_8.8.0_001
索引有一个*默认*别名 .kibana
和一个*版本*别名 .kibana_8.8.0
。*默认*别名(例如 .kibana
和 .kibana_task_manager
)始终指向最新的已保存对象索引。然后,*版本*别名与已部署的 Kibana 版本一致。
从 8.6.0 开始,索引名称不一定与已部署的 Kibana 版本一致。当某个索引上的更新兼容时,Kibana 将保留现有索引,而不是创建新索引。这允许更有效的升级过程。以下示例说明了 8.8.0 部署的完全有效状态
-
.kibana_8.8.0_001
索引,带有.kibana
和.kibana_8.8.0
别名。 -
.kibana_task_manager_8.7.0_001
索引,带有.kibana_task_manager
和.kibana_task_manager_8.8.0
别名。
从 8.8.0 开始,Kibana 将主保存对象索引拆分为多个,如上表所示。从先前版本升级时,Kibana 迁移过程会根据对象的类型将某些保存对象从 .kibana
索引重新索引到新索引中。请注意,.kibana
索引仍然存在,并且它继续存储多种保存对象类型。
旧的 Kibana 索引编辑
随着部署的逐步升级,会在 Elasticsearch 中创建多个 Kibana 索引:(.kibana_1
、.kibana_2
、.kibana_7.12.0_001
、.kibana_7.13.0_001
、.kibana_8.0.0_001
等)。Kibana 仅使用*默认*和*版本*别名指向的那些索引。其他较旧的 Kibana 已保存对象索引可以安全删除,但会保留下来作为历史记录,并方便将 Kibana 回滚到以前的版本。