获取快照状态 API

编辑

检索参与快照的每个分片当前状态的详细描述。请注意,此 API 应该仅用于获取正在进行的快照的详细分片级别信息。如果不需要此详细信息,或者您想获取有关一个或多个现有快照的信息,请使用获取快照 API

resp = client.snapshot.status()
print(resp)
response = client.snapshot.status
puts response
const response = await client.snapshot.status();
console.log(response);
GET _snapshot/_status

请求

编辑

GET _snapshot/_status

GET _snapshot/<repository>/_status

GET _snapshot/<repository>/<snapshot>/_status

先决条件

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

描述

编辑

使用获取快照状态 API 来获取有关参与快照的分片的详细信息。

如果您省略 <snapshot> 请求路径参数,则该请求仅检索当前正在运行的快照的信息。建议使用此方式。

如果需要,您可以指定 <repository><snapshot> 来检索特定快照的信息,即使它们当前没有运行。

使用该 API 返回除当前正在运行的快照之外的任何快照的状态可能会很耗费资源。该 API 需要从存储库中读取每个快照中的每个分片。例如,如果您有 100 个快照,每个快照有 1,000 个分片,则包含所有快照的 API 请求将需要 100,000 次读取(100 个快照 * 1,000 个分片)。

根据您的存储延迟,此类请求可能需要很长时间才能返回结果。这些请求还会占用机器资源,并且在使用云存储时会产生高昂的处理成本。

路径参数

编辑
<repository>
(可选,字符串)用于限制请求的快照存储库名称。如果未指定 <snapshot>,则支持通配符 (*)。
<snapshot>
(可选,字符串)要检索状态的快照的逗号分隔列表。默认为当前正在运行的快照。不支持通配符 (*)。

查询参数

编辑
master_timeout
(可选,时间单位)等待主节点的时间段。如果在超时到期之前主节点不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1 以表示请求永远不应超时。
ignore_unavailable

(可选,布尔值)如果为 false,则请求会为任何不可用的快照返回错误。默认为 false

如果为 true,则请求会忽略不可用的快照,例如已损坏或暂时无法返回的快照。

响应体

编辑
repository
(字符串)包含快照的存储库名称。
snapshot
(字符串)快照的名称。
uuid
(字符串)快照的全局唯一标识符 (UUID)。
state

(字符串)指示当前快照状态。

state 的值
FAILED
快照完成时出现错误,未能存储任何数据。
STARTED
快照当前正在运行。
SUCCESS
快照已完成。
include_global_state
(布尔值)指示快照中是否包含当前集群状态。
shards_stats

(对象)包含快照中分片的计数。

shards_stats 的属性
initializing
(整数)仍在初始化的分片数。
started
(整数)已启动但未完成的分片数。
finalizing
(整数)正在完成但尚未完成的分片数。
done
(整数)已成功初始化、启动和完成的分片数。
failed
(整数)未能包含在快照中的分片数。
total
(整数)快照中包含的分片总数。
stats

(对象)提供有关快照中包含的文件数 (file_count) 和大小 (size_in_bytes) 的详细信息。

stats 的属性
incremental

(对象)仍然需要作为增量快照一部分复制的文件数和大小。

对于已完成的快照,此属性指示存储库中尚未存在的且作为增量快照一部分复制的文件数和大小。

processed
(对象)已上传到快照的文件数和大小。上传文件后,stats 中的已处理 file_countsize_in_bytes 会递增。
total
(对象)快照引用的文件总数和大小。
start_time_in_millis
(长整型)快照创建过程开始的时间,以毫秒为单位。
time_in_millis
(长整型)快照过程完成所用的总时间,以毫秒为单位。
<index>

(对象列表)包含有关快照中包含的索引信息的对象列表。

<index> 的属性
shards_stats
(对象)请参阅 shards_stats
stats
(对象)请参阅 stats
shards

(对象列表)包含有关包含快照的分片信息的对象列表。

shards 的属性
stage

(字符串)指示包含快照的分片的当前状态。

stage 的属性
DONE
快照中已成功存储在存储库中的分片数。
FAILURE
快照中未成功存储在存储库中的分片数。
FINALIZE
快照中处于存储在存储库的完成阶段的分片数。
INIT
快照中处于存储在存储库的初始化阶段的分片数。
STARTED
快照中处于存储在存储库的启动阶段的分片数。
stats
(对象)请参阅 stats
total
(对象)快照引用的文件总数和大小。
start_time_in_millis
(长整型)请参阅 start_time_in_millis
time_in_millis
(长整型)请参阅 time_in_millis

示例

编辑

以下请求返回 my_repository 存储库中 snapshot_2 的详细状态信息。此响应包含超出获取快照 API 的附加信息,例如分片状态和文件统计信息。

resp = client.snapshot.status(
    repository="my_repository",
    snapshot="snapshot_2",
)
print(resp)
response = client.snapshot.status(
  repository: 'my_repository',
  snapshot: 'snapshot_2'
)
puts response
const response = await client.snapshot.status({
  repository: "my_repository",
  snapshot: "snapshot_2",
});
console.log(response);
GET _snapshot/my_repository/snapshot_2/_status
{
  "snapshots" : [
    {
      "snapshot" : "snapshot_2",
      "repository" : "my_repository",
      "uuid" : "lNeQD1SvTQCqqJUMQSwmGg",
      "state" : "SUCCESS",
      "include_global_state" : false,
      "shards_stats" : {
        "initializing" : 0,
        "started" : 0,
        "finalizing" : 0,
        "done" : 1,
        "failed" : 0,
        "total" : 1
      },
      "stats" : {
        "incremental" : {
          "file_count" : 3,
          "size_in_bytes" : 5969
        },
        "total" : {
          "file_count" : 4,
          "size_in_bytes" : 6024
        },
        "start_time_in_millis" : 1594829326691,
        "time_in_millis" : 205
      },
      "indices" : {
        "index_1" : {
          "shards_stats" : {
            "initializing" : 0,
            "started" : 0,
            "finalizing" : 0,
            "done" : 1,
            "failed" : 0,
            "total" : 1
          },
          "stats" : {
            "incremental" : {
              "file_count" : 3,
              "size_in_bytes" : 5969
            },
            "total" : {
              "file_count" : 4,
              "size_in_bytes" : 6024
            },
            "start_time_in_millis" : 1594829326896,
            "time_in_millis" : 0
          },
          "shards" : {
            "0" : {
              "stage" : "DONE",
              "stats" : {
                "incremental" : {
                  "file_count" : 3,
                  "size_in_bytes" : 5969
                },
                "total" : {
                  "file_count" : 4,
                  "size_in_bytes" : 6024
                },
                "start_time_in_millis" : 1594829326896,
                "time_in_millis" : 0
              }
            }
          }
        }
      }
    }
  ]
}