Мониторинг База данных SQL Azure с помощью метрик и оповещений
Применимо к: База данных SQL Azure
Метрики Azure Monitor можно использовать для мониторинга потребления ресурсов и работоспособности эластичного пула. Оповещения можно использовать для отправки уведомлений, когда значения метрик указывают на потенциальную проблему.
Метрики
Метрика — это ряд числовых значений, измеряемых в регулярных интервалах времени, часто использующих такие единицы, как , и т. д. В зависимости от природы метрики можно использовать агрегаты, такие как count
total
, count
, minimum
average
maximum
для вычисления значений метрик в течение длительности времени. bytes
percent
Можно разделить некоторые метрики по измерениям. Каждое измерение предоставляет дополнительный контекст числовых значений.
Примеры доступных метрик База данных SQL Azure: CPU percentage
, Data space used
, Deadlocks
. Tempdb Percent Log Used
См. метрики базы данных и метрики эластичного пула для всех доступных метрик в База данных SQL 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.
Примеры ошибок, вызванных конфигурацией пользователя:
Примеры ошибок, вызванных рабочей нагрузкой пользователя:
Примеры ошибок, вызванных управлением пользователями:
- Увеличение или уменьшение масштаба базы данных или эластичного пула
- Планирование или отмена георепликации плановая отработка отказа
- Группа отработки отказа планируется или не планируется плановая отработка отказа
- Геоторичная база данных в состоянии заполнения
- База данных, которая находится в состоянии восстановления из-за восстановления точки во времени (PITR), долгосрочного восстановления (LTR) или восстановления из удаленной базы данных
- База данных, которая еще не завершена копирование (копирование базы данных)
видны узлы
Вы можете создать правила генерации оповещений, чтобы уведомить вас о том, что значение одной метрики или нескольких метрик находится за пределами ожидаемого диапазона.
Вы можете задать область правила генерации оповещений несколькими способами в соответствии с вашими потребностями. Например, область правила генерации оповещений может быть задана следующим образом:
- Отдельная база данных
- Эластичные пулы
- Все базы данных или эластичные пулы в группе ресурсов
- Все базы данных или эластичные пулы в подписке в регионе 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
отправляется уведомление. Правило генерации оповещений активирует новое оповещение только после разрешения предыдущего оповещения. Оповещения с отслеживанием состояния избежать частых уведомлений о текущем состоянии. Дополнительные сведения о оповещениях без отслеживания состояния и состоянии см. в разделе "Оповещения и состояние".
Связанный контент
- Обзор метрик Azure Monitor
- Мониторинг рабочих нагрузок SQL Azure с помощью наблюдателя за базами данных (предварительная версия)
- Анализ метрик с помощью обозревателя метрик Azure Monitor
- Агрегирование и отображение метрик Azure Monitor
- Общие сведения об оповещениях Azure Monitor
- Учебник. Создание оповещения метрик для ресурса Azure
- Рекомендации по работе с оповещениями Azure Monitor
- Устранение неполадок с оповещениями Azure Monitor
- Мониторинг и настройка производительности Базы данных SQL Azure и Управляемого экземпляра SQL Azure
- Настройка потокового экспорта диагностических данных телеметрии для Базы данных SQL Azure и Управляемого экземпляра SQL