Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›Cluster APIs

API состояния кластера

Возвращает внутреннее представление состояния кластера для отладки или диагностики.

Запрос

GET /_cluster/state/<metrics>/<target>

Предварительные условия

  • Если включены функции безопасности Elasticsearch, у вас должен быть monitor или manage привилегий кластера, чтобы использовать этот API.

Описание

Состояние кластера — это внутренняя структура данных, которая отслеживает различные сведения, необходимые каждому узлу, включая:

  • Идентификатор и атрибуты других узлов в кластере
  • Параметры всего кластера
  • Метаданные индексов, включая схему и параметры каждого индекса
  • Расположение и состояние каждой копии фрагмента в кластере

Выбранный мастер-узел обеспечивает, чтобы каждый узел в кластере имел копию того же состояния кластера. API состояния кластера позволяет получить представление этого внутреннего состояния для отладки или диагностики. Возможно, вам потребуется обратиться к исходному коду Elasticsearch, чтобы определить точный смысл ответа.

По умолчанию API состояния кластера будет перенаправлять запросы на выбранный мастер-узел, поскольку этот узел является авторитетным источником состояния кластера. Вы также можете получить состояние кластера, хранящееся на узле, обрабатывающем запрос API, добавив параметр запроса ?local=true.

Elasticsearch может потребовать значительных усилий для вычисления ответа на этот API в больших кластерах, и ответ может содержать очень большое количество данных. Если вы неоднократно используете этот API, ваш кластер может стать нестабильным.

Ответ представляет собой представление внутренней структуры данных. Его формат не подпадает под те же гарантии совместимости, что и другие более стабильные API, и может изменяться от версии к версии. Не используйте этот API для мониторинга с помощью внешних инструментов. Вместо этого получите необходимую информацию, используя другие более стабильные API кластера.

Параметры пути

Состояние кластера иногда может быть очень большим, и Elasticsearch может использовать значительные ресурсы при вычислении ответа на этот API. Чтобы уменьшить размер ответа, вы можете запросить только ту часть состояния кластера, которая вас интересует:

<metrics>

(Необязательно, строка) Список параметров, разделённых запятыми:

_all
Показывает все метрики.
blocks
Показывает часть blocks ответа.
master_node
Показывает часть master_node ответа.
metadata
Показывает часть metadata ответа. Если вы передадите список индексов, разделённых запятыми, возвращаемый вывод будет содержать только метаданные для этих индексов.
nodes
Показывает часть nodes ответа.
routing_nodes
Показывает часть routing_nodes ответа.
routing_table
Показывает часть routing_table ответа. Если вы передадите список индексов, разделённых запятыми, возвращаемый вывод будет содержать только таблицу маршрутизации для этих индексов.
version
Показывает версию состояния кластера.
<target>
(Необязательно, строка) Список потоков данных, индексов и псевдонимов, разделённых запятыми, используемых для ограничения запроса. Поддерживаются подстановочные знаки (*). Для целевых всех потоков данных и индексов опустите этот параметр или используйте * или _all.

Параметры запроса

allow_no_indices

(Необязательно, логическое значение) Если true, выражение индексов с подстановкой знаков, которые не приводят к конкретным индексам, будет проигнорировано. (Включая _all строку или когда индексы не указаны).

По умолчанию true.

expand_wildcards
(Необязательно, строка) Указывает, к каким конкретным индексам расширять выражение с подстановкой знаков: открытым, закрытым или обоим. Доступные варианты: open, closed, none, all.
flat_settings
(Необязательно, логическое значение) Если true, параметры возвращаются в плоском формате. По умолчанию false.
ignore_unavailable
(Необязательно, логическое значение) Если true, недоступные индексы (отсутствующие или закрытые) будут проигнорированы.
local
(Необязательно, логическое значение) Если true, запрос получает информацию только от локального узла. По умолчанию false, что означает получение информации от мастер-узла.
master_timeout
(Необязательно, единицы времени) Период ожидания подключения к мастер-узлу. Если ответ не получен до истечения срока ожидания, запрос завершается ошибкой. По умолчанию 30s.
wait_for_metadata_version
(Необязательно, целое число) Ожидает, пока версия метаданных не станет равной или больше указанной версии метаданных.
wait_for_timeout
(Необязательно, единицы времени) Указывает максимальное время ожидания wait_for_metadata_version до истечения срока ожидания.

Примеры

Следующий пример возвращает только metadata и routing_table данные для foo и bar потоков данных или индексов:

GET /_cluster/state/metadata,routing_table/foo,bar

Следующий пример возвращает все доступные метаданные для foo и bar:

GET /_cluster/state/_all/foo,bar

Этот пример возвращает только метаданные blocks:

GET /_cluster/state/blocks

© 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/cluster-state.html

Spec-Zone.ru

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