📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

此 API 用于获取快照的当前状态信息。

API #

GET /_snapshot/_status
GET /_snapshot/{repository}/_status
GET /_snapshot/{repository}/{snapshot}/_status

API 的作用 #

返回快照的当前状态信息,包括:

  • 正在进行中的快照:正在执行的快照进度
  • 已完成的快照:快照的详细统计信息
  • 快照统计:文档数量、字节数、分片状态等

API 的参数 #

路由参数 #

参数类型是否必需描述
repositorystring可选仓库名称
默认:_all(所有仓库)
snapshotstring可选快照名称
默认:所有快照

查询字符串参数 #

参数类型是否必需默认值描述
ignore_unavailableboolean可选false是否忽略不可用的快照
true:遇到不可用快照不报错
false:不可用快照会抛出异常
master_timeouttime可选30s等待主节点发现的超时时间

请求示例 #

# 查询所有仓库中所有快照的状态
GET /_snapshot/_status

# 查询指定仓库中所有快照的状态
GET /_snapshot/my-repo/_status

# 查询指定仓库中特定快照的状态
GET /_snapshot/my-repo/snapshot1/_status

# 忽略不可用的快照
GET /_snapshot/_status?ignore_unavailable=true

# 设置主节点超时时间
GET /_snapshot/_status?master_timeout=60s

响应示例 #

成功响应 - 正在进行中的快照 #

{
  "snapshots": [
    {
      "snapshot": "snapshot1",
      "repository": "my-repo",
      "state": "IN_PROGRESS",
      "indices": ["index1", "index2", "index3"],
      "shards": {
        "total": 9,
        "pending": 3,
        "successful": 6,
        "failed": 0
      },
      "stats": {
        "incremental": {
          "file_count": 15,
          "size_in_bytes": 524288000
        },
        "total": {
          "file_count": 15,
          "size_in_bytes": 524288000
        },
        "start_time_in_millis": 1707033600000,
        "time_in_millis": 15000
      }
    }
  ]
}

成功响应 - 已完成的快照 #

{
  "snapshots": [
    {
      "snapshot": "snapshot1",
      "repository": "my-repo",
      "state": "SUCCESS",
      "indices": ["index1", "index2", "index3"],
      "shards": {
        "total": 9,
        "successful": 9,
        "failed": 0
      },
      "stats": {
        "incremental": {
          "file_count": 150,
          "size_in_bytes": 5242880000
        },
        "total": {
          "file_count": 150,
          "size_in_bytes": 5242880000
        },
        "start_time_in_millis": 1707033600000,
        "time_in_millis": 45000
      }
    }
  ]
}

响应字段说明 #

字段描述
snapshot快照名称
repository仓库名称
state快照状态
IN_PROGRESS:进行中
SUCCESS:成功
FAILED:失败
PARTIAL:部分成功
indices快照包含的索引列表
shards.total总分片数
shards.pending等待处理的分片数
shards.successful成功的分片数
shards.failed失败的分片数
stats.incremental.file_count增量文件数量
stats.incremental.size_in_bytes增量文件大小(字节)
stats.total.file_count总文件数量
stats.total.size_in_bytes总文件大小(字节)
stats.start_time_in_millis开始时间(毫秒)
stats.time_in_millis耗时(毫秒)

使用场景 #

  1. 进度监控:监控正在进行中的快照进度
  2. 问题排查:诊断快照失败的原因
  3. 信息查询:获取已完成的快照统计信息
  4. 容量评估:评估快照占用的存储空间

快照状态说明 #

状态描述
IN_PROGRESS快照正在进行中
SUCCESS快照成功完成
FAILED快照失败
PARTIAL部分分片失败
INCOMPATIBLE快照与当前版本不兼容

监控建议 #

  1. 定期检查:定期检查快照进度
  2. 失败告警:对失败的快照设置告警
  3. 存储监控:监控快照占用的存储空间
  4. 时间跟踪:记录快照完成时间用于容量规划

注意事项 #

  1. 此 API 只支持 GET 方法
  2. 默认查询所有仓库和所有快照
  3. 不可用的快照默认会导致错误,使用 ignore_unavailable=true 忽略
  4. 正在进行中的快照会返回实时进度信息

相关文档 #