迁移API

edit

迁移API为Kibana的升级助手功能提供支持。

这些API是为Kibana的升级助手间接使用的。 我们强烈建议您使用升级助手从8.16升级到9.0.0-beta1。有关升级说明,请参阅 升级到Elastic 9.0.0-beta1

弃用信息API

edit

这些API是为Kibana的升级助手的间接使用而设计的。 我们强烈建议您使用升级助手从8.16升级到9.0.0-beta1。有关升级说明,请参阅 升级到Elastic 9.0.0-beta1

弃用 API 用于检索有关不同集群、节点和索引级别设置的信息,这些设置使用了将在未来版本中移除或更改的已弃用功能。

请求

edit

GET /_migration/deprecations

GET //_migration/deprecations

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有manage 集群权限才能使用此API。

路径参数

edit
<target>

(可选,字符串) 逗号分隔的数据流或索引列表以进行检查。支持通配符 (*) 表达式。

当您指定此参数时,仅返回指定数据流或索引的弃用信息。

设置

edit

您可以使用以下设置来控制弃用信息API的行为:

此设置旨在供 Elasticsearch ServiceElastic Cloud EnterpriseElastic Cloud on Kubernetes 间接使用。 不支持直接使用。

deprecation.skip_deprecated_settings (动态) 默认为空列表。设置为要被弃用信息API忽略的设置名称列表。与此列表中的设置相关的任何弃用信息将不会被API返回。支持简单的通配符匹配。

示例

edit

要查看集群中的违规者列表,请向_migration/deprecations端点提交GET请求:

GET /_migration/deprecations

示例响应:

{
  "cluster_settings" : [
    {
      "level" : "critical",
      "message" : "Cluster name cannot contain ':'",
      "url" : "https://www.elastic.co/guide/en/elasticsearch/reference/7.0/breaking-changes-7.0.html#_literal_literal_is_no_longer_allowed_in_cluster_name",
      "details" : "This cluster is named [mycompany:logging], which contains the illegal character ':'."
    }
  ],
  "node_settings" : [ ],
  "index_settings" : {
    "logs:apache" : [
      {
        "level" : "warning",
        "message" : "Index name cannot contain ':'",
        "url" : "https://www.elastic.co/guide/en/elasticsearch/reference/7.0/breaking-changes-7.0.html#_literal_literal_is_no_longer_allowed_in_index_name",
        "details" : "This index is named [logs:apache], which contains the illegal character ':'."
      }
    ]
  },
  "ml_settings" : [ ]
}

响应详细列出了所有在升级集群之前应解决的具体前向不兼容设置。任何有问题的设置都会以弃用警告的形式表示。

以下是一个弃用警告的示例:

{
  "level" : "warning",
  "message" : "This is the generic descriptive message of the breaking change",
  "url" : "https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html",
  "details" : "more information, like which nodes, indices, or settings are to blame"
}

如所示,有一个level属性,用于描述问题的严重性。

警告

您可以直接升级,但您正在使用已弃用的功能,这些功能在未来的版本中将不可用或行为不同。

关键

如果不解决这个问题,您无法进行升级。

The message 属性和可选的 details 属性提供了有关弃用警告的描述性信息。The url 属性提供了一个链接,指向 Breaking Changes 文档,您可以在其中找到有关此更改的更多信息。

任何集群级别的弃用警告都可以在 cluster_settings 键下找到。同样,任何节点级别的警告都可以在 node_settings 键下找到。由于只有一部分节点可能包含这些设置,因此阅读 details 部分以获取有关受影响节点的更多信息非常重要。索引警告按索引分段,并且可以使用查询中的索引模式进行过滤。此部分包括请求路径中指定的数据流的备份索引的警告。与机器学习相关的弃用警告可以在 ml_settings 键下找到。

以下示例请求仅显示所有 logstash-* 索引的索引级别弃用信息:

GET /logstash-*/_migration/deprecations

功能迁移API

edit

这些API是为Kibana的升级助手的间接使用而设计的。 我们强烈建议您使用升级助手从8.16升级到9.0.0-beta1。有关升级说明,请参阅 升级到Elastic 9.0.0-beta1

版本升级有时需要更改功能在系统索引中存储配置信息和数据的方式。功能迁移API使您能够查看哪些功能需要更改、启动自动迁移过程以及检查迁移状态。

在迁移过程中,某些功能可能会暂时不可用。

请求

edit

GET /_migration/system_features

POST /_migration/system_features

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有manage 集群权限才能使用此API。

描述

edit

提交一个GET请求到_migration/system_features端点,以查看需要迁移的功能以及任何正在进行中的迁移的状态。

提交一个POST请求到端点以启动迁移过程。

示例

edit

当您向 _migration/system_features 端点提交 GET 请求时,响应会指示需要迁移的任何功能的状态。

GET /_migration/system_features

示例响应:

{
  "features" : [
    {
      "feature_name" : "async_search",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "enrich",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "ent_search",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "fleet",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "geoip",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "kibana",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "logstash_management",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "machine_learning",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "searchable_snapshots",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "security",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "synonyms",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "tasks",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "transform",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "watcher",
      "minimum_index_version" : "8100099",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    }
  ],
  "migration_status" : "NO_MIGRATION_NEEDED"
}

当您向 _migration/system_features 端点提交 POST 请求以启动迁移过程时,响应会指示将迁移哪些功能。

POST /_migration/system_features

示例响应:

{
  "accepted" : true,
  "features" : [
    {
      "feature_name" : "security" 
    }
  ]
}

Elasticsearch 安全功能将在集群升级之前迁移。

后续的GET请求将返回迁移过程的状态。