English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

API кластера Elasticsearch

API кластера используется для получения информации о кластере и его узлах, а также для выполнения изменений. Для вызова этого API нам нужно указать имя узла, адрес или _local.

GET /_nodes/_local

После выполнения上面的 кода, мы получаем следующий ответ:

………………………………………………
cluster_name": "elasticsearch",
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
         "name" : "ubuntu",
         "transport_address" : "127.0.0.1:9300",
         "host" : "127.0.0.1",
         "ip": "127.0.0.1",
         "version": "7.0.0",
         "build_flavor": "default",
         "build_type": "tar",
         "build_hash": "b7e28a7",
         "total_indexing_buffer": 106502553,
         "roles" : [
            "master",
            "data",
            "ingest"
         ],
         "attributes" : {
………………………………………………

Состояние работы кластера

API используется для получения состояния состояния работы кластера, добавляя ключевое слово 'health'.

GET /_cluster/health

После выполнения上面的 кода, мы получаем следующий ответ:

{
   "cluster_name" : "elasticsearch",
   "status": "yellow",
   "timed_out": false,
   "number_of_nodes": 1,
   "number_of_data_nodes": 1,
   "active_primary_shards": 7,
   "active_shards": 7,
   "relocating_shards": 0,
   "initializing_shards": 0,
   "unassigned_shards": 4,
   "delayed_unassigned_shards": 0,
   "number_of_pending_tasks": 0,
   "number_of_in_flight_fetch": 0,
   "task_max_waiting_in_queue_millis": 0,
   "active_shards_percent_as_number": 63.63636363636363
}

Статус кластера

Этот API используется для получения информации о состоянии кластера, добавляя ключевое слово 'state' в URL. Информация о состоянии включает версию, мастер-узел, другие узлы, таблицу маршрутизации, метаданные и блоки.

GET /_cluster/state

После выполнения上面的 кода, мы получаем следующий ответ:

………………………………………………
{
   "cluster_name" : "elasticsearch",
   "cluster_uuid": "IzKu0OoVTQ6LxqONJnN2eQ",
   "version": 89,
   "state_uuid": "y3BlwvspR1eUQBTo0aBjig",
   "master_node": "FKH-5blYTJmff2rJ_lQOCg",
   "blocks": {},
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
      "name" : "ubuntu",
      "ephemeral_id": "426kTGpITGixhEzaM-5Qyg",
      "transport"
   }
………………………………………………

Статистика кластера

Этот API помогает检索有关集群的统计信息 с использованием ключевого слова 'stats'. API возвращает идентификатор фрагмента, размер хранения, использование памяти, количество узлов, роль, операционную систему и файловую систему.

GET /_cluster/stats

После выполнения上面的 кода, мы получаем следующий ответ:

………………………………………….
"cluster_name" : "elasticsearch",
"cluster_uuid": "IzKu0OoVTQ6LxqONJnN2eQ",
"timestamp": 1556435464704,
"status": "yellow",
"indices": {
   "count": 7,
   "shards" : {
      "total": 7,
      "primaries": 7,
      "replication": 0.0,
      "index" : {}}
         "shards" : {
         "min" : 1,
         "max" : 1,
         "avg" : 1.0
      },
      "primaries" : {
         "min" : 1,
         "max" : 1,
         "avg" : 1.0
      },
      "replication" : {
         "min" : 0.0,
         "max" : 0.0,
         "avg" : 0.0
      }
………………………………………….

Обновление настроек кластера

Используя этот API, вы можете обновить настройки кластера с помощью ключевого слова "настройки". Есть два типа настроек - постоянные (при перезагрузке применяются) и транзитивные (не выживают после полного перезапуска кластера).

Статистика узла

Этот API используется для извлечения статистической информации о другом узле в кластере. Статистическая информация узла почти такая же, как и в кластере.

GET /_nodes/stats

После выполнения上面的 кода, мы получаем следующий ответ:

{
   "_nodes" : {
      "total" : 1,
      "successful" : 1,
      "failed" : 0
   },
   "cluster_name" : "elasticsearch",
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
         "timestamp" : 1556437348653,
         "name" : "ubuntu",
         "transport_address" : "127.0.0.1:9300",
         "host" : "127.0.0.1",
         "ip" : "127.0.0.1:9300",
         "roles" : [
            "master",
            "data",
            "ingest"
         ],
         "attributes" : {
            "ml.machine_memory" : "4112797696",
            "xpack.installed" : "true",
            "ml.max_open_jobs" : "20"
         },
………………………………………………………….

узел hot_threads

Этот API помогает вам извлечь информацию о текущих горячих потоках на каждом узле кластера.

GET /_nodes/hot_threads

После выполнения上面的 кода, мы получаем следующий ответ:

:::{ubuntu}{FKH-5blYTJmff2rJ_lQOCg}{426kTGpITGixhEzaM5Qyg}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=4112797696,}
xpack.installed=true, ml.max_open_jobs=20
 Горячие потоки в 2019-04-28T07:43:58.265Z, интервал=500ms, busiestThreads=3,
ignoreIdleThreads=true: