API состояния
API, сообщающее о состоянии кластера Elasticsearch.
Запрос
GET /_health_report
GET /_health_report/<indicator>
Предварительные условия
- Если включены функции безопасности Elasticsearch, вам необходимо иметь
monitorилиmanageправо доступа к кластеру, чтобы использовать этот API.
Описание
API состояния возвращает отчет о состоянии кластера Elasticsearch. Отчет содержит список показателей, составляющих функциональность Elasticsearch.
Каждый показатель имеет состояние: green, unknown, yellow или red. Показатель предоставит объяснение и метаданные, описывающие причину его текущего состояния.
Состояние кластера контролируется наихудшим состоянием показателя.
В случае, если состояние показателя не зелёное, в результате показателя могут присутствовать список последствий, которые подробно описывают функции, которые негативно затронуты проблемой состояния. Каждое последствие имеет уровень серьёзности, область системы, которая затронута, и краткое описание влияния на систему.
Некоторые показатели состояния могут определить первопричину проблемы состояния и предложить набор шагов, которые можно выполнить для улучшения состояния системы. Первопричина и шаги по устранению неполадок заключены в diagnosis. Диагностика содержит причину, описывающую анализ первопричины, действие, содержащее краткое описание шагов по устранению проблемы, список затронутых ресурсов (при необходимости) и пошаговое руководство по устранению неполадок для решения диагностированной проблемы.
Показатели состояния выполняют анализ первопричины не зелёных состояний. Это может быть вычислительно затратно при частых вызовах. При настройке автоматического опроса API для проверки состояния, установите verbose на false, чтобы отключить более затратный логический анализ.
Параметры пути
-
<indicator> -
(Необязательно, строка) Ограничение информации, возвращаемой до конкретного показателя. Поддерживаемые показатели:
-
master_is_stable - Сообщает о проблемах со стабильностью узла, который рассматривается как мастер узлом, обрабатывающим запрос состояния. В случае достаточного количества наблюдаемых изменений мастера за короткий промежуток времени, этот показатель будет стремиться диагностировать и сообщить полезную информацию о проблемах формирования кластера, которые он обнаруживает.
-
shards_availability - Сообщает о проблемах, связанных с назначением фрагментов.
-
disk - Сообщает о проблемах, вызванных нехваткой дискового пространства.
-
ilm - Сообщает о проблемах, связанных с Управлением жизненным циклом индексирования.
-
repository_integrity - Отслеживает целостность хранилища и сообщает о проблемах состояния, которые возникают, если хранилища становятся поврежденными, неизвестными или недействительными.
-
slm - Сообщает о проблемах, связанных с Управлением жизненным циклом снимков.
-
shards_capacity - Сообщает о проблемах, связанных с емкостью фрагментов кластера.
-
Параметры запроса
-
verbose - (Необязательно, булево) Если
true, ответ включает дополнительные сведения, которые помогают объяснить состояние каждого показателя, который не в зелёном состоянии. Эти данные включают дополнительные параметры устранения неполадок и иногда анализ первопричин состояния. По умолчаниюtrue. -
size - (Необязательно, целое число) Максимальное количество возвращаемых затронутых ресурсов. Поскольку диагностика может возвращать несколько типов затронутых ресурсов, этот параметр ограничит количество возвращаемых ресурсов для каждого типа до заданного значения (например, диагностика может вернуть
1000затронутых индексов и1000затронутых узлов). По умолчанию1000.
Тело ответа
-
cluster_name - (строка) Название кластера.
-
status -
(Необязательная, строка) Состояние здоровья кластера, основанное на агрегированном состоянии всех показателей в кластере. Если запрашивается состояние здоровья конкретного показателя, этот общий статус будет опущен. Статусы:
-
green - Кластер здоров.
-
unknown - Состояние здоровья кластера не удалось определить.
-
yellow - Функциональность кластера в ухудшенном состоянии и может потребовать исправления, чтобы избежать того, что здоровье станет
red. -
red - В кластере наблюдается перерыв в работе или некоторые функции недоступны для использования.
-
-
indicators -
(объект) Информация о состоянии здоровья показателей кластера.
Свойства
indicators-
<indicator> -
(объект) Содержит результаты состояния здоровья для показателя.
Свойства
<indicator>-
status -
(строка) Состояние здоровья показателя. Статусы:
-
green - Показатель здоров.
-
unknown - Состояние здоровья показателя не удалось определить.
-
yellow - Функциональность показателя в ухудшенном состоянии и может потребовать исправления, чтобы избежать того, что здоровье станет
red. -
red - Показатель испытывает перерыв в работе или определенные функции недоступны для использования.
-
-
symptom - (строка) Сообщение, предоставляющее информацию о текущем состоянии здоровья.
-
details - (Необязательный, объект) Объект, содержащий дополнительную информацию о кластере, которая привела к текущему результату состояния здоровья. Эти данные неструктурированы, и каждый показатель возвращает уникальный набор подробностей. Подробности не будут рассчитаны, если свойство
verboseустановлено в значение false. -
impacts -
(Необязательный, массив) Если возвращается состояние, отличное от здорового, показатели могут содержать список последствий, которые это состояние здоровья окажет на кластер.
Свойства
impacts-
severity - (целое число) Насколько важно это последствие для функционирования кластера. Значение 1 соответствует наивысшей степени серьезности, а большие значения указывают на меньшую серьезность.
-
description - (строка) Описание влияния на кластер.
-
impact_areas -
(массив строк) Области функционирования кластера, на которые влияет это последствие. Возможные значения:
-
search -
ingest -
backup -
deployment_management
-
-
-
diagnosis -
(Необязательный, массив) Если возвращается состояние, отличное от здорового, показатели могут содержать список диагнозов, которые описывают причину проблемы со здоровьем и действия для устранения проблемы. Диагнозы не будут рассчитаны, если свойство
verboseимеет значение false.Свойства
diagnosis-
cause - (строка) Описание основной причины этой проблемы со здоровьем.
-
action - (строка) Краткое описание шагов, которые необходимо выполнить для устранения проблемы. Более подробное пошаговое руководство по устранению проблемы предоставляется в поле
help_url. -
affected_resources - (Необязательный, объект) Объект, где ключи представляют типы ресурсов (например, индексы, фрагменты), а значения — списки конкретных ресурсов, затронутых проблемой.
-
help_url - (строка) Ссылка на руководство по устранению неполадок, которое поможет устранить проблему со здоровьем.
-
-
-
Подробная информация о показателях
Каждый показатель работоспособности в API работоспособности возвращает набор подробных сведений, которые дополнительно объясняют состояние системы. Подробные сведения имеют содержание и структуру, уникальные для каждого показателя.
master_is_stable
-
current_master -
(object) Информация о текущем выбранном мастер-узле.
Свойства
current_master-
node_id - (string) ID узла текущего выбранного мастер-узла или null, если мастер-узел не выбран.
-
name - (string) Имя узла текущего выбранного мастер-узла или null, если мастер-узел не выбран.
-
-
recent_masters -
(Optional, array) Список узлов, которые были выбраны или заменены в качестве мастер-узла в недавнем временном окне. Это поле присутствует, если мастер-узел меняется достаточно быстро, чтобы вызвать проблемы, а также присутствует в качестве дополнительной информации, когда показатель равен
green. Этот массив включает только выбранных мастер-узлов и не включает пустые записи для периодов, когда выбранного мастер-узла не было.Свойства
recent_masters-
node_id - (string) ID узла недавно активного мастер-узла.
-
name - (string) Имя узла недавно активного мастер-узла.
-
-
exception_fetching_history -
(Optional, object) Если запрашиваемый узел видит, что выбранный мастер-узел неоднократно отказывался от своих обязанностей, история мастер-узлов запрашивается у самого недавно выбранного мастер-узла в целях диагностики. Если получение этой удаленной истории завершается неудачей, информация об исключении возвращается в этом поле подробных сведений.
Свойства
exception_fetching_history-
message - (string) Сообщение об исключении для операции извлечения истории, завершившейся неудачей.
-
stack_trace - (string) Трассировка стека для операции извлечения истории, завершившейся неудачей.
-
-
cluster_formation -
(Optional, array) Если в последнее время не было выбранного мастер-узла, запрашиваемый узел пытается собрать информацию о том, почему кластер не смог сформироваться, или почему запрашиваемый узел не смог присоединиться к кластеру, если он сформировался. Этот массив может содержать любую запись для представления каждым узлом, подходящим на роль мастер-узла, о формировании кластера.
Свойства
cluster_formation-
node_id - (string) ID узла, подходящего на роль мастер-узла
-
name - (Optional, string) Имя узла, подходящего на роль мастер-узла
-
cluster_formation_message - (string) Подробное описание, объясняющее, что пошло не так с формированием кластера или почему этот узел не смог присоединиться к кластеру, если он сформировался.
-
shards_availability
-
unassigned_primaries - (int) Количество основных шардов, которые не назначены по причинам, отличным от инициализации или перемещения.
-
initializing_primaries - (int) Количество основных шардов, которые инициализируются или восстанавливаются.
-
creating_primaries - (int) Количество основных шардов, которые не назначены, потому что они были созданы совсем недавно.
-
creating_replicas - (int) Количество реплицированных шардов, которые не назначены, потому что они были созданы совсем недавно.
-
restarting_primaries - (int) Количество основных шардов, которые перемещаются из-за операции выключения узла.
-
started_primaries - (int) Количество активных и доступных основных шардов в системе.
-
unassigned_replicas - (int) Количество реплицированных шардов, которые не назначены по причинам, отличным от инициализации или перемещения.
-
initializing_replicas - (int) Количество реплицированных шардов, которые инициализируются или восстанавливаются.
-
restarting_replicas - (int) Количество реплицированных шардов, которые перемещаются из-за операции выключения узла.
-
started_replicas - (int) Количество активных и доступных реплицированных шардов в системе.
disk
-
indices_with_readonly_block - (int) Количество индексов, для которых система применила блокировку индекса только для чтения (
index.blocks.read_only_allow_delete), поскольку в кластере заканчивается место. -
nodes_with_enough_disk_space - (int) Количество узлов, имеющих достаточно свободного дискового пространства для работы.
-
nodes_over_high_watermark - (int) Количество узлов, на которых заканчивается дисковое пространство, и, вероятно, оно закончится. Использование ими дискового пространства превысило пороговое значение высокого уровня воды.
-
nodes_over_flood_stage_watermark - (int) Количество узлов, на которых закончилось дисковое пространство. Использование ими дискового пространства превысило пороговое значение уровня наводнения.
-
unknown_nodes - (int) Количество узлов, для которых не удалось определить состояние диска.
repository_integrity
-
total_repositories - (Optional, int) Количество настроенных в данный момент репозиториев в системе. Если репозитории не настроены, эта подробная информация опускается.
-
corrupted_repositories - (Optional, int) Количество репозиториев в системе, которые, как было установлено, повреждены. Если поврежденных репозиториев не обнаружено, эта подробная информация опускается.
-
corrupted - (Optional, array of strings) Если в системе обнаружены поврежденные репозитории, имена до десяти из них отображаются в этом поле. Если поврежденные репозитории не найдены, эта подробная информация опускается.
-
unknown_repositories - (Optional, int) Количество репозиториев, которые, как было установлено, неизвестны как минимум одному узлу. Если неизвестных репозиториев не обнаружено, эта подробная информация опускается.
-
invalid_repositories - (Optional, int) Количество репозиториев, которые, как было установлено, недействительны как минимум одним узлом. Если недействительных репозиториев не обнаружено, эта подробная информация опускается.
ilm
-
ilm_status - (string) Текущий статус функции управления жизненным циклом индексирования. Либо
STOPPED,STOPPINGилиRUNNING. -
policies - (int) Количество политик жизненного цикла индекса, которыми управляет система.
-
stagnating_indices - (int) количество индексов, управляемых управлением жизненным циклом индекса, которые были неактивны дольше, чем ожидалось.
-
stagnating_indices_per_action -
(optional, map) Сводка количества индексов, сгруппированных по действию, которые были неактивны дольше, чем ожидалось.
Свойства
stagnating_indices_per_action-
downsample - (int) Количество неактивных индексов в действии
downsample. -
allocate - (int) Количество неактивных индексов в действии
allocate. -
shrink - (int) Количество неактивных индексов в действии
shrink. -
searchable_snapshot - (int) Количество неактивных индексов в действии
searchable_snapshot. -
rollover - (int) Количество неактивных индексов в действии
rollver. -
forcemerge - (int) Количество неактивных индексов в действии
forcemerge. -
delete - (int) Количество неактивных индексов в действии
delete. -
migrate - (int) Количество неактивных индексов в действии
migrate.
-
slm
-
slm_status - (string) Текущий статус функции управления жизненным циклом снимков. Может быть
STOPPED,STOPPINGилиRUNNING. -
policies - (int) Количество политик снимков, управляемых системой.
-
unhealthy_policies - (map) Подробный вид на политики, которые считаются неисправными из-за нескольких последовательных неудачных вызовов. Ключ
countпредставляет количество неисправных политик (int). Ключinvocations_since_last_successбудет содержать словарь, где имя неисправной политики является ключом, а соответствующее количество неудачных вызовов — значением.
shards_capacity
-
data -
(map) Вид с информацией о текущей емкости фрагментов для узлов данных, которые не относятся к замороженному уровню.
Свойства
data-
max_shards_in_cluster - (int) Указывает максимальное количество фрагментов, которое может содержать кластер.
-
current_used_shards - (необязательно, int) Общее количество фрагментов, содержащихся в кластере. Отображается только в том случае, если состояние индикатора равно
redилиyellow.
-
-
frozen -
(map) Вид с информацией о текущей емкости фрагментов для узлов данных, относящихся к замороженному уровню.
Свойства
frozen-
max_shards_in_cluster - (int) Указывает максимальное количество фрагментов, которое может содержать кластер для частично смонтированных индексов.
-
current_used_shards - (необязательно, int) Общее количество фрагментов, содержащихся в кластере для частично смонтированных индексов. Отображается только в том случае, если состояние индикатора равно
redилиyellow.
-
Примеры
resp = client.health_report() print(resp)
response = client.health_report puts response
const response = await client.healthReport(); console.log(response);
GET _health_report
API возвращает ответ со всеми индикаторами независимо от текущего состояния.
resp = client.health_report(
feature="shards_availability",
)
print(resp) response = client.health_report( feature: 'shards_availability' ) puts response
const response = await client.healthReport({
feature: "shards_availability",
});
console.log(response); GET _health_report/shards_availability
API возвращает ответ только для индикатора доступности фрагментов.
resp = client.health_report(
verbose=False,
)
print(resp) response = client.health_report( verbose: false ) puts response
const response = await client.healthReport({
verbose: "false",
});
console.log(response); GET _health_report?verbose=false
API возвращает ответ со всеми индикаторами состояния, но не будет рассчитывать детали или анализ причин неполадок в ответе. Это полезно, если вы хотите отслеживать API состояния и не хотите, чтобы каждый вызов накладывал издержки на расчет дополнительных деталей по устранению неполадок.
© 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/health-api.html