API explain lifecycle
Получает текущий статус жизненного цикла для одного или нескольких индексов. Для потоков данных API получает текущий статус жизненного цикла для базовых индексов потока.
Запрос
GET <target>/_ilm/explain
Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должны быть разрешения
view_index_metadataилиmanage_ilm, или оба, на индексах, которые управляются этим API. Дополнительную информацию см. в разделе Разрешения безопасности.
Описание
Получает информацию о текущем состоянии жизненного цикла индекса, например, о текущей фазе, действии и шаге. Показывается, когда индекс вошел в каждый из них, определение текущей фазы и информация о любых ошибках.
Параметры пути
-
<target> - (Обязательный, строка) Список данных потоков, индексов и алиасов для обработки, разделенных запятыми. Поддерживаются подстановочные знаки (
*). Для обработки всех потоков данных и индексов используйте*или_all.
Параметры запроса
-
only_managed - (Необязательный, логический тип) Фильтрует возвращаемые индексы, оставляя только индексы, управляемые ILM.
-
only_errors - (Необязательный, логический тип) Фильтрует возвращаемые индексы, оставляя только индексы, управляемые ILM и находящиеся в состоянии ошибки, либо из-за возникновения ошибки при выполнении политики, либо при попытке использовать несуществующую политику.
-
master_timeout - (Необязательный, единицы измерения времени) Период ожидания узла мастера. Если узел мастера недоступен до истечения времени ожидания, запрос завершается ошибкой. По умолчанию
30s. Также можно задать-1, чтобы указать, что запрос никогда не должен вызывать таймаут.
Примеры
Следующий пример получает состояние жизненного цикла my-index-000001:
resp = client.ilm.explain_lifecycle(
index="my-index-000001",
human=True,
)
print(resp) response = client.ilm.explain_lifecycle( index: 'my-index-000001', human: true ) puts response
const response = await client.ilm.explainLifecycle({
index: "my-index-000001",
human: "true",
});
console.log(response); GET my-index-000001/_ilm/explain?human
Когда управление индексом впервые берет на себя ILM, explain показывает, что индекс управляется и находится в фазе new:
{
"indices": {
"my-index-000001": {
"index": "my-index-000001",
"index_creation_date_millis": 1538475653281,
"index_creation_date": "2018-10-15T13:45:21.981Z",
"time_since_index_creation": "15s",
"managed": true,
"policy": "my_policy",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "15s",
"phase": "new",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "complete"
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "complete",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z"
}
}
} | При создании индекса используется эта временная метка для определения момента ролловера | |
| Время с момента создания индекса (используется для расчета момента перехода индекса в следующую фазу с помощью | |
| Показывает, управляется ли индекс ILM. Если индекс не управляется ILM, другие поля не будут показаны | |
| Имя политики, которую ILM использует для этого индекса | |
| Временная метка, используемая для | |
| Возраст индекса (используется для расчета момента перехода в следующую фазу) | |
| Когда индекс вошел в текущую фазу | |
| Когда индекс вошел в текущее действие | |
| Когда индекс вошел в текущий шаг |
После того, как политика запущена на индексе, ответ включает объект phase_execution, который показывает определение текущей фазы. Изменения в базовой политике не повлияют на этот индекс до завершения текущей фазы.
{
"indices": {
"test-000069": {
"index": "test-000069",
"index_creation_date_millis": 1538475653281,
"time_since_index_creation": "25.14s",
"managed": true,
"policy": "my_lifecycle3",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "25.14s",
"phase": "hot",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "rollover",
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "attempt-rollover",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z",
"phase_execution": {
"policy": "my_lifecycle3",
"phase_definition": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "30s",
"max_primary_shard_docs": 200000000,
"min_docs": 1
}
}
},
"version": 3,
"modified_date": "2018-10-15T13:21:41.576Z",
"modified_date_in_millis": 1539609701576
}
}
}
} | Определение фазы JSON, загруженное из указанной политики при входе индекса в эту фазу | |
| Действие ролловера включает в себя условия по умолчанию | |
| Версия загруженной политики | |
| Дата последнего изменения загруженной политики | |
| Временная метка эпохи последнего изменения загруженной политики |
Если ILM ожидает завершения шага, ответ включает в себя информацию о статусе выполняемого над индексом шага.
{
"indices": {
"test-000020": {
"index": "test-000020",
"index_creation_date_millis": 1538475653281,
"time_since_index_creation": "4.12m",
"managed": true,
"policy": "my_lifecycle3",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "4.12m",
"phase": "warm",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "allocate",
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "check-allocation",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z",
"step_info": {
"message": "Waiting for all shard copies to be active",
"shards_left_to_allocate": -1,
"all_shards_active": false,
"number_of_replicas": 2
},
"phase_execution": {
"policy": "my_lifecycle3",
"phase_definition": {
"min_age": "0ms",
"actions": {
"allocate": {
"number_of_replicas": 2,
"include": {
"box_type": "warm"
},
"exclude": {},
"require": {}
},
"forcemerge": {
"max_num_segments": 1
}
}
},
"version": 2,
"modified_date": "2018-10-15T13:20:02.489Z",
"modified_date_in_millis": 1539609602489
}
}
}
} | Статус шага, который выполняется. |
Если индекс находится в шаге ERROR, что-то пошло не так при выполнении шага в политике, и вам нужно принять меры, чтобы индекс перешел к следующему шагу. Некоторые шаги можно безопасно автоматически повторить в определенных обстоятельствах. Чтобы помочь вам диагностировать проблему, ответ explain показывает, какой шаг завершился ошибкой, информацию о шаге, содержащую информацию об ошибке, и информацию о попытках автоматического повторения выполнения завершившегося ошибкой шага, если это применимо.
{
"indices": {
"test-000056": {
"index": "test-000056",
"index_creation_date_millis": 1538475653281,
"time_since_index_creation": "50.1d",
"managed": true,
"policy": "my_lifecycle3",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "50.1d",
"phase": "hot",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "rollover",
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "ERROR",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z",
"failed_step": "check-rollover-ready",
"is_auto_retryable_error": true,
"failed_step_retry_count": 1,
"step_info": {
"type": "cluster_block_exception",
"reason": "index [test-000057/H7lF9n36Rzqa-KfKcnGQMg] blocked by: [FORBIDDEN/5/index read-only (api)",
"index_uuid": "H7lF9n36Rzqa-KfKcnGQMg",
"index": "test-000057"
},
"previous_step_info": {
"type": "cluster_block_exception",
"reason": "index [test-000057/H7lF9n36Rzqa-KfKcnGQMg] blocked by: [FORBIDDEN/5/index read-only (api)",
"index_uuid": "H7lF9n36Rzqa-KfKcnGQMg",
"index": "test-000057"
},
"phase_execution": {
"policy": "my_lifecycle3",
"phase_definition": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "30s"
}
}
},
"version": 3,
"modified_date": "2018-10-15T13:21:41.576Z",
"modified_date_in_millis": 1539609701576
}
}
}
} | Шаг, вызвавший ошибку | |
| Указывает, можно ли повторить неудавшийся шаг, чтобы устранить ошибку. Если это значение true, ILM автоматически повторит неудавшийся шаг. | |
| Показывает количество попыток автоматического повторения выполнения неудачного шага. | |
| Что пошло не так | |
| Содержит копию поля |
© 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/ilm-explain-lifecycle.html