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

API узлов (nodes info)

Новая ссылка на API

Для получения самых последних данных API, обратитесь к 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
Информация о конвейерах и процессорах 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, работающая на этом узле.
transport_version
Самая последняя версия транспорта, с которой может взаимодействовать этот узел.
index_version
Самая последняя версия индекса, которую может читать этот узел.
component_versions
Номера версий отдельных компонентов, загруженных на этот узел.

Флаг 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.
timeout
(Необязательно, единицы времени) Время ожидания ответа каждого узла. Если узел не отвечает до истечения тайм-аута, информация об этом узле не включается в ответ. Однако, узлы с тайм-аутом включаются в свойство _nodes.failed ответа. По умолчанию тайм-аут не используется.

Примеры

response = client.nodes.info(
  node_id: 'process'
)
puts response

response = client.nodes.info(
  node_id: '_all',
  metric: 'process'
)
puts response

response = client.nodes.info(
  node_id: 'nodeId1,nodeId2',
  metric: 'jvm,process'
)
puts response

response = client.nodes.info(
  node_id: 'nodeId1,nodeId2',
  metric: '_all'
)
puts response
# 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 указан, результат будет содержать подробности об установленных плагинах и модулях:

resp = client.nodes.info(
    node_id="plugins",
)
print(resp)
response = client.nodes.info(
  node_id: 'plugins'
)
puts response
const response = await client.nodes.info({
  node_id: "plugins",
});
console.log(response);
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}",
      "transport_version": 100000298,
      "index_version": 100000074,
      "component_versions": {
        "ml_config_version": 100000162,
        "transform_config_version": 100000096
      },
      "build_flavor": "default",
      "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

Если ingest указан, ответ содержит подробности о доступных процессорах на узел:

resp = client.nodes.info(
    node_id="ingest",
)
print(resp)
response = client.nodes.info(
  node_id: 'ingest'
)
puts response
const response = await client.nodes.info({
  node_id: "ingest",
});
console.log(response);
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}",
      "transport_version": 100000298,
      "index_version": 100000074,
      "component_versions": {
        "ml_config_version": 100000162,
        "transform_config_version": 100000096
      },
      "build_flavor": "default",
      "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/8.17/cluster-nodes-info.html

Spec-Zone.ru

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