迁移已保存的对象编辑

每次升级 Kibana 时,都会执行升级迁移,以确保所有 已保存的对象 都与新版本兼容。

Kibana 包含一个 升级助手 来帮助您准备升级。要访问助手,请转至 堆栈管理 > 升级助手

Kibana 7.12.0 及更高版本使用新的迁移流程和索引命名方案。在升级之前,请阅读您的 Kibana 版本的文档。

kibana.indexxpack.tasks.index 配置设置已过时,并且在 8.x 中不再考虑。如果您使用自定义索引名称,请在尝试升级到 8.x 之前执行必要的调整。

已保存对象的迁移工作原理编辑

当您启动新的 Kibana 安装时,会在启动插件或提供 HTTP 流量之前执行升级迁移。在升级之前,请关闭旧节点以防止丢失已确认的写入。为了降低旧节点丢失已确认写入的可能性,Kibana 7.12.0 及更高版本会向过时的索引添加写入块。

已保存的对象存储在多个索引中。虽然它们都以 .kibana* 前缀开头,但还存在其他 .kibana* 索引,它们不用于存储已保存的对象。下表列出了每个 Kibana 版本使用的已保存对象索引。

表 1. 每个 Kibana 版本的已保存对象索引和别名

从以下版本升级 索引 别名

6.5.0 至 7.3.x

.kibana_N

.kibana

7.4.0 至 7.11.x

.kibana_N
.kibana_task_manager_N

.kibana
.kibana_task_manager

7.11.x 至 8.7.x

.kibana_{kibana_version}_001
.kibana_task_manager_{kibana_version}_001

.kibana, .kibana_{kibana_version}
.kibana_task_manager, .kibana_task_manager_{kibana_version}

8.8.0+

.kibana_{kibana_version}_001
.kibana_alerting_cases_{kibana_version}_001 .kibana_analytics_{kibana_version}_001 .kibana_ingest_{kibana_version}_001 .kibana_task_manager_{kibana_version}_001 .kibana_security_solution_{kibana_version}_001

.kibana, .kibana_{kibana_version}
.kibana_alerting_cases, .kibana_alerting_cases_{kibana_version} .kibana_analytics, .kibana_analytics_{kibana_version} .kibana_ingest, .kibana_ingest_{kibana_version} .kibana_task_manager, .kibana_task_manager_{kibana_version} .kibana_security_solution, .kibana_security_solution_{kibana_version}

从 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 回滚到以前的版本。