API узлов кластера
Возвращает информацию об узлах кластера.
Запрос
GET /_nodes
GET /_nodes/<node_id>
GET /_nodes/<metric>
GET /_nodes/<node_id>/<metric>
Предварительные условия
- Если включены функции безопасности Elasticsearch, вам необходимо иметь
monitorилиmanageправо доступа к кластеру, чтобы использовать этот API.
Описание
API узлов кластера позволяет получить информацию об одном или нескольких (или всех) узлах кластера. Все параметры выбора узлов объяснены здесь.
По умолчанию возвращаются все атрибуты и основные параметры узла.
Параметры пути
-
<metric> -
(Необязательно, строка) Ограничивает возвращаемую информацию определенными метриками. Поддерживается список, разделенный запятыми, например
http,ingest.Допустимые значения для
<metric>-
aggregations - Информация о доступных типах агрегаций.
-
http - Информация об HTTP-интерфейсе этого узла.
-
indices -
Параметры конфигурации узла, связанные с индексированием:
-
total_indexing_buffer: максимальный размер буфера индексирования на этом узле.
-
-
ingest - Информация о каналах обработки и процессорах.
-
jvm - Информация о JVM, включая его имя, версию и конфигурацию.
-
os - Информация об операционной системе, включая ее имя и версию.
-
plugins -
Подробная информация о установленных плагинах и модулях на каждый узел. Для каждого плагина и модуля доступна следующая информация:
-
name: имя плагина -
version: версия Elasticsearch, для которой был скомпилирован плагин -
description: краткое описание назначения плагина -
classname: полное имя класса точки входа плагина -
has_native_controller: есть ли у плагина процесс управления нативным контроллером
-
-
process - Информация о процессе, включая числовой идентификатор процесса.
-
settings - Список всех используемых параметров узла, как определено в файле
elasticsearch.yml. -
thread_pool - Информация о конфигурации каждого пула потоков.
-
transport - Информация о транспортном интерфейсе узла.
-
Если вы используете полную GET /_nodes/<node_id>/<metric> форму этого API, вы также можете запросить метрику _all, чтобы получить все метрики, или метрику _none, чтобы подавить все метрики и получить только идентификатор узла.
-
<node_id> - (Необязательно, строка) Список, разделенный запятыми, идентификаторов или имен узлов, используемых для ограничения возвращаемой информации.
Тело ответа
-
build_hash - Короткий хэш последнего коммита Git в этом релизе.
-
host - Имя хоста узла.
-
ip - IP-адрес узла.
-
name - Имя узла.
-
total_indexing_buffer - Общий объём памяти, разрешённый для хранения недавно проиндексированных документов, прежде чем их необходимо записать на диск. Этот размер является общим пулом для всех фрагментов на данном узле и управляется параметрами буфера индексирования.
-
total_indexing_buffer_in_bytes - То же, что и
total_indexing_buffer, но выражено в байтах. -
transport_address - Хост и порт, где принимаются транспортные HTTP-соединения.
-
version - Версия Elasticsearch, работающая на этом узле.
Флаг os может быть установлен для получения информации, относящейся к операционной системе:
-
os.refresh_interval_in_millis - Интервал обновления для статистики ОС
-
os.name - Название операционной системы (например: Linux, Windows, Mac OS X)
-
os.arch - Название архитектуры JVM (например: amd64, x86)
-
os.version - Версия операционной системы
-
os.available_processors - Количество процессоров, доступных для виртуальной машины Java
-
os.allocated_processors - Количество процессоров, фактически используемых для расчёта размера пула потоков. Это число можно установить с помощью параметра
node.processorsузла, а по умолчанию оно соответствует числу процессоров, сообщённому ОС.
Флаг process может быть установлен для получения информации, относящейся к текущему процессу:
-
process.refresh_interval_in_millis - Интервал обновления для статистики процесса
-
process.id - Идентификатор процесса (PID)
-
process.mlockall - Указывает, был ли адресное пространство процесса успешно зафиксирован в памяти
Параметры запроса
-
flat_settings - (Необязательно, булево) Если
true, возвращает параметры в плоском формате. По умолчаниюfalse. -
master_timeout - (Необязательно, единицы времени) Время ожидания соединения с узлом-мастером. Если ответ не получен до истечения срока ожидания, запрос завершается с ошибкой. По умолчанию
30s. -
timeout - (Необязательно, единицы времени) Время ожидания ответа. Если ответ не получен до истечения срока ожидания, запрос завершается с ошибкой. По умолчанию
30s.
Примеры
# return just process GET /_nodes/process # same as above GET /_nodes/_all/process # return just jvm and process of only nodeId1 and nodeId2 GET /_nodes/nodeId1,nodeId2/jvm,process # same as above GET /_nodes/nodeId1,nodeId2/info/jvm,process # return all the information of only nodeId1 and nodeId2 GET /_nodes/nodeId1,nodeId2/_all
Флаг _all может быть установлен для возвращения всей информации — или он может быть опущен.
Пример для метрики плагинов
Если указан plugins, результат будет содержать информацию об установленных плагинах и модулях:
GET /_nodes/plugins
API возвращает следующий ответ:
{
"_nodes": ...
"cluster_name": "elasticsearch",
"nodes": {
"USpTGYaBSIKbgSUJR2Z9lg": {
"name": "node-0",
"transport_address": "192.168.17:9300",
"host": "node-0.elastic.co",
"ip": "192.168.17",
"version": "{version}",
"build_flavor": "{build_flavor}",
"build_type": "{build_type}",
"build_hash": "587409e",
"roles": [
"master",
"data",
"ingest"
],
"attributes": {},
"plugins": [
{
"name": "analysis-icu",
"version": "{version}",
"description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.",
"classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
"has_native_controller": false
}
],
"modules": [
{
"name": "lang-painless",
"version": "{version}",
"description": "An easy, safe and fast scripting language for Elasticsearch",
"classname": "org.elasticsearch.painless.PainlessPlugin",
"has_native_controller": false
}
]
}
}
} Пример для метрики обработки
Если указан ingest, ответ содержит информацию о доступных процессорах на узел:
GET /_nodes/ingest
API возвращает следующий ответ:
{
"_nodes": ...
"cluster_name": "elasticsearch",
"nodes": {
"USpTGYaBSIKbgSUJR2Z9lg": {
"name": "node-0",
"transport_address": "192.168.17:9300",
"host": "node-0.elastic.co",
"ip": "192.168.17",
"version": "{version}",
"build_flavor": "{build_flavor}",
"build_type": "{build_type}",
"build_hash": "587409e",
"roles": [],
"attributes": {},
"ingest": {
"processors": [
{
"type": "date"
},
{
"type": "uppercase"
},
{
"type": "set"
},
{
"type": "lowercase"
},
{
"type": "gsub"
},
{
"type": "convert"
},
{
"type": "remove"
},
{
"type": "fail"
},
{
"type": "foreach"
},
{
"type": "split"
},
{
"type": "trim"
},
{
"type": "rename"
},
{
"type": "join"
},
{
"type": "append"
}
]
}
}
}
}
© 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-nodes-info.html