Мониторинг состояния кластера OpenSearch и хостов
Данные о состоянии кластера и его хостов доступны в консоли управления
Диагностическая информация о состоянии кластера представлена в виде графиков.
Новые данные для графиков поступают каждые 15 секунд.
Примечание
На графиках автоматически применяются наиболее подходящие кратные единицы измерения (мегабайты, гигабайты и т. д.).
Вы можете настроить алерты в сервисе Yandex Monitoring для получения уведомлений о сбоях в работе кластера. В Yandex Monitoring используются два порога срабатывания алерта: Warning и Alarm. При превышении заданного порога вы получите оповещения через настроенные каналы уведомлений.
Мониторинг состояния кластера
Для просмотра детальной информации о состоянии кластера Managed Service for OpenSearch:
-
В консоли управления
выберите каталог. -
Перейдите
в сервис Managed Service for OpenSearch. -
Нажмите на имя нужного кластера и выберите вкладку Мониторинг.
На странице отображаются следующие графики:
-
В блоке Cluster state:
-
Health status — уровень работоспособности и техническое состояние кластера:
0(красный) — неработоспособное или частично работоспособное состояние. Хотя бы один из первичных шардов недоступен. Если кластер отвечает на запросы, результаты поиска в ответах будут неполными.1(желтый) — работоспособное состояние. Нет доступа хотя бы к одному из шардов-реплик. Результаты поиска в ответах кластера полные, но работоспособность кластера нарушится, если появятся еще недоступные шарды.2(зеленый) — исправное состояние. Все шарды кластера доступны.
-
Current master — FQDN одного из хостов с ролью
MANAGER. -
Nodes — общее количество хостов в кластере (кроме хостов
Dashboards) и количество хостов с рольюDATA. -
Pending tasks — количество задач в очереди.
-
-
В блоке Indices and load info:
-
Top indices by size — наиболее объемные индексы по занимаемому месту в хранилище и их размер (в байтах).
-
Active shards — количество активных первичных шардов и общее количество активных шардов в кластере.
-
Search rate — количество запросов поиска в секунду, для каждого хоста.
-
Top indices by docs count — индексы с наибольшим количеством документов и число документов в них.
-
Other shards — количество неактивных шардов в каждом из состояний:
Delayed unassigned— назначение хоста отложено;Unassigned— нет назначенного хоста;Unassigned Primary— нет назначенного хоста (только первичные шарды);Relocating— перемещаются на другой хост;Initializing— инициализируются.
-
Indexing rate — скорость индексирования, для каждого хоста (операций/с).
-
-
В блоке Indices segments info:
- Total indices segments per host — количество сегментов индексов, для каждого хоста.
-
В блоке Latest backup info:
-
Backup size — размер самой новой резервной копии:
backup_total_size— общий размер всех индексов в резервной копии.backup_incremental_size— размер индексов, входящих в инкремент резервной копии.backup_free_space_required— объем хранилища, необходимый для восстановления кластера из резервной копии.
-
-
Примечание
Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Monitoring, нажмите кнопку Открыть в Monium на панели сверху.
Мониторинг состояния хостов
Для просмотра детальной информации о состоянии отдельных хостов Managed Service for OpenSearch:
- В консоли управления
выберите каталог. - Перейдите
в сервис Managed Service for OpenSearch. - Нажмите на имя нужного кластера и выберите вкладку Хосты.
- Выберите вкладку Мониторинги.
- Выберите нужный хост из выпадающего списка.
На этой странице выводятся графики, показывающие нагрузку на отдельный хост кластера. Набор графиков зависит от типа хоста:
-
Process CPU — загрузка процессорных ядер, которую создает процесс JVM OpenSearch.
-
Memory usage — использование оперативной памяти (в байтах).
-
JVM heap — использование памяти кучи JVM (в байтах).
-
Disk space usage percent — использование дискового пространства (в процентах).
-
Management thread pool — количество запросов управления кластером.
-
Generic thread pool — количество запросов выполнения общих операций.
-
Thread pool queued — количество запросов в очереди на выполнение.
-
Thread pool rejected — количество отклоненных запросов.
-
В блоке Disk Metrics Details:
- Disk write latency (percentiles) — время записи на диск, по процентилям.
- Disk write bytes — средняя и максимальная скорость записи на диск.
- Disk write operations — среднее и максимальное количество операций записи в секунду.
- Disk read latency (percentiles) — время чтения с диска, по процентилям.
- Disk read bytes — средняя и максимальная скорость чтения с диска.
- Disk read operations — среднее и максимальное количество операций чтения в секунду.
- Disk write throttler latency (percentiles) — задержка записи, внесенная при превышении квоты диска, по процентилям.
- Disk read throttler latency (percentiles) — задержка чтения, внесенная при превышении квоты диска, по процентилям.
- Disk used quota — использование квоты для дисковых операций.
-
Process CPU — загрузка процессорных ядер, которую создает процесс JVM OpenSearch.
-
Memory usage — использование оперативной памяти (в байтах).
-
JVM heap percent — использование памяти кучи JVM (в процентах).
-
Disk space usage percent — использование дискового пространства (в процентах).
-
Shards count — количество шардов индексов.
-
Primary shards count — количество первичных шардов индексов.
-
Open file descriptors — количество открытых файловых дескрипторов.
-
Indexing rate — скорость индексирования (операций/с).
-
Search queries — количество запросов поиска в секунду.
-
Write thread pool — запросы индексации, удаления или обновления документов.
-
Average query time — среднее время выполнения запросов.
-
Average indexing time — среднее время, затраченное на индексацию документов.
-
Thread pool queued — количество запросов в очереди на выполнение.
-
Thread pool rejected — количество отклоненных запросов.
-
Merging time — время, затраченное на слияние документов.
-
В блоке Disk Metrics Details:
- Disk write latency (percentiles) — время записи на диск, по процентилям.
- Disk write bytes — средняя и максимальная скорость записи на диск.
- Disk write operations — среднее и максимальное количество операций записи в секунду.
- Disk read latency (percentiles) — время чтения с диска, по процентилям.
- Disk read bytes — средняя и максимальная скорость чтения с диска.
- Disk read operations — среднее и максимальное количество операций чтения в секунду.
- Disk write throttler latency (percentiles) — задержка записи, внесенная при превышении квоты диска, по процентилям.
- Disk read throttler latency (percentiles) — задержка чтения, внесенная при превышении квоты диска, по процентилям.
- Disk used quota — использование квоты для дисковых операций.
- Is Alive — статус доступности хоста.
- Requests Total — общее число запросов к хостам.
- Process CPU — загрузка процессорных ядер, которую создает процесс JVM OpenSearch.
- Memory usage — использование оперативной памяти (в байтах).
- Disk read/write bytes — скорость дисковых операций (байт/с).
- Disk IOPS — интенсивность дисковых операций (операций/с).
- Network Packets — интенсивность обмена данными по сети (пакетов/с).
- Network Bytes — скорость обмена данными по сети (байт/с).
Мониторинг состояния групп хостов
Для просмотра детальной информации о состоянии группы хостов Managed Service for OpenSearch:
- В консоли управления
выберите каталог. - Перейдите
в сервис Managed Service for OpenSearch. - Нажмите на имя нужного кластера и выберите вкладку Группы хостов.
- Выберите вкладку Мониторинги.
- Выберите нужную группу хостов из выпадающего списка.
На этой странице выводятся графики, показывающие нагрузку на группу хостов кластера. Набор графиков зависит от типа хостов в группе и аналогичен набору графиков для отдельных хостов.
Настройка алертов в Yandex Monitoring
-
В консоли управления
выберите каталог с кластером, для которого нужно настроить алерты. -
Перейдите
в сервис Monitoring. -
В блоке Сервисные дашборды выберите:
- Managed Service for OpenSearch для настройки алертов кластера;
- Managed Service for OpenSearch — Dashboards для настройки алертов хостов с ролью
DASHBOARDS; - Managed Service for OpenSearch — Data для настройки алертов хостов с ролью
DATA; - Managed Service for OpenSearch — Manager для настройки алертов хостов с ролью
MANAGER.
-
На нужном графике нажмите на значок
и выберите пункт Создать алерт. -
Если на графике несколько показателей, выберите запрос данных для формирования метрики и нажмите Продолжить. Подробнее о языке запросов в документации Yandex Monitoring.
-
Задайте значения порогов
AlarmиWarningдля срабатывания алерта. -
Нажмите кнопку Создать алерт.
Чтобы настроить автоматический мониторинг других показателей состояния кластера:
- Создайте алерт.
- Добавьте метрику состояния.
- В параметрах алерта задайте значения порогов для оповещения.
Рекомендуемые значения порогов для некоторых метрик:
| Метрика | Обозначение | Формула | Alarm |
Warning |
|---|---|---|---|---|
| Статус кластера | opensearch_status |
bottom_last(1) |
равно 0 |
равно 1 |
| Число неназначенных шардов | opensearch_unassigned_shards |
top_last(1) |
больше 0 |
|
| Число перемещаемых шардов | opensearch_relocating_shards |
top_last(1) |
больше 0 |
|
| Число инициализируемых шардов | opensearch_initializing_shards |
top_last(1) |
больше 0 |
|
| Число отложенных к назначению шардов | opensearch_delayed_unassigned_shards |
top_last(1) |
больше 0 |
|
| Объем использованной памяти кучи JVM | opensearch_jvm_mem_heap_used_percent |
top_last(1) |
больше 90% от объема RAM на хосте | |
| Объем использованного хранилища | opensearch_fs_total_used_percent |
top_last(1) |
больше 90% от размера хранилища | больше 85% от размера хранилища |
| Использование пула долгоживущих объектов JVM | opensearch_jvm_mem_heap_pressure |
top_last(1) |
больше 90% от объема RAM на хосте | больше 75% от объема RAM на хосте |
| Размер использованного хранилища | disk.used_bytes |
— | 90% от размера хранилища | 80% от размера хранилища |
Для метрики disk.used_bytes значения порогов Alarm и Warning задаются только в байтах. Например, рекомендуемые значения для диска размером в 100 ГБ:
Alarm—96636764160байтов (90%).Warning—85899345920байтов (80%).
Текущий размер хранилища и объем RAM на хостах можно посмотреть в детальной информации о кластере. Полный список поддерживаемых метрик в документации Monitoring.
Состояние и статус кластера
Состояние кластера указывает на исправность его хостов, а Статус показывает, запущен кластер, остановлен или находится в промежуточном состоянии.
Для просмотра состояния и статуса кластера:
- В консоли управления
перейдите на страницу каталога. - Перейдите
в сервис Managed Service for OpenSearch. - Наведите курсор на индикатор в столбце Доступность в строке нужного кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы узнать состояние и статус кластера, запросите информацию о нем:
yc managed-opensearch cluster get <имя_или_идентификатор_кластера>
Состояние кластера указано в параметре health, статус кластера — в параметре status.
Имя и идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Get и выполните запрос, например, с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-opensearch/v1/clusters/<идентификатор_кластера>'Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Состояние и статус кластера указаны в параметрах
healthиstatus.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Get и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/opensearch/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.opensearch.v1.ClusterService.GetИдентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Состояние и статус кластера указаны в параметрах
healthиstatus.
Состояния кластера
| Состояние | Описание | Предлагаемые действия |
|---|---|---|
| ALIVE | Кластер работает в штатном режиме. | Действий не требуется. |
| DEGRADED | Кластер работает не на полную мощность: минимум один из хостов имеет состояние, отличное от ALIVE. |
Выполните диагностику:
|
| DEAD | Кластер неработоспособен: ни один его хост не работает. | Составьте обращение в службу поддержки
|
| UNKNOWN | Состояние кластера неизвестно. | Составьте обращение в службу поддержки
|
Восстановление кластера в состоянии DEAD
Если кластер находится в состоянии DEAD, создайте запрос в техническую поддержку
При восстановлении будет создан отдельный кластер. Выберите доступную резервную копию или момент восстановления с учетом допустимой потери последних изменений: данные, записанные позже выбранного момента, в новый кластер не попадут. После восстановления переключите приложения на новый кластер.
Если причиной недоступности стала высокая нагрузка, восстановление из резервной копии само по себе ее не устранит. До возобновления полной нагрузки ограничьте интенсивность запросов, а после восстановления проанализируйте потребление ресурсов и оптимизируйте нагрузку, чтобы проблема не повторилась.
- Восстановите кластер из резервной копии.
- Обновите параметры подключения в приложениях и проверьте доступ к данным в новом кластере.
- Проанализируйте метрики хостов, в том числе использование памяти и процессора. Оптимизируйте поисковые запросы и снизьте интенсивность индексации.
Статусы кластера
| Статус | Описание | Предлагаемые действия |
|---|---|---|
| CREATING | Идет подготовка к первому запуску | Подождите немного и приступайте к работе. Время создания кластера зависит от класса хостов. |
| RUNNING | Кластер работает в штатном режиме | Действий не требуется. |
| STOPPING | Кластер останавливается | Через некоторое время кластеру будет присвоен статус STOPPED, и он будет выведен из работы. Действий не требуется. |
| STOPPED | Кластер остановлен | Запустите кластер, чтобы вернуть его в работу. |
| STARTING | Остановленный ранее кластер запускается | Через некоторое время кластеру будет присвоен статус RUNNING. Подождите немного и приступайте к работе. |
| UPDATING | Обновляется конфигурация кластера | По завершении обновления кластеру будет присвоен статус, который был до обновления: RUNNING или STOPPED. |
| ERROR | Произошла ошибка при выполнении операции с кластером или во время окна технического обслуживания | Если кластер долго находится в этом статусе, обратитесь в службу поддержки |
| STATUS_UNKNOWN | Кластер не может определить свой статус | Если кластер долго находится в этом статусе, обратитесь в службу поддержки |