Описание жизненного цикла потока данных
Возвращает текущий статус жизненного цикла потока данных для одного или нескольких индексов-источников потока данных.
Предварительные условия
Если в Elasticsearch включены функции безопасности, необходимо иметь как минимум привилегию manage_data_stream_lifecycle для индекса или привилегию view_index_metadata для индекса, чтобы использовать этот API. Дополнительную информацию см. в разделе Привилегии безопасности.
Запрос
GET <target>/_lifecycle/explain
Описание
Возвращает информацию о текущем состоянии жизненного цикла индекса или потока данных, например, время с момента создания индекса, время с момента смены поколения, конфигурацию жизненного цикла, управляющую индексом, или любые ошибки, которые Elasticsearch мог обнаружить во время выполнения жизненного цикла.
Параметры пути
-
<target> - (Обязательный, строка) Список индексов или потоков данных, разделенных запятыми.
Параметры запроса
-
include_defaults - (Необязательный, булево значение) Включает конфигурации по умолчанию, относящиеся к жизненному циклу целевого объекта. По умолчанию установлено значение
false. -
master_timeout - (Необязательный, единицы времени) Период ожидания главного узла. Если главный узел недоступен до истечения таймаута, запрос завершается ошибкой и возвращается ошибка. По умолчанию установлено значение
30s. Также может быть установлено значение-1, чтобы указать, что запрос никогда не должен превышать время ожидания.
Примеры
Если необходимо получить состояние жизненного цикла всех индексов-источников потока данных, можно использовать имя потока данных. Для простоты, следующий пример получает состояние жизненного цикла одного индекса-источника .ds-metrics-2023.03.22-000001:
resp = client.indices.explain_data_lifecycle(
index=".ds-metrics-2023.03.22-000001",
)
print(resp) response = client.indices.explain_data_lifecycle( index: '.ds-metrics-2023.03.22-000001' ) puts response
const response = await client.indices.explainDataLifecycle({
index: ".ds-metrics-2023.03.22-000001",
});
console.log(response); GET .ds-metrics-2023.03.22-000001/_lifecycle/explain
Если индекс управляется жизненным циклом потока данных, explain покажет поле managed_by_lifecycle со значением true, а остальная часть ответа будет содержать информацию о состоянии выполнения жизненного цикла для этого индекса:
{
"indices": {
".ds-metrics-2023.03.22-000001": {
"index" : ".ds-metrics-2023.03.22-000001",
"managed_by_lifecycle" : true,
"index_creation_date_millis" : 1679475563571,
"time_since_index_creation" : "843ms",
"rollover_date_millis" : 1679475564293,
"time_since_rollover" : "121ms",
"lifecycle" : { },
"generation_time" : "121ms"
}
} | Показывает, управляется ли индекс жизненным циклом потока данных. Если индекс не управляется жизненным циклом потока данных, другие поля не будут отображаться | |
| Дата создания индекса используется для определения времени перехода к следующей фазе | |
| Время с момента создания индекса (используется для расчета времени перехода к следующей фазе с помощью | |
| Время перехода индекса к следующей фазе. Если индекс не переходил к следующей фазе, это поле не отобразится. | |
| Время с момента перехода индекса к следующей фазе. Если индекс не переходил к следующей фазе, это поле не отобразится. | |
| Конфигурация жизненного цикла, которая применяется к этому индексу (которая настроена на родительском потоке данных) | |
| Время создания поколения индекса, представляющее время с момента начала выполнения индексом пользовательских/бизнес-специфических частей жизненного цикла (например, удержания). |
explain также сообщит об любых ошибках, связанных с выполнением жизненного цикла для целевого индекса:
{
"indices": {
".ds-metrics-2023.03.22-000001": {
"index" : ".ds-metrics-2023.03.22-000001",
"managed_by_lifecycle" : true,
"index_creation_date_millis" : 1679475563571,
"time_since_index_creation" : "843ms",
"lifecycle" : {
"enabled": true
},
"error": "{\"type\":\"validation_exception\",\"reason\":\"Validation Failed: 1: this action would add [2] shards, but this cluster
currently has [4]/[3] maximum normal shards open;\"}"
}
} | Целевой индекс не может быть переведен к следующей фазе из-за ограничения на количество фрагментов, разрешенных в кластере. |
© 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/8.17/data-streams-explain-lifecycle.html