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и Unixepochвременные метки. По умолчанию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