Мониторинг База данных Azure для MySQL — гибкий сервер
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — гибкий сервер
База данных Azure для MySQL гибкий сервер обеспечивает мониторинг серверов с помощью Azure Monitor. Мониторинг данных о серверах помогает устранять неполадки и оптимизировать рабочую нагрузку.
В этой статье вы узнаете о различных доступных метриках и журналах сервера для гибкого сервера, которые дают представление о поведении сервера.
Примечание.
Эта статья содержит упоминания термина slave (ведомый) . Корпорация Майкрософт больше не использует его. Когда этот термин будет удален из программного обеспечения, мы удалим его из статьи.
Метрики
Метрики — это числовые значения с характеристиками определенного аспекта ресурсов сервера на конкретный момент времени. Мониторинг ресурсов сервера помогает в устранении неполадок и оптимизации рабочей нагрузки, так как позволяет отслеживать наиболее важные для вас ресурсы. Мониторинг правильных метрик помогает сохранить производительность, надежность и доступность сервера и приложений.
База данных Azure для MySQL гибкий сервер предоставляет различные метрики, чтобы понять, как выполняется рабочая нагрузка и на основе этих данных, вы можете понять влияние на сервер и приложение.
Все метрики Azure записываются ежеминутно, и каждая из них предоставляет данные за последние 30 дней. Вы можете настроить оповещения на основе метрик. Пошаговые инструкции см. в статье Как настроить оповещения. Другие задачи включают настройку автоматических действий, выполнение расширенной аналитики и архивирование журнала. Дополнительные сведения см. в статье Обзор метрик в Microsoft Azure.
Устранение неполадок метрик
Иногда могут возникнуть проблемы с созданием, настройкой или интерпретацией диаграмм в обозревателе метрик Azure. Ситуация диаграммы, показывающая , что данные не могут возникнуть из-за различных факторов. К ним может относиться поставщик ресурсов Microsoft Insights, не зарегистрированный для вашей подписки, или у вас нет достаточных прав доступа к База данных Azure для MySQL — гибкий сервер. Другие возможности могут быть тем, что ресурс не создавал метрики в течение выбранного интервала времени, или выбранный диапазон времени превышает 30 дней.
Ниже приведены некоторые причины, которые могут привести к этому поведению:
- Поставщик ресурсов Microsoft.Insights не зарегистрирован: для изучения метрик требуется поставщик ресурсов Microsoft.Insights, зарегистрированный в вашей подписке. Зарегистрируйте сервер вручную, выполнив действия, описанные в разделе "Поставщики ресурсов и типы ресурсов Azure".
- Недостаточно прав доступа к ресурсу. Убедитесь, что у вас есть достаточные разрешения для База данных Azure для MySQL — гибкий сервер, из которого вы изучаете метрики. Ресурс не выдает метрики во время выбранного диапазона времени: измените время диаграммы на более широкий диапазон. В Azure управление доступом на основе ролей Azure (Azure RBAC) управляет доступом к метрикам. Вы должны иметь роль читателя данных мониторинга, участника мониторинга или участника для просмотра метрик по любому ресурсу.
- Ресурс не выдает метрики во время выбранного диапазона времени: это может быть вызвано несколькими причинами. Одним из возможных вариантов является то, что ресурс не создавал метрики в течение выбранного интервала времени. Измените время диаграммы на более широкий диапазон, чтобы узнать, устранена ли проблема. Дополнительные сведения об устранении этой проблемы см. в руководстве по устранению неполадок с метриками Azure Monitor.
- Диапазон времени больше 30 дней: убедитесь, что разница между датами начала и окончания в средство выбора времени не превышает 30-дневный интервал. Дополнительные сведения об устранении неполадок с метриками см. в руководстве по устранению неполадок с метриками Azure Monitor.
- Указание дефисной линии: в Azure Monitor наличие дефисной линии означает разрыв в данных или значение NULL между двумя точками известных данных о зерне времени. Это преднамеренная конструкция, которая помогает обнаружить отсутствующие точки данных. Если на диаграмме отображаются дефишированные линии, они указывают на отсутствие данных и см . в документации для получения дополнительных сведений.
Дополнительные сведения об устранении неполадок с метриками см. в руководстве по устранению неполадок с метриками Azure Monitor.
Примечание.
Метрики, помеченные как устаревшие, планируется удалить с портала Azure. Рекомендуется игнорировать эти метрики для мониторинга База данных Azure для MySQL гибкого сервера.
Список метрик
Эти метрики доступны для гибкого сервера База данных Azure для MySQL:
Отображаемое имя метрики | Metric | Единица измерения | Description |
---|---|---|---|
Время простоя mySQL | время бесперебойной работы | сек. | Эта метрика указывает продолжительность работы сервера MySQL. |
Процент загрузки ЦП узла | cpu_percent | Процент | Процент загрузки ЦП узла — это общее использование ЦП для обработки всех задач на сервере в течение выбранного периода. Эта метрика включает рабочую нагрузку База данных Azure для MySQL гибкого экземпляра сервера и процесса Azure MySQL. Высокий процент загрузки ЦП помогает определить, не имеет ли сервер базы данных большую рабочую нагрузку, чем может обработать. Эта метрика эквивалентна общему использованию ЦП, аналогично использованию ЦП на любой виртуальной машине. |
Кредит ЦП, потребляемый | cpu_credits_consumed | Count | Это касается только кредита ЦП для ускорения уровня, вычисляется на основе рабочей нагрузки. Дополнительные сведения см. в статье О размерах виртуальных машин с возможностью ускорения серии B. |
Оставшиеся кредиты ЦП | cpu_credits_remaining | Count | Это касается только сохраняемого уровня ЦП на основе рабочей нагрузки. Дополнительные сведения см. в статье О размерах виртуальных машин с возможностью ускорения серии B. |
Входящий трафик узла | network_bytes_ingress | Байт | Общая сумма входящего сетевого трафика на сервере за выбранный период. Эта метрика включает трафик в базу данных и База данных Azure для MySQL гибкие функции сервера, такие как мониторинг, журналы и т. д. |
Исходящий трафик узла | network_bytes_egress | Байт | Общая сумма исходящего сетевого трафика на сервере за выбранный период. Эта метрика включает трафик из базы данных и из База данных Azure для MySQL гибких функций сервера, таких как мониторинг, журналы и т. д. |
Активные подключения | active_connection | Count | Число активных подключений к серверу. Активные подключения — это общее количество потоков, подключенных к серверу, которое также включает потоки из azure_superuser. |
Процент операций ввода-вывода в хранилище | io_consumption_percent | Процент | Процент операций ввода-вывода, используемых в течение выбранного периода. Процент операций ввода-вывода предназначен для операций как чтения, так и записи в секунду. |
Количество операций ввода-вывода в хранилище | storage_io_count | Count | Общее количество операций ввода-вывода (как для чтения, так и записи), используемых сервером в минуту. |
Процент памяти | memory_percent | Процент | Эта метрика представляет процент памяти, занятой серверным процессом Azure MySQL (mysqld). Эта метрика вычисляется на основе общего размера памяти (ГБ), доступного на гибком сервере База данных Azure для MySQL. |
Всего подключений | total_connections | Count | Количество подключений клиента к База данных Azure для MySQL гибкому экземпляру сервера. Общее количество подключений — это сумма подключений клиентов, использующих протокол TCP/IP, за выбранный период. |
Прерванные подключения | aborted_connections | Count | Общее количество неудачных попыток подключения к База данных Azure для MySQL гибкому экземпляру сервера, например сбой подключения из-за плохих учетных данных. Дополнительные сведения о прерванных подключениях см. в этой документации. |
Запросы | запросы | Count | Общее количество выполненных в минуту запросов на сервере. Общее количество запросов в минуту на сервере от рабочей нагрузки базы данных и процессов Azure MySQL. |
Slow_queries | slow_queries | Count | Общее количество медленных запросов на сервере в выбранном диапазоне времени. |
Активные транзакции | active_transactions | Count | Эта метрика представляет общее количество транзакций, выполняемых в MySQL. Активные транзакции включают все запущенные транзакции, но еще не зафиксированные или откатированные. |
Метрики разбивки хранилища
Отображаемое имя метрики | Metric | Единица измерения | Description |
---|---|---|---|
Лимит хранилища | storage_limit | Байт | Максимальный размер хранилища, настроенный для этого сервера. |
Процент хранилища | storage_percent | Процент | Процент хранилища, используемого из максимального доступного хранилища сервера. |
Использовано хранилища | storage_used | Байт | Используемый объем хранилища. Хранилище, используемое службой, может содержать файлы базы данных, журналы транзакций и журналы сервера. |
Используемое хранилище данных | data_storage_used | Байт | Объем хранилища, используемого для хранения файлов базы данных. |
Используемое хранилище ibdata1 | ibdata1_storage_used | Байт | Объем хранилища, используемого для хранения системного пространства таблиц (ibdata1). |
Используемое хранилище binlog | binlog_storage_used | Байт | Объем хранилища, используемого для хранения двоичных файлов журнала. |
Другое используемое хранилище | other_storage_used | Байт | Объем хранилища, используемого для других компонентов и файлов метаданных. |
Использованное хранилище резервных копий | backup_storage_used | Байт | Объем используемого хранилища резервных копий. |
Метрики репликации
Отображаемое имя метрики | Metric | Единица измерения | Description |
---|---|---|---|
Задержка репликации | replication_lag | сек. | Задержка репликации — это количество секунд, на которое реплика отстает при повторном воспроизведении транзакций, полученных от исходного сервера. Эта метрика вычисляется на основе Seconds_behind_Master из команды SHOW SLAVE STATUS и доступна только для серверов-реплик. Дополнительные сведения см. в статье Мониторинг задержки репликации. |
Состояние операций ввода-вывода реплики | replica_io_running | Штат | Состояние ввода-вывода реплики указывает состояние потока операций ввода-вывода репликации. Значение метрики равно 1, если поток ввода-вывода запущен и 0, если нет. |
Состояние SQL реплики | replica_sql_running | Штат | Состояние SQL реплики указывает состояние потока SQL репликации. Значение метрики равно 1, если поток SQL запущен и 0, если нет. |
Состояние ввода-вывода высокого уровня доступности | ha_io_running | Штат | Состояние ввода-вывода высокого уровня доступности указывает состояние репликации высокого уровня доступности. Значение метрики равно 1, если поток ввода-вывода запущен и 0, если нет. |
Состояние SQL высокого уровня доступности | ha_sql_running | Штат | Состояние SQL высокого уровня доступности указывает состояние репликации высокого уровня доступности. Значение метрики равно 1, если поток SQL запущен и 0, если нет. |
Задержка репликации высокой доступности | ha_replication_lag | сек. | Задержка репликации высокого уровня доступности — это количество секунд, за которые находится резервный сервер высокой доступности при повторной передаче транзакций, полученных от исходного сервера. Эта метрика вычисляется из "Seconds_behind_Master" из команды "SHOW SLAVE STATUS" и доступна только для резервных серверов высокой доступности. |
Примечание.
Для реплик чтения на гибком сервере База данных Azure для MySQL значение Slave_IO_Running/Replica_IO_Running из команды MySQL "SHOW SLAVE STATUS" или SHOW REPLICA STATUS будет обозначено как "НЕТ" и должно игнорироваться, так как База данных Azure для MySQL Реализация реплик гибких серверов не зависит от установления соединения для взаимодействия с исходным сервером. Для подлинного состояния потока ввода-вывода реплик чтения реплики с помощью реплики ввода-вывода в колонке "Мониторинг" можно получить сведения о состоянии операций ввода-вывода реплики ввода-вывода.
Расширенные метрики
Статистика DML
Отображаемое имя метрики | Metric | Единица измерения | Description |
---|---|---|---|
Com_select | Com_select | Count | Общее количество инструкций select, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_update | Com_update | Count | Общее количество инструкций обновления, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_insert | Com_insert | Count | Общее количество инструкций вставки, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_delete | Com_delete | Count | Общее количество инструкций удаления, которые были выполнены на сервере в выбранном диапазоне времени. |
Статистика DDL
Отображаемое имя метрики | Metric | Единица измерения | Description |
---|---|---|---|
Com_create_db | Com_create_db | Count | Общее количество инструкций создания базы данных, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_drop_db | Com_drop_db | Count | Общее количество инструкций базы данных drop, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_create_table | Com_create_table | Count | Общее количество инструкций создания таблиц, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_drop_table | Com_drop_table | Count | Общее количество инструкций drop table, которые были выполнены на сервере в выбранном диапазоне времени. |
Com_Alter | Com_Alter | Count | Общее количество инструкций alter table, которые были выполнены на сервере в выбранном диапазоне времени. |
Метрики Innodb
Отображаемое имя метрики | Metric | Единица измерения | Description |
---|---|---|---|
Время блокировки строк InnoDB | innodb_row_lock_time | Миллисекунды | Время блокировки строк InnoDB измеряет длительность времени в миллисекундах для блокировок на уровне строк InnoDB. |
Ожидание блокировки строк InnoDB | innodb_row_lock_waits | Count | Блокировка строк InnoDB ожидает метрики, количество раз, когда запросу пришлось ждать блокировки на уровне строк InnoDB. |
Innodb_buffer_pool_reads | Innodb_buffer_pool_reads | Count | Общее количество логических операций чтения, которое подсистема InnoDB не смогла удовлетворить из пула буферов Innodb и должна быть получена из диска. |
Innodb_buffer_pool_read_requests | Innodb_buffer_pool_read_requests | Count | Общее количество логических запросов на чтение из пула буферов Innodb. |
Innodb_buffer_pool_pages_free | Innodb_buffer_pool_pages_free | Count | Общее количество бесплатных страниц в пуле буферов InnoDB. |
Innodb_buffer_pool_pages_data | Innodb_buffer_pool_pages_data | Count | Общее количество страниц в пуле буферов InnoDB, содержащего данные. Число включает как грязные, так и чистые страницы. |
Innodb_buffer_pool_pages_dirty | Innodb_buffer_pool_pages_dirty | Count | Общее количество страниц в пуле буферов InnoDB, содержащего грязные страницы. |
Длина списка журналов MySQL | trx_rseg_history_len | Count | Эта метрика вычисляет количество изменений в базе данных, в частности количество записей, содержащих предыдущие изменения. Это связано с скоростью изменений данных, что приводит к созданию новых версий строк. Увеличение длины списка журналов может повлиять на производительность базы данных. |
Время ожидания блокировки MySQL | lock_timeouts | Count | Эта метрика представляет время ожидания запроса из-за блокировки. Обычно это происходит, когда запрос ожидает блокировки строки или таблицы, удерживаемой другим запросом дольше, чем innodb_lock_wait_timeout параметр. |
Взаимоблокировки блокировки MySQL | lock_deadlock | Count | Эта метрика представляет количество взаимоблокировок на База данных Azure для MySQL гибком экземпляре сервера в выбранный период времени. |
Журналы сервера
В База данных Azure для MySQL гибком сервере пользователи могут настраивать и скачивать журналы серверов, чтобы помочь в устранении неполадок. С этой функцией База данных Azure для MySQL гибкий экземпляр сервера начинает записывать события выбранного типа журнала и записывает их в файл. Затем можно скачать файлы с помощью портала Azure или Azure CLI. Функция журнала сервера по умолчанию отключена. Сведения о включении журналов сервера см. в статье "Включение и скачивание журналов сервера" для База данных Azure для MySQL гибкого сервера.
Журналы сервера поддерживают медленные журналы запросов и журналы ошибок для включения и скачивания. Чтобы выполнить анализ данных за прошлые периоды, на портале Azure на панели параметров диагностики для сервера добавьте параметр диагностики для отправки журналов в рабочую область Log Analytics, службу хранилища Azure или центры событий. Дополнительные сведения см. в статье Настройка диагностики.
Хранение журналов сервера
Если ведение журнала включено для База данных Azure для MySQL гибкого экземпляра сервера, журналы доступны до семи дней после их создания. Если общий объем доступных журналов превышает 7 ГБ, по мере необходимости удаляются самые старые файлы. Хранилище на 7 ГБ для журналов сервера доступно бесплатно и не может быть увеличено. Журналы поворачиваются каждые 24 часа или 500 МБ, в зависимости от того, что происходит в первую очередь.
Следующие шаги
- См. рекомендации по созданию оповещений для метрики в статье Как настраивать оповещения.
- Включение и скачивание журналов сервера для гибкого сервера База данных Azure для MySQL из портал Azure или Azure CLI