获取快照状态 API编辑

检索参与快照的每个分片的当前状态的详细描述。

response = client.snapshot.status
puts 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
快照当前正在运行。
PARTIAL
全局集群状态已存储,但至少一个分片的数据未成功存储。响应的 failures 部分包含有关未正确处理的分片的更多详细信息。
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 的其他信息,例如分片状态和文件统计信息。

response = client.snapshot.status(
  repository: 'my_repository',
  snapshot: 'snapshot_2'
)
puts 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
              }
            }
          }
        }
      }
    }
  ]
}