迁移已保存的对象

编辑

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

Kibana 包含一个升级助手来帮助您为升级做准备。要访问助手,请转到Stack Management > 升级助手

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