弃用信息 API

编辑

这些 API 旨在供 Kibana 的 升级助手 间接使用。我们强烈建议您使用 升级助手 从 7.17 升级到 8.17.0。有关升级说明,请参阅升级到 Elastic 8.17.0

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

请求

编辑

GET /_migration/deprecations

GET /<target>/_migration/deprecations

先决条件

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

路径参数

编辑
<target>

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

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

设置

编辑

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

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

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

示例

编辑

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

resp = client.migration.deprecations()
print(resp)
response = client.migration.deprecations
puts response
const response = await client.migration.deprecations();
console.log(response);
GET /_migration/deprecations

示例响应

{
  "cluster_settings" : [
    {
      "level" : "critical",
      "message" : "Cluster name cannot contain ':'",
      "url" : "https://elastic.ac.cn/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://elastic.ac.cn/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://elastic.ac.cn/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html",
  "details" : "more information, like which nodes, indices, or settings are to blame"
}

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

warning

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

critical

您必须解决此问题才能升级。

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

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

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

resp = client.migration.deprecations(
    index="logstash-*",
)
print(resp)
response = client.migration.deprecations(
  index: 'logstash-*'
)
puts response
const response = await client.migration.deprecations({
  index: "logstash-*",
});
console.log(response);
GET /logstash-*/_migration/deprecations