Поделиться через


Мониторинг База данных SQL Azure с помощью метрик и оповещений

Применимо к: База данных SQL Azure

Метрики Azure Monitor можно использовать для мониторинга потребления ресурсов и работоспособности эластичного пула. Оповещения можно использовать для отправки уведомлений, когда значения метрик указывают на потенциальную проблему.

Метрики

Метрика — это ряд числовых значений, измеряемых в регулярных интервалах времени, часто использующих такие единицы, как , и т. д. В зависимости от природы метрики можно использовать агрегаты, такие как counttotal, count, minimumaveragemaximum для вычисления значений метрик в течение длительности времени. bytespercent Можно разделить некоторые метрики по измерениям. Каждое измерение предоставляет дополнительный контекст числовых значений.

Примеры доступных метрик База данных SQL Azure: CPU percentage, Data space used, Deadlocks. Tempdb Percent Log Used

См. метрики базы данных и метрики эластичного пула для всех доступных метрик в База данных SQL Azure.

Примечание.

Некоторые метрики применяются только к определенным типам баз данных или эластичных пулов. Описание каждой метрики упоминается, если его использование ограничено определенной базой данных или типом эластичного пула, например виртуальным ядром, гипермасштабированием, бессерверным и т. д.

На портале База данных SQL Azure на вкладке "Мониторинг" страницы обзора отображаются несколько часто используемых метрик. Метрики позволяют оценить потребление ресурсов и работоспособность базы данных или эластичного пула на первый взгляд.

Снимок экрана: портал Azure диаграммы метрик, показанной на странице обзора База данных SQL Azure.

В разделе "Ключевые метрики" выберите "Просмотреть все метрики" или в любом месте диаграммы , чтобы открыть обозреватель метрик. На странице метрик можно просмотреть все остальные доступные метрики для ресурса базы данных или эластичного пула. В обозревателе метрик можно изменить диапазон времени, степень детализации и агрегирование для диаграммы, изменить тип диаграммы, развернуть область, чтобы включить метрики из других ресурсов Azure, создать правила генерации оповещений и т. д. Вы также можете открыть обозреватель метрик, выбрав пункт меню "Метрики " в разделе "Мониторинг " в меню ресурсов.

Использование метрик для мониторинга баз данных и эластичных пулов

Метрики можно использовать для мониторинга потребления ресурсов и работоспособности ресурсов эластичного пула. Например, доступны следующие возможности:

  • Правильный размер базы данных или эластичного пула для рабочей нагрузки приложения
  • Обнаружение постепенного увеличения потребления ресурсов и упреждающее масштабирование базы данных или эластичного пула
  • Обнаружение и устранение проблем с производительностью

В следующей таблице описаны часто используемые метрики в База данных SQL Azure.

Имя метрики Идентификатор метрики Description
Процент ЦП cpu_percent Эта метрика показывает потребление ЦП в сторону ограничения рабочей нагрузки пользователя базы данных или эластичного пула, выраженное в процентах. Дополнительные сведения см. в разделе Потребление ресурсов рабочими нагрузками пользователей и внутренними процессами.
Процент ЦП экземпляра SQL sql_instance_cpu_percent Эта метрика показывает общее потребление ЦП пользователями и системными рабочими нагрузками, выраженными в процентах. Так как эта метрика и метрика процента ЦП измеряются по разным шкалам, они не сравниваются напрямую друг с другом. Дополнительные сведения см. в разделе Потребление ресурсов рабочими нагрузками пользователей и внутренними процессами.
Процент операций ввода-вывода данных physical_data_read_percent Эта метрика показывает потребление операций ввода-вывода в файл данных по отношению к ограничению рабочей нагрузки пользователя базы данных или эластичного пула, выраженного в процентах. Дополнительные сведения см. в разделе "Управление операцией ввода-вывода данных".
Процент операций ввода-вывода журнала log_write_percent Эта метрика показывает потребление пропускной способности записи журнала транзакций в сторону ограничения рабочей нагрузки пользователя базы данных или эластичного пула, выраженное в процентах. Дополнительные сведения см. в разделе "Управление скоростью транзакций".
Процент рабочих ролей workers_percent Эта метрика показывает потребление рабочих потоков в сторону ограничения рабочей нагрузки пользователя базы данных или эластичного пула, выраженного в процентах.
Процент DTU dtu_consumption_percent Эта метрика показывает потребление DTU в отношении ограничения рабочей нагрузки пользователя базы данных или эластичного пула, выраженного в процентах. Процент DTU является производным от трех других метрик: процент ЦП, процент операций ввода-вывода данных и процент операций ввода-вывода журнала. В любой момент времени процент DTU соответствует наибольшему значению этих трех метрик.
Используемый ЦП cpu_used Эта метрика показывает потребление ЦП по отношению к ограничению рабочей нагрузки пользователя базы данных или эластичного пула, выраженного как количество виртуальных ядер. Дополнительные сведения см. в статье о диагностике и устранении неполадок с высоким уровнем ЦП на База данных SQL Azure.
Используется DTU dtu_used Эта метрика показывает количество единиц DTU, используемых базой данных или эластичным пулом.
Счет на ЦП приложения app_cpu_billed Для бессерверных баз данных эта метрика показывает объем счетов за вычислительные ресурсы (ЦП и память), выраженный в секундах виртуальных ядер. Дополнительные сведения см. в разделе "Выставление счетов" на уровне бессерверных вычислений.
Процент ЦП приложения app_cpu_percent Для бессерверных баз данных эта метрика показывает потребление ЦП в отношении максимального ограничения виртуальных ядер приложения, выраженного в процентах. Дополнительные сведения см. в разделе "Мониторинг" на уровне бессерверных вычислений.
Процент памяти приложения app_memory_percent Для бессерверных баз данных эта метрика показывает потребление памяти по отношению к максимальному ограничению памяти пакета приложения, выраженному в процентах. Дополнительные сведения см. в разделе "Мониторинг" на уровне бессерверных вычислений.
Количество сеансов sessions_count Эта метрика показывает количество установленных пользовательских сеансов для базы данных или эластичного пула.
Место, занятое данными storage Для баз данных эта метрика показывает объем дискового пространства, используемого в файлах данных базы данных.
Место, занятое данными storage_used Для эластичных пулов эта метрика показывает объем дискового пространства, используемого в файлах данных всех баз данных в эластичном пуле.
Выделенное пространство данных allocated_data_storage Эта метрика показывает объем места хранения, занятого файлами данных базы данных, или файлами данных всех баз данных в эластичном пуле. Файлы данных могут содержать пустое пространство. Из-за этого пространство данных выделяется , если часто больше пространства данных, используемого для одной базы данных или эластичного пула. Дополнительные сведения см. в статье "Управление пространством файлов для баз данных в База данных SQL Azure".
Объем используемого пространства данных storage_percent Для баз данных эта метрика показывает объем дискового пространства, используемого в файлах данных базы данных, в сторону ограничения размера данных базы данных. Для эластичных пулов отображается объем дискового пространства, используемого в файлах данных всех баз данных в эластичном пуле, выраженный в процентах от предельного размера данных эластичного пула. Ограничение размера данных для базы данных или эластичного пула может быть настроено ниже максимального предела размера данных. Чтобы найти максимальный размер данных, ознакомьтесь с ограничениями ресурсов для баз данных виртуальных ядер, эластичных пулов виртуальных ядер, баз данных DTU и эластичных пулов DTU.
Объем выделенного места данных allocated_data_storage_percent Для эластичных пулов эта метрика показывает объем места хранения, занятого файлами данных всех баз данных в эластичном пуле, в сторону ограничения размера данных пула, выраженный в процентах.
Используемый журнал процента tempdb tempdb_log_used_percent Эта метрика показывает потребление пространства журнала транзакций в tempdb базе данных по отношению к максимальному размеру журнала, выраженному в процентах. Дополнительные сведения см. в разделе tempdb в База данных SQL Azure.
Успешные подключения connection_successful Эта метрика показывает количество успешно установленных подключений к базе данных. Эта метрика может быть разделена двумя измерениями и SslProtocol ValidatedDriverNameAndVersionпросматривать количество подключений с использованием определенной версии протокола шифрования или использования определенного клиентского драйвера.
Неудачные подключения: системные ошибки connection_failed Эта метрика показывает количество попыток подключения к базе данных, которая завершилась сбоем из-за внутренних ошибок службы. Чаще всего такие ошибки являются временными. Эта метрика может быть разделена двумя измерениями и Error ValidatedDriverNameAndVersionпросматривать количество неудачных попыток подключения из-за определенной ошибки или конкретного драйвера клиента.
Неудачные подключения: ошибки пользователей connection_failed_user_error Эта метрика показывает количество попыток подключения к базе данных, которая завершилась сбоем из-за ошибок, исправляемых пользователем, таких как неправильный пароль или подключение, заблокированное брандмауэром. Эта метрика может быть разделена двумя измерениями и Error ValidatedDriverNameAndVersionпросматривать количество неудачных попыток подключения из-за определенной ошибки или конкретного драйвера клиента.
Взаимоблокировки deadlock Эта метрика показывает количество взаимоблокировок в базе данных.
Доступность availability Доступность определяется на основе базы данных, выполняемой для подключений. Для каждой одноминутной точки данных возможные значения либо 100% 0%. Дополнительные сведения см. в разделе "Метрика доступности".

Метрика доступности

Метрика доступности отслеживает доступность на уровне отдельных База данных SQL Azure. Эта функция в настоящее время доступна для предварительного ознакомления.

Доступность детализирована до одной минуты сбоя подключения. Доступность определяется на основе базы данных, выполняемой для подключений. Минута считается простоем или недоступной, если все непрерывные попытки пользователей установить подключение к базе данных в течение минуты не удалось из-за проблемы со службой. Если существует прерывистая недоступность, длительность непрерывной недоступности должна пересекать минутную границу, чтобы рассматриваться как простой. Как правило, задержка отображения доступности составляет менее трех минут.

Ниже приведена логика, используемая для вычисления доступности для каждого интервала в одну минуту:

  • Если имеется хотя бы одно успешное подключение, доступность составляет 100 %.
  • Если все подключения завершаются сбоем из-за ошибок пользователя, доступность составляет 100 %.
  • Если попытки подключения отсутствуют, доступность составляет 100 %.
  • Если все подключения завершаются сбоем из-за системных ошибок, доступность составляет 0 %.
  • В настоящее время данные метрик доступности пока не поддерживаются для бессерверного уровня вычислений и будут отображаться как 100 %.

Таким образом, метрика доступности является составной метрикой, производной от следующих существующих метрик:

  • Успешные подключения
  • Неудачные подключения: ошибки пользователей
  • Заблокирован брандмауэром
  • Неудачные подключения: системные ошибки

Ошибки пользователей включают все подключения, которые завершаются сбоем из-за конфигурации пользователя, рабочей нагрузки или управления. Системные ошибки включают все подключения, которые завершаются сбоем из-за временных проблем, связанных с службой База данных SQL Azure.

видны узлы

Вы можете создать правила генерации оповещений, чтобы уведомить вас о том, что значение одной метрики или нескольких метрик находится за пределами ожидаемого диапазона.

Вы можете задать область правила генерации оповещений несколькими способами в соответствии с вашими потребностями. Например, область правила генерации оповещений может быть задана следующим образом:

  • Отдельная база данных
  • Эластичные пулы
  • Все базы данных или эластичные пулы в группе ресурсов
  • Все базы данных или эластичные пулы в подписке в регионе Azure
  • Все базы данных или эластичные пулы в подписке во всех регионах

Правила оповещений периодически оценивают агрегированные значения метрик за период обратного просмотра, сравнивая их с пороговым значением. Можно настроить пороговое значение, частоту оценки и период обратного просмотра.

Если правило генерации оповещений активируется, вы получите уведомление в соответствии с вашими предпочтениями уведомлений, которые указываются в группе действий, связанной с правилом генерации оповещений. Например, вы можете получить сообщение электронной почты, SMS или голосовое уведомление. Правило генерации оповещений также может активировать такие действия, как веб-перехватчики, модули Runbook автоматизации, функции, приложения логики и т. д. Оповещения можно интегрировать с поддерживаемыми продуктами управления ИТ-службами.

Дополнительные сведения об оповещениях Azure Monitor см. в обзоре оповещений Azure Monitor. Чтобы ознакомиться с оповещениями метрик, просмотрите оповещения метрик, управляйте правилами генерации оповещений и группами действий.

Метрики и оптимальные пороговые значения, используемые в правилах генерации оповещений, зависят от широкого спектра рабочих нагрузок клиентов в База данных SQL Azure.

Рекомендуемые оповещения в следующей таблице — это отправная точка, помогающая определить оптимальную конфигурацию оповещений для ресурсов База данных SQL Azure. В зависимости от требований конфигурация может отличаться от этого примера. Вы можете использовать различные пороговые значения, частоты оценки или периоды обратного просмотра. Вы можете создать дополнительные оповещения или использовать разные конфигурации правил генерации оповещений для различных приложений и сред.

Ниже приведены примеры типичных конфигураций правил генерации оповещений.

Имя правила генерации оповещений Метрика (сигнал) Логика оповещений Когда следует оценить Рекомендуемая серьезность
Высокая загрузка ЦП пользователей Процент ЦП Пороговое значение: Static
агрегирование: оператор: Average
пороговое значение: Greater than
90
Проверьте каждый: период обратного просмотра: 1 minute
10 minutes
2 — предупреждение
Высокий общий объем использования ЦП Процент ЦП экземпляра SQL Пороговое значение: Static
агрегирование: оператор: Average
пороговое значение: Greater than
90
Проверьте каждый: период обратного просмотра: 1 minute
10 minutes
2 — предупреждение
Высокий уровень использования рабочей роли Процент рабочих ролей Пороговое значение: Static
агрегирование: оператор: Minimum
пороговое значение: Greater than
60
Проверьте каждый: период обратного просмотра: 1 minute
5 minutes
1 — ошибка
Использование операций ввода-вывода с высоким уровнем данных Процент операций ввода-вывода данных Пороговое значение: Static
агрегирование: оператор: Average
пороговое значение: Greater than
90
Проверьте каждый: период обратного просмотра: 1 minute
15 minutes
3 — информация
Низкое пространство данных Объем используемого пространства данных Пороговое значение: Static
агрегирование: оператор: Minimum
пороговое значение: Greater than
95
Проверьте каждый: период обратного просмотра: 15 minute
15 minutes
1 — ошибка
Низкое tempdb пространство журнала Используемый журнал процента tempdb Пороговое значение: Static
агрегирование: оператор: Minimum
пороговое значение: Greater than
60
Проверьте каждый: период обратного просмотра: 1 minute
5 minutes
1 — ошибка
Взаимоблокировки Взаимоблокировки Пороговое значение: Dynamic
агрегирование: оператор: Total
пороговая чувствительность: Greater than
Medium
Проверьте каждый: период обратного просмотра: 15 minutes
1 hour
3 — информация
Неудачные подключения (ошибки пользователя) Неудачные подключения: ошибки пользователей Пороговое значение: Dynamic
агрегирование: оператор: Total
пороговая чувствительность: Greater than
Medium
Проверьте каждый: период обратного просмотра: 5 minutes
15 minutes
2 — предупреждение
Неудачные подключения (системные ошибки) Неудачные подключения: системные ошибки Пороговое значение: Static
агрегирование: оператор: Total
единицаCount
: Greater than
пороговое значение:10
Проверьте каждый: период обратного просмотра: 1 minute
5 minutes
2 — предупреждение
Аномальная скорость подключения Успешные подключения Пороговое значение: Dynamic
агрегирование: оператор: Total
пороговая чувствительность: Greater or Less than
Low
Проверьте каждый: период обратного просмотра: 5 minutes
15 minutes
2 — предупреждение

Некоторые из рекомендуемых правил генерации оповещений используют динамические пороговые значения для обнаружения аномальных шаблонов метрик, которые могут потребовать внимания. Правила генерации оповещений на основе динамических пороговых значений не активируются до тех пор, пока не будут собраны достаточные исторические данные, чтобы установить обычные шаблоны. Дополнительные сведения см. в разделе Динамические пороговые значения в оповещениях метрик.

По умолчанию оповещения метрик являются отслеживанием состояния. Это означает, что после активации правила генерации оповещений оповещение запускается только один раз. Оповещение fired остается в состоянии, пока не будет разрешено, в какой момент resolved отправляется уведомление. Правило генерации оповещений активирует новое оповещение только после разрешения предыдущего оповещения. Оповещения с отслеживанием состояния избежать частых уведомлений о текущем состоянии. Дополнительные сведения о оповещениях без отслеживания состояния и состоянии см. в разделе "Оповещения и состояние".