Мониторинг состояния кластера MySQL® и хостов
Данные о состоянии кластера и его хостов доступны в консоли управления. Их можно посмотреть на вкладке Мониторинг страницы управления кластером или в сервисе Yandex Monitoring.
Диагностическая информация о состоянии кластера представлена в виде графиков.
Период обновления графиков:
- Для хостов стандартной конфигурации и хостов с увеличенным соотношением количества гигабайт 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, нажмите кнопку Открыть в Monitoring на панели сверху.
На вкладке отображаются графики:
-
Average query time — среднее время исполнения запросов, для каждого хоста (в миллисекундах).
-
Connections — количество подключений, для каждого хоста.
-
Disk usage — занятое дисковое пространство (в байтах), для каждого хоста и для кластера в целом.
-
Is Alive, [boolean] — показывает доступность кластера в виде суммы состояний его хостов.
Каждый хост в состоянии Alive увеличивает общую доступность на 1. При выходе из строя одного из хостов общая доступность уменьшается на 1.
Для повышения доступности кластера вы можете добавить в него хосты.
-
Is Primary, [boolean] — показывает, какой хост является мастером и как долго.
-
Free space — свободное дисковое пространство для каждого хоста (в байтах).
-
Queries per second — общее количество запросов в секунду, для каждого хоста.
-
Replication lag — отставание реплики от мастера (в секундах).
-
Slow queries per second — количество SQL-запросов в секунду, выполняющихся дольше, чем указано в параметре
long_query_time
, для каждого хоста. -
Threads running — количество запущенных потоков, для каждого хоста. При увеличении нагрузки на кластер это значение будет быстро расти.
В блоке Master overview отображаются расширенные сведения о мастере:
- Disk usage — детализация занятого дискового пространства (в байтах):
- data — объем, занятый данными.
- default tablespace — объем, занятый данными в табличном пространстве по умолчанию.
- innodb logs — объем, занятый логами InnoDB.
- relaylogs, binlogs — объем, занятый служебными логами MySQL®. Подробнее binlogs
и relaylogs описаны в документации MySQL®. - temp tablespace — объем, занятый данными во временном табличном пространстве.
- undo tablespace — объем, занятый данными в табличном пространстве InnoDB отката
.
- InnoDB locks — количество блокировок таблиц InnoDB. Описание показателей см. в документации MySQL®
. - InnoDB rows operations — число операций со строками таблиц InnoDB. Описание показателей см. в документации MySQL®
. - Query quantiles — квантили среднего времени выполнения запроса.
- Sorts and joins — доли операций сортировки и объединения в общем числе операций. Описание показателей см. в документации MySQL®
. - Table cache — характеристики кешированных таблиц. Описание показателей см. в документации MySQL®
. - Temp tables — количество временных таблиц. Описание показателей см. в документации MySQL®
. - Thread states — количество потоков, запущенных демоном
mysqld
, в определенном состоянии. Описание состояний см. в документации MySQL® . - Threads — количество потоков, запущенных демоном
mysqld
.-
Threads cached — количество кешированных потоков.
При нормальной работе кластера процесс
mysqld
кеширует большую часть соединений. -
Threads connected — количество открытых потоков.
Приближение графика к максимальному значению может означать, что открытые соединения не закрываются.
Максимальное значение задает параметр
max_connections
. -
Threads running — количество запущенных потоков.
При увеличении нагрузки на кластер это значение будет быстро расти.
-
Мониторинг состояния хостов
Для просмотра детальной информации о состоянии отдельных хостов Managed Service for MySQL®:
- Перейдите на страницу каталога
и выберите сервис Managed Service for MySQL. - Нажмите на имя нужного кластера, затем выберите вкладку Хосты.
- Перейдите на страницу Мониторинги.
- Выберите нужный хост из выпадающего списка.
На этой странице выводятся графики, показывающие нагрузку на отдельный хост кластера:
-
CPU usage — загрузка процессорных ядер. При повышении нагрузки значение idle уменьшается.
-
Disk read/write bytes — скорость дисковых операций (байт/с).
-
Disk IOPS — интенсивность дисковых операций (операций/с).
На графиках Disk read/write bytes и Disk IOPS показатель Read растет при активном чтении из базы данных, а Write — при записи в нее.
-
Memory usage — использование оперативной памяти (в байтах). При высоких нагрузках значение показателя Free уменьшается, остальные — растут.
-
Network Bytes — скорость обмена данными по сети (байт/с).
-
Network Packets — интенсивность обмена данными по сети (пакетов/с).
Для хостов с ролью Replica нормально преобладание Received над Sent на графиках Network Bytes и Network Packets.
В блоке MySQL overview отображаются расширенные сведения о состоянии СУБД на хосте:
- Disk usage — детализация занятого дискового пространства (в байтах):
- data — объем, занятый данными.
- default tablespace — объем, занятый данными в табличном пространстве по умолчанию.
- innodb logs — объем, занятый логами InnoDB.
- relaylogs, binlogs — объем, занятый служебными логами MySQL®. Подробнее binlogs
и relaylogs описаны в документации MySQL®. - temp tablespace — объем, занятый данными во временном табличном пространстве.
- undo tablespace — объем, занятый данными в табличном пространстве InnoDB отката
.
- Inode usage — использованное количество inodes.
- File IO read bytes — скорость чтения данных (байт/с).
- File IO read operations — средняя скорость файловых операций чтения (в секунду). Описание операций см. в документации MySQL®
. - File IO write bytes — скорость записи данных (байт/с).
- File IO write operations — средняя скорость файловых операций записи (в секунду). Описание операций см. в документации MySQL®
. - Handlers — количество обработчиков различных операций. Подробнее см. в документации MySQL®
. - InnoDB cache efficiency — характеристики эффективности буфера InnoDB. Описание показателей см. в документации MySQL®
. - InnoDB data operations — количество операций InnoDB:
- innodb data fsyncs — операции
fsync()
при сбросе данных на диск; - innodb data reads — операции чтения с диска;
- innodb data writes — операции записи.
- innodb data fsyncs — операции
- InnoDB lock time — время ожидания блокировки таблиц InnoDB (в секундах).
- InnoDB locks — количество блокировок таблиц InnoDB. Описание показателей см. в документации MySQL®
. - InnoDB rows operation — число операций со строками таблиц InnoDB. Описание показателей см. в документации MySQL®
. - Queries per second — общее количество запросов в секунду.
- Query quantiles — квантили среднего времени выполнения запроса.
- Replication lag — отставание реплики от мастера (в секундах).
- SemiSync latency — детализация задержки подтверждения транзакции при полусинхронной репликации
(в секундах). Описание показателей см. в документации MySQL® . - Slow queries per second — количество SQL-запросов в секунду, выполняющихся дольше, чем указано в параметре
long_query_time
. - Sorts and joins — доли операций сортировки и объединения в общем числе операций. Описание показателей см. в документации MySQL®
. - Table cache — характеристики кешированных таблиц. Описание показателей см. в документации MySQL®
. - Temp tables — количество временных таблиц. Описание показателей см. в документации MySQL®
. - Thread states — количество потоков, запущенных демоном
mysqld
, в определенном состоянии. Описание состояний см. в документации MySQL® . - Threads — количество потоков, запущенных демоном
mysqld
.-
Threads cached — количество кешированных потоков.
При нормальной работе хоста процесс
mysqld
кеширует большую часть соединений. -
Threads connected — количество открытых потоков.
Приближение графика к максимальному значению может означать, что открытые соединения не закрываются.
Максимальное значение задает параметр
max_connections
. -
Threads running — количество запущенных потоков.
При увеличении нагрузки на хост это значение будет быстро расти.
-
Настройка алертов в 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 | Состояние кластера неизвестно. | Составьте обращение в службу поддержки
|
Статусы кластера
Статус | Описание | Предлагаемые действия |
---|---|---|
CREATING | Идет подготовка к первому запуску | Подождите немного и приступайте к работе. Время создания кластера зависит от класса хостов. |
RUNNING | Кластер работает в штатном режиме | Действий не требуется. |
STOPPING | Кластер останавливается | Через некоторое время кластеру будет присвоен статус STOPPED , и он будет выведен из работы. Действий не требуется. |
STOPPED | Кластер остановлен | Запустите кластер, чтобы вернуть его в работу. |
STARTING | Остановленный ранее кластер запускается | Через некоторое время кластеру будет присвоен статус RUNNING . Подождите немного и приступайте к работе. |
UPDATING | Выполняется обновление состояния кластера | По завершении обновления ему будет присвоен статус RUNNING . Подождите немного и приступайте к работе. |
ERROR | Произошла ошибка, которая не позволяет кластеру продолжить работу | Выполните начальную диагностику:
|
STATUS_UNKNOWN | Кластер не может определить свой статус | Выполните начальную диагностику:
|