Elasticsearch - API кластера
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 используется для получения статуса работоспособности кластера путем добавления ключевого слова «здоровье».
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 используется для получения информации о состоянии кластера путем добавления URL-адреса ключевого слова state. Информация о состоянии содержит версию, главный узел, другие узлы, таблицу маршрутизации, метаданные и блоки.
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 позволяет обновлять настройки кластера с помощью ключевого слова settings. Есть два типа настроек - постоянные (применяются при перезапусках) и временные (не выдерживают полного перезапуска кластера).
Статистика узла
Этот 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}
Hot threads at 2019-04-28T07:43:58.265Z, interval=500ms, busiestThreads=3,
ignoreIdleThreads=true: