Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›API для компактного и выровненного текста (CAT)

API cat health

API cat предназначены только для использования человеком с помощью командной строки или консоли Kibana. Они не предназначены для использования приложениями. Для использования приложениями используйте API cluster health.

Возвращает состояние здоровья кластера, аналогично API cluster health.

Запрос

GET /_cat/health

Предварительные условия

  • Если функции безопасности Elasticsearch включены, для использования этого API у вас должен быть monitor или manage привилегия кластера.

Описание

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

Этот API часто используется для проверки неисправных кластеров. Чтобы помочь вам отслеживать состояние здоровья кластера вместе с файлами журналов и системами оповещения, API возвращает временные метки в двух форматах:

  • HH:MM:SS, который легко читается человеком, но не содержит информации о дате.
  • Unix epoch время, который может быть отсортирован машиной и содержит информацию о дате. Это полезно для восстановления кластера, занимающего несколько дней.

Вы можете использовать API cat health для проверки состояния здоровья кластера по нескольким узлам. См. Пример по нескольким узлам.

Вы также можете использовать API для отслеживания восстановления большого кластера в течение более длительного периода времени. См. Пример с большим кластером.

Параметры запроса

format
(Необязательно, строка) Короткая версия заголовка HTTP accept. Допустимые значения включают JSON, YAML и т. д.
h
(Необязательно, строка) Список столбцов, разделенных запятыми, для отображения.
help
(Необязательно, Булево) Если true, ответ включает справочную информацию. По умолчанию false.
s
(Необязательно, строка) Список столбцов или псевдонимов столбцов, разделенных запятыми, используемых для сортировки ответа.
time
(Необязательно, единицы измерения времени) Единица измерения для отображения значений времени.
ts (временные метки)
(Необязательно, Булево) Если true, возвращает HH:MM:SS и Unix epoch временные метки. По умолчанию true.
v
(Необязательно, Булево) Если true, ответ включает заголовки столбцов. По умолчанию false.

Примеры

Пример с временной меткой

По умолчанию API cat health возвращает HH:MM:SS и Unix epoch временные метки. Например:

GET /_cat/health?v=true

API возвращает следующий ответ:

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1475871424 16:17:04  elasticsearch green           1         1      1   1    0    0        0             0                  -                100.0%

Пример без временной метки

Вы можете использовать параметр ts (временные метки) для отключения временных меток. Например:

GET /_cat/health?v=true&ts=false

API возвращает следующий ответ:

cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
elasticsearch green           1         1      1   1    0    0        0             0                  -                100.0%

Пример по нескольким узлам

Вы можете использовать API cat health для проверки состояния здоровья кластера по нескольким узлам. Например:

% pssh -i -h list.of.cluster.hosts curl -s localhost:9200/_cat/health
[1] 20:20:52 [SUCCESS] es3.vm
1384309218 18:20:18 foo green 3 3 3 3 0 0 0 0
[2] 20:20:52 [SUCCESS] es1.vm
1384309218 18:20:18 foo green 3 3 3 3 0 0 0 0
[3] 20:20:52 [SUCCESS] es2.vm
1384309218 18:20:18 foo green 3 3 3 3 0 0 0 0

Пример с большим кластером

Вы можете использовать API cat health для отслеживания восстановления большого кластера в течение более длительного периода времени. Для этого можно включить запрос API cat health в цикл с задержкой. Например:

% while true; do curl localhost:9200/_cat/health; sleep 120; done
1384309446 18:24:06 foo red 3 3 20 20 0 0 1812 0
1384309566 18:26:06 foo yellow 3 3 950 916 0 12 870 0
1384309686 18:28:06 foo yellow 3 3 1328 916 0 12 492 0
1384309806 18:30:06 foo green 3 3 1832 916 4 0 0
^C

В этом примере восстановление заняло примерно шесть минут, с 18:24:06 до 18:30:06. Если это восстановление заняло несколько часов, можно продолжить отслеживание количества UNASSIGNED фрагментов, которое должно уменьшиться. Если количество UNASSIGNED фрагментов остается неизменным, это указывает на проблему с восстановлением кластера.

© 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/cat-health.html

Spec-Zone.ru

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