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

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

Spec-Zone.ru

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