Мониторинг состояния кластера MongoDB и его хостов
Данные о состоянии кластера и его хостов доступны в консоли управления. Их можно посмотреть на вкладке Мониторинг страницы управления кластером или в сервисе Yandex Monitoring.
Диагностическая информация о состоянии кластера представлена в виде графиков.
Период обновления графиков:
- Для хостов стандартной конфигурации и хостов с увеличенным соотношением количества гигабайт RAM к количеству vCPU (
memory-optimized
): 15 секунд. - Для хостов с гарантированной долей vCPU ниже 100% (
burstable
): 150 секунд.
Примечание
На графиках автоматически применяются наиболее подходящие кратные единицы измерения (мегабайты, гигабайты и т. д.).
Вы можете настроить алерты в сервисе Yandex Monitoring для получения уведомлений о сбоях в работе кластера. В Yandex Monitoring используются два порога срабатывания алерта: Warning
и Alarm
. При превышении заданного порога вы получите оповещения через настроенные каналы уведомлений.
Мониторинг состояния кластера
Для просмотра детальной информации о состоянии кластера Managed Service for MongoDB:
-
Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. -
Нажмите на имя нужного кластера и выберите вкладку Мониторинг.
-
Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Yandex Monitoring, нажмите кнопку Открыть в Monitoring на панели сверху.
На странице появятся следующие графики:
- Asserts total — количество срабатываний assert
в кластере. - Average operation time per host — среднее время выполнения операций каждым хостом (в микросекундах).
- Average operations time on primary — среднее время выполнения операций на первичных репликах (в микросекундах).
- Average operations time on secondaries — среднее время выполнения операций на вторичных репликах (в микросекундах).
- CPU usage per host — степень утилизации vCPU на каждом хосте (в долях от количества ядер vCPU).
- CPU usage per host, top 5 hosts — 5 хостов с наибольшей утилизацией vCPU (в процентах).
- Configured oplog size per host — размер журнала операций (oplog) на каждом хосте кластера (в гигабайтах).
- Connections per host — среднее количество подключений к каждому хосту.
- Data size on primary, top 5 databases — размер пяти наибольших баз данных на первичной реплике (в байтах). На графике используются данные без сжатия.
- Disk read per host, top 5 hosts — 5 хостов с наибольшей нагрузкой на чтение из дисковой подсистемы (байт/с).
- Disk space usage per host, top 5 hosts — 5 хостов с наибольшим использованием места в хранилище (выводится два графика: в байтах и в процентах). На графике используются данные после применения сжатия.
- Disk usage per host, top 5 hosts — 5 хостов с наибольшей нагрузкой на подсистему I/O хранилища (байт/с).
- Disk write per host, top 5 hosts — 5 хостов с наибольшей нагрузкой на запись в дисковую подсистему (килобайт/с).
- Documents affected on primary — среднее количество затронутых запросами документов на первичной реплике.
- Documents affected on secondaries — среднее количество затронутых запросами документов на всех вторичных репликах.
- Documents affected per host — среднее количество документов, затронутое запросами на каждом хосте.
- Hosts available for read — количество хостов, принимающих запросы на чтение.
- Hosts available for write — количество хостов, принимающих запросы на запись.
- Index size on primary, top 5 indexes — размер пяти наибольших индексов на первичной реплике (в байтах).
- Memory usage per host — объем оперативной памяти, использованной каждым хостом (в байтах).
- Memory usage per host, top 5 hosts — 5 хостов с наибольшим использованием оперативной памяти (в процентах).
- Network data received per host, top 5 hosts — 5 хостов с наибольшей сетевой нагрузкой на чтение (килобайт/с).
- Network data sent per host, top 5 hosts — 5 хостов с наибольшей сетевой нагрузкой на запись (килобайт/с).
- Network usage per host, top 5 hosts — 5 хостов с наибольшей суммарной сетевой нагрузкой (килобайт/с).
- Open cursors total — количество открытых в кластере курсоров.
- Oplog window — временной диапазон, за который хранятся данные репликации в коллекции oplog каждого хоста.
- Page faults per host — количество отказов страниц
на каждом хосте. - Queries on secondaries — среднее количество запросов каждого типа, выполненных на вторичных репликах.
- Queries on primary — среднее количество выполненных на первичных репликах запросов каждого типа.
- Read operations time, top 5 collections — 5 коллекций с наибольшим количеством времени, затраченным на выполнение операций чтения.
- Readers/writers active queue per host, top 5 — суммарный размер пяти наибольших очередей для каждого хоста:
- с запросами на чтение;
- с запросами на запись.
- Replicated queries — среднее количество реплицированных запросов в кластере.
- Replication lag per host and write_concern wait — задержки репликации на каждом хосте и ожидание подтверждения записи
(в секундах). - Scan and order per host — количество сортировок данных без использования индекса на каждом хосте.
- Scanned / returned — показывает соотношения:
scanned_docs / returned_docs
— количество просканированных документов к количеству возвращенных;scanned_keys / returned_docs
— количество просканированных ключей индекса к количеству возвращенных документов.
- TTL indexes activity — общее количество индексов TTL
. - Total operations count on cluster — общее количество выполненных в кластере операций.
- Total operations time on cluster — общее время выполнения операций в кластере (в миллисекундах).
- WiredTiger cache pages evicted on primary — среднее количество страниц оперативной памяти, вытесненных на первичной реплике.
- WiredTiger cache state on primary — использование кеша WiredTiger на первичной реплике (в байтах).
- WiredTiger checkpoint time on primary — время создания контрольных точек WiredTiger на первичной реплике (в миллисекундах).
- WiredTiger concurrent transactions on primary — среднее количество параллельных транзакций на первичной реплике.
- WiredTiger transactions state on primary — среднее количество транзакций каждого уровня на первичной реплике.
- Write conflicts per host — количество конфликтов записи на каждом хосте.
- Write operations time, top 5 collections — 5 коллекций с наибольшим количеством времени, затраченным на выполнение операций записи.
Мониторинг состояния хостов
Для просмотра детальной информации о состоянии отдельных хостов Managed Service for MongoDB:
- Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. - Нажмите на имя нужного кластера и выберите вкладку Хосты → Мониторинги.
- Выберите нужный хост из выпадающего списка. Возле имени хоста будет показана его роль (
PRIMARY
илиSECONDARY
) и тип (MONGOCFG
,MONGOD
,MONGOINFRA
,MONGOS
).
На этой странице выводятся графики, показывающие нагрузку на отдельный хост кластера:
- CPU — загрузка процессорных ядер. При повышении нагрузки значение Idle уменьшается.
- Memory — использование оперативной памяти (в байтах). При высоких нагрузках значение параметра Free уменьшается, остальные — растут.
- Disk Bytes — скорость дисковых операций (байт/с).
- Disk IOPS — интенсивность дисковых операций (операций/с).
- Network Bytes — скорость обмена данными по сети (байт/с).
- Network Packets — интенсивность обмена данными по сети (пакетов/с).
Настройка алертов в Yandex Monitoring
-
В консоли управления
выберите каталог с кластером, для которого нужно настроить алерты. -
В списке сервисов выберите
Monitoring. -
В блоке Сервисные дашборды выберите:
- Managed Service for MongoDB для настройки алертов кластера;
- Managed Service for MongoDB — Host Overview для настройки алертов хостов.
-
На нужном графике нажмите на значок
и выберите пункт Создать алерт. -
Если на графике несколько показателей, выберите запрос данных для формирования метрики и нажмите Продолжить. Подробнее о языке запросов см. документацию Yandex Monitoring.
-
Задайте значения порогов
Alarm
иWarning
для срабатывания алерта. -
Нажмите кнопку Создать алерт.
Чтобы настроить автоматический мониторинг других показателей состояния кластера:
- Создайте алерт.
- Добавьте метрику состояния.
- Задайте значения порогов для оповещения в параметрах алерта.
Рекомендуемые значения порогов для некоторых метрик:
Метрика | Обозначение | Alarm |
Warning |
---|---|---|---|
Доступность БД на запись | can_write |
Равно 0 |
— |
Задержка репликации | replset_status-replicationLag |
180 |
30 |
Объем использованного хранилища | disk.used_bytes |
90% от размера хранилища | 70% от размера хранилища |
Для метрики disk.used_bytes
значения порогов Alarm
и Warning
задаются только в байтах. Например, рекомендуемые значения для диска размером в 100 ГБ:
Alarm
—96636764160
байт (90%).Warning
—75161927680
байт (70%).
Текущий размер хранилища можно посмотреть в детальной информации о кластере. Полный список поддерживаемых метрик см. в документации Monitoring.
только чтение
Отслеживание перехода в режим Чтобы отслеживать степень заполнения хранилища на хостах кластера и получать уведомления в случае скорого исчерпания свободного места:
-
Добавьте метрику состояния
disk.free_bytes
.Для этого создайте запрос в конструкторе запросов:
service=managed-mongodb
→name=disk.free_bytes
→host=*
→resource_id=*
→resource_type=cluster
. -
Задайте в параметрах алерта значения порогов для оповещения:
-
Условие срабатывания — выберите условие
Меньше или равно
для размера свободного дискового пространства, при котором сработает алерт.Рекомендуемые значения порогов в зависимости от размера хранилища:
Размер хранилища, ГБ Alarm
Warning
⩽ 600 1G
(1 ГБ)1500M
(1,5 ГБ)> 600 6G
(6 ГБ)10G
(10 ГБ) -
Дополнительные настройки → Функция агрегации — выберите значение
Минимум
(минимальное значение метрики за период).
-
Состояние и статус кластера
Состояние кластера указывает на исправность его хостов, а Статус показывает, запущен кластер, остановлен или находится в промежуточном состоянии.
Для просмотра состояния и статуса кластера:
- Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. - Наведите курсор на индикатор в столбце Доступность в строке нужного кластера.
Состояния кластера
Состояние | Описание | Предлагаемые действия |
---|---|---|
ALIVE | Кластер работает в штатном режиме. | Действий не требуется. |
DEGRADED | Кластер работает не на полную мощность: минимум один из хостов имеет состояние, отличное от ALIVE . |
Выполните диагностику:
|
DEAD | Кластер неработоспособен: ни один его хост не работает. | Составьте обращение в службу поддержки
|
UNKNOWN | Состояние кластера неизвестно. | Составьте обращение в службу поддержки
|
Статусы кластера
Статус | Описание | Предлагаемые действия |
---|---|---|
CREATING | Идет подготовка к первому запуску | Подождите немного и приступайте к работе. Время создания кластера зависит от класса хостов. |
RUNNING | Кластер работает в штатном режиме | Действий не требуется. |
STOPPING | Кластер останавливается | Через некоторое время кластеру будет присвоен статус STOPPED , и он будет выведен из работы. Действий не требуется. |
STOPPED | Кластер остановлен | Запустите кластер, чтобы вернуть его в работу. |
STARTING | Остановленный ранее кластер запускается | Через некоторое время кластеру будет присвоен статус RUNNING . Подождите немного и приступайте к работе. |
UPDATING | Выполняется обновление состояния кластера | По завершении обновления ему будет присвоен статус RUNNING . Подождите немного и приступайте к работе. |
ERROR | Произошла ошибка, которая не позволяет кластеру продолжить работу | Выполните начальную диагностику:
|
STATUS_UNKNOWN | Кластер не может определить свой статус | Выполните начальную диагностику:
|