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


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

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

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

Метрики

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

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

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

Замечание

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

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

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

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

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

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

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

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

Имя метрики Идентификатор метрики Описание
Процент ЦП 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 Для бессерверных баз данных эта метрика показывает объем вычислительных ресурсов, за которые выставляется счет, выраженный в секундах vCore. Дополнительные сведения см. в разделе "Выставление счетов" на уровне бессерверных вычислений.
Процент ЦП приложения 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 в базе данных Azure SQL.
Успешные подключения 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 отправляется уведомление. Правило генерации оповещений активирует новое оповещение только после разрешения предыдущего оповещения. Оповещения, учитывающие состояние, помогают избежать частых уведомлений о продолжающемся состоянии. Дополнительные сведения об оповещениях с состоянием и без состояния см. в разделе "Оповещения и состояние".