Мониторинг состояния кластера MySQL® и хостов
Данные о состоянии кластера и его хостов доступны в консоли управления
Диагностическая информация о состоянии кластера представлена в виде графиков.
Период обновления графиков:
- Для хостов стандартной конфигурации и хостов с увеличенным соотношением количества гигабайт RAM к количеству vCPU (
memory-optimized): 15 секунд. - Для хостов с гарантированной долей vCPU ниже 100% (
burstable): 150 секунд.
Примечание
На графиках автоматически применяются наиболее подходящие кратные единицы измерения (мегабайты, гигабайты и т. д.).
Вы можете настроить алерты в сервисе Yandex Monitoring для получения уведомлений о сбоях в работе кластера. В Yandex Monitoring используются два порога срабатывания алерта: Warning и Alarm. При превышении заданного порога вы получите оповещения через настроенные каналы уведомлений.
Мониторинг состояния кластера
Для просмотра детальной информации о состоянии кластера Managed Service for MySQL®:
-
Перейдите
в сервис Managed Service for MySQL. -
Нажмите на имя нужного кластера и выберите вкладку
Другое → Мониторинг.На открывшейся странице будут отображены графики, отражающие состояние кластера.
Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Yandex Monitoring, нажмите кнопку Открыть в Monium на панели сверху.
Для кластера отображаются графики:
- Queries per second — количество пользовательских запросов в секунду для каждого хоста кластера.
- Average query time — среднее время выполнения запросов для каждого хоста кластера.
- Slow queries per second — количество запросов в секунду, выполняющихся дольше, чем указано в параметре long_query_time. Информация отображается для каждого хоста кластера.
- Connections — количество подключений для каждого хоста кластера.
- Threads running — количество запущенных потоков для каждого хоста кластера.
- Disk usage — использование дискового пространства для каждого хоста и всего кластера.
- Is Primary, [boolean] — показывает, является ли хост мастером.
- Is Alive, [boolean] — показывает доступность каждого хоста кластера.
- Replication lag — время отставания реплики от мастера.
- Free space — свободное место на диске для каждого хоста и всего кластера.
- OOM Count — количество случаев нехватки оперативной памяти на каждом хосте кластера.
В блоке Master overview отображаются расширенные сведения о мастере:
-
Query quantiles — время выполнения запросов по процентилям.
-
Threads — количество потоков. Отдельно отображаются:
-
Threads cached — количество потоков в кеше.
-
Threads connected — количество открытых подключений к БД.
Максимальное количество открытых подключений задается в параметре max_connections.
-
Threads running — количество запущенных потоков.
-
-
Thread states — количество потоков в каждом состоянии.
-
Disk usage — использование дискового пространства. Отдельно отображаются:
- data — объем, занятый данными.
- default tablespace — объем, занятый данными в табличном пространстве.
- innodb logs — объем, занятый логами InnoDB.
- relaylogs, binlogs — объем, занятый служебными логами MySQL®.
- temp tablespace — объем, занятый данными во временном табличном пространстве.
- undo tablespace — объем, занятый данными в табличном пространстве отката InnoDB
.
-
InnoDB rows operation — количество операций со строками в InnoDB.
-
InnoDB locks — ожидания блокировок строк в InnoDB. Отдельно отображаются:
- innodb_row_lock_current_waits — текущее количество ожиданий блокировок строк;
- innodb_row_lock_waits — количество операций, которым пришлось ждать блокировки строк, в секунду.
-
Temp tables — количество созданных временных таблиц и файлов в секунду.
-
Sorts and joins — количество операций сортировки и объединения в секунду.
-
Table cache — кеширование таблиц. Отдельно отображаются:
- open_tables — количество открытых таблиц;
- opened_tables — количество открытых таблиц в секунду;
- table_open_cache_hits — количество успешных попыток поиска в кеше открытых таблиц в секунду;
- table_open_cache_misses — количество неуспешных попыток поиска в кеше открытых таблиц в секунду.
Мониторинг состояния хостов
Для просмотра детальной информации о состоянии отдельных хостов Managed Service for MySQL®:
-
Перейдите
в сервис Managed Service for MySQL. -
Нажмите на имя нужного кластера и выберите вкладку
Другое → Мониторинг. -
Перейдите на вкладку Хосты и выберите хост.
На открывшейся странице будут отображены графики, отражающие состояние хостов кластера.
Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Yandex Monitoring, нажмите кнопку Открыть в Monium на панели сверху.
Для хостов отображаются графики:
-
CPU usage — процент использования CPU по типам потребления.
-
Memory usage — использование оперативной памяти по типам потребления.
-
Disk IOPS — количество операций чтения и записи в секунду.
-
Network Packets — количество отправленных и полученных по сети пакетов в секунду.
-
Network Bytes — скорость отправки и получения данных по сети.
Для хостов с ролью Replica нормально преобладание Received над Sent на графиках Network Bytes и Network Packets.
В блоке MySQL overview отображаются расширенные сведения о состоянии СУБД на хосте:
-
Query quantiles — время выполнения запросов по процентилям.
-
Queries per second — количество пользовательских запросов в секунду.
-
Slow queries per second — количество запросов в секунду, выполняющихся дольше, чем указано в параметре long_query_time.
-
Threads — количество потоков. Отдельно отображаются:
-
Threads cached — количество потоков в кеше.
-
Threads connected — количество открытых подключений к БД.
Максимальное количество открытых подключений задается в параметре max_connections.
-
Threads running — количество запущенных потоков.
-
-
Thread states — количество потоков в каждом состоянии.
-
Handlers — количество обработчиков операций.
-
Replication lag — время отставания реплики от мастера.
-
File IO write bytes — скорость записи данных по типам файлов.
-
File IO read bytes — скорость чтения данных по типам файлов.
-
Disk usage — использование дискового пространства. Отдельно отображаются:
- data — объем, занятый данными.
- default tablespace — объем, занятый данными в табличном пространстве.
- innodb logs — объем, занятый логами InnoDB.
- relaylogs, binlogs — объем, занятый служебными логами MySQL®.
- temp tablespace — объем, занятый данными во временном табличном пространстве.
- undo tablespace — объем, занятый данными в табличном пространстве отката InnoDB
.
-
File IO write operations — количество операций записи по типам файлов в секунду.
-
File IO read operations — количество операций чтения по типам файлов в секунду.
-
Temp tables — количество созданных временных таблиц и файлов в секунду.
-
Sorts and joins — количество операций сортировки и объединения в секунду.
-
Table cache — кеширование таблиц. Отдельно отображаются:
- open_tables — количество открытых таблиц;
- opened_tables — количество открытых таблиц в секунду;
- table_open_cache_hits — количество успешных попыток поиска в кеше открытых таблиц в секунду;
- table_open_cache_misses — количество неуспешных попыток поиска в кеше открытых таблиц в секунду.
-
InnoDB rows operation — количество операций со строками в InnoDB.
-
InnoDB locks — ожидания блокировок строк в InnoDB. Отдельно отображаются:
- innodb_row_lock_current_waits — текущее количество ожиданий блокировок строк.
- innodb_row_lock_waits — количество операций, которым пришлось ждать блокировки строк, в секунду.
-
InnoDB lock time — максимальное время ожидания блокировки строк в InnoDB.
-
InnoDB cache efficiency — эффективность буфера InnoDB. Отдельно отображаются:
- innodb_buffer_pool_reads — количество операций чтения, в которых InnoDB пришлось обращаться к диску, в секунду;
- innodb_buffer_pool_read_requests — общее количество операций чтения в секунду.
-
InnoDB data operations — количество операций InnoDB в секунду. Отдельно отображаются:
- innodb data fsyncs — количество операций
fsync()при сбросе данных на диск; - innodb data reads — количество операций чтения с диска;
- innodb data writes — количество операций записи на диск.
- innodb data fsyncs — количество операций
-
SemiSync latency — максимальное время ожидания подтверждения транзакции источником при полусинхронной репликации
. -
Inode usage — использование inodes, в процентах от общего количества.
В блоке MySQL overview → 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 — средний и максимальный процент использования квоты для дисковых операций.
Настройка алертов в Yandex Monitoring
-
В консоли управления
выберите каталог с кластером, для которого нужно настроить алерты. -
Перейдите
в сервис Monitoring. -
В блоке Сервисные дашборды выберите:
- Managed Service for MySQL® — Cluster Overview для настройки алертов кластера;
- Managed Service for MySQL® — Host Overview для настройки алертов хостов.
-
На нужном графике нажмите на значок
и выберите пункт Создать алерт. -
Если на графике несколько показателей, выберите запрос данных для формирования метрики и нажмите Продолжить. Подробнее о языке запросов читайте в документации Yandex Monitoring.
-
Задайте значения порогов
AlarmиWarningдля срабатывания алерта. -
Нажмите кнопку Создать алерт.
Чтобы настроить автоматический мониторинг других показателей состояния кластера:
- Создайте алерт.
- Добавьте метрику состояния.
- В параметрах алерта задайте значения порогов для оповещения.
Рекомендуемые значения порогов для некоторых метрик:
| Метрика | Обозначение | Alarm |
Warning |
|---|---|---|---|
| Задержка репликации | mysql_replication_lag |
600 |
60 |
| Количество работоспособных хостов | mysql_is_alive |
<количество_хостов> - 2 |
<количество_хостов> - 1 |
| Среднее время выполнения запросов | mysql_latency_query_avg |
— | 2000 |
| Размер использованного хранилища | disk.used_bytes |
90% от размера хранилища | 80% от размера хранилища |
| Утилизация CPU | cpu.idle |
10 |
20 |
Для метрики disk.used_bytes значения порогов Alarm и Warning задаются только в байтах. Например, рекомендуемые значения для диска размером в 100 ГБ:
Alarm—96636764160байтов (90%).Warning—85899345920байтов (80%).
Текущий размер хранилища можно посмотреть в детальной информации о кластере. Полный список поддерживаемых метрик приведен в документации Monitoring.
Состояние и статус кластера
Состояние кластера указывает на исправность его хостов, а Статус показывает, запущен кластер, остановлен или находится в промежуточном состоянии.
Для просмотра состояния и статуса кластера:
- Перейдите
в сервис Managed Service for MySQL. - Наведите курсор на индикатор в столбце Доступность в строке нужного кластера.
Состояния кластера
| Состояние | Описание | Предлагаемые действия |
|---|---|---|
| ALIVE | Кластер работает в штатном режиме. | Действий не требуется. |
| DEGRADED | Кластер работает не на полную мощность: минимум один из хостов имеет состояние, отличное от ALIVE. |
Выполните диагностику:
|
| DEAD | Кластер неработоспособен: ни один его хост не работает. | Составьте обращение в службу поддержки
|
| UNKNOWN | Состояние кластера неизвестно. | Составьте обращение в службу поддержки
|
Восстановление кластера в состоянии DEAD
Если кластер находится в состоянии DEAD, создайте запрос в техническую поддержку
При восстановлении будет создан отдельный кластер. Выберите доступную резервную копию или момент восстановления с учетом допустимой потери последних изменений: данные, записанные позже выбранного момента, в новый кластер не попадут. После восстановления переключите приложения на новый кластер.
Если причиной недоступности стала высокая нагрузка, восстановление из резервной копии само по себе ее не устранит. До возобновления полной нагрузки ограничьте интенсивность запросов, а после восстановления проанализируйте потребление ресурсов и оптимизируйте нагрузку, чтобы проблема не повторилась.
- Восстановите кластер из резервной копии.
- Обновите параметры подключения в приложениях и проверьте доступ к данным в новом кластере.
- Проведите диагностику производительности и оптимизируйте запросы.
Статусы кластера
| Статус | Описание | Предлагаемые действия |
|---|---|---|
| CREATING | Идет подготовка к первому запуску | Подождите немного и приступайте к работе. Время создания кластера зависит от класса хостов. |
| RUNNING | Кластер работает в штатном режиме | Действий не требуется. |
| STOPPING | Кластер останавливается | Через некоторое время кластеру будет присвоен статус STOPPED, и он будет выведен из работы. Действий не требуется. |
| STOPPED | Кластер остановлен | Запустите кластер, чтобы вернуть его в работу. |
| STARTING | Остановленный ранее кластер запускается | Через некоторое время кластеру будет присвоен статус RUNNING. Подождите немного и приступайте к работе. |
| UPDATING | Обновляется конфигурация кластера | По завершении обновления кластеру будет присвоен статус, который был до обновления: RUNNING или STOPPED. |
| ERROR | Произошла ошибка при выполнении операции с кластером или во время окна технического обслуживания | Если кластер долго находится в этом статусе, обратитесь в службу поддержки |
| STATUS_UNKNOWN | Кластер не может определить свой статус | Если кластер долго находится в этом статусе, обратитесь в службу поддержки |