Spec-Zone.ru › Elasticsearch 8
›Руководство по Elasticsearch [8.17] ›REST-API ›API кластера

API состояния

Новая справка по API

Для получения самых свежих данных по API обратитесь к 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API