API получения статуса снимка
Извлекает подробное описание текущего состояния для каждого шарда, участвующего в снимке.
GET _snapshot/_status
Запрос
GET _snapshot/_status
GET _snapshot/<repository>/_status
GET _snapshot/<repository>/<snapshot>/_status
Предварительные условия
- Если функции безопасности Elasticsearch включены, для использования этого API необходимо иметь привилегию кластера
monitor_snapshot,create_snapshotилиmanagecluster privilege.
Описание
Используйте API получения состояния снимка, чтобы получить подробную информацию о шардах, участвующих в снимке.
Если вы опускаете параметр пути запроса <snapshot>, запрос извлекает информацию только для текущих снимков. Это предпочтительный способ использования.
При необходимости вы можете указать <repository> и <snapshot>, чтобы получить информацию для конкретных снимков, даже если они не работают в данный момент.
Использование API для возврата состояния любых снимков, кроме текущих, может быть дорогостоящим. API требует чтения из репозитория для каждого шарда в каждом снимке. Например, если у вас есть 100 снимков по 1000 шардов каждый, запрос API, включающий все снимки, потребует 100 000 чтений (100 снимков * 1000 шардов).
В зависимости от задержки вашего хранилища, такие запросы могут занимать очень много времени для возврата результатов. Эти запросы также могут нагружать ресурсы машины и, при использовании облачного хранилища, приводить к высоким затратам на обработку.
Параметры пути
-
<repository> - (Необязательно, строка) Имя репозитория снимков, используемое для ограничения запроса. Поддерживает подстановки (
*), если<snapshot>не указан. -
<snapshot> - (Необязательно, строка) Список снимков, разделенный запятыми, для которых необходимо получить состояние. По умолчанию используются текущие снимки. Подстановки (
*) не поддерживаются.
Параметры запроса
-
master_timeout - (Необязательно, time units) Период ожидания соединения с узлом-мастером. Если ответ не получен до истечения времени ожидания, запрос завершается ошибкой и возвращает сообщение об ошибке. По умолчанию —
30s. -
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 - (объект) Количество и размер файлов, которые уже были загружены в снимок. После загрузки файла обработанные
file_countиsize_in_bytesувеличиваются вstats. -
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.
-
-
Пример
Следующий запрос возвращает подробную информацию о статусе snapshot_2 в репозитории my_repository. Этот ответ включает дополнительную информацию помимо API получения моментального снимка, такую как статус фрагментации и статистику файлов.
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
}
}
}
}
}
}
]
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/get-snapshot-status-api.html