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


Мониторинг базы данных Azure SQL

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

В этой статье рассматриваются следующие вопросы:

  • Типы данных мониторинга, которые можно собирать для этой службы.
  • Способы анализа данных.

Примечание.

Если вы уже знакомы с этой службой и (или) Azure Monitor и просто хотите знать, как анализировать данные мониторинга, см . раздел "Анализ " в конце этой статьи.

При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать и получать оповещения для системы. Служба Azure Monitor собирает и агрегирует метрики и журналы из каждого компонента системы. Azure Monitor предоставляет представление о доступности, производительности и устойчивости, а также уведомляет вас о проблемах. Вы можете использовать портал Azure, PowerShell, Azure CLI, REST API или клиентские библиотеки для настройки и просмотра данных мониторинга.

Ядро СУБД SQL Server имеет собственные возможности мониторинга и диагностики, которые база данных SQL Azure использует, такие как Хранилище запросов и динамические административные представления. Дополнительные сведения см. в статьях «Мониторинг производительности с помощью Хранилища запросов» и «Мониторинг производительности базы данных SQL Azure с помощью динамических административных представлений».

Для детального обсуждения всех аспектов мониторинга и производительности в Azure SQL Database и Azure SQL Managed Instance см. раздел "Мониторинг и настройка производительности в Azure SQL Database и Azure SQL Managed Instance".

Внимание

Список рекомендуемых правил генерации оповещений см. в статье "Мониторинг База данных SQL Azure с помощью метрик и оповещений Azure Monitor".

Наблюдатель за базами данных (предварительная версия)

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

Дополнительные сведения о наблюдателе за базами данных см. в следующих статьях:

Анализ производительности запросов

Анализ производительности запросов использует хранилище запросов SQL Server для предоставления интеллектуального анализа запросов и анализа выбора плана запросов и производительности для отдельных и пулированных баз данных. Дополнительные сведения см. в статье Анализ производительности запросов для Базы данных SQL Azure.

Типы ресурсов

Azure использует концепцию типов ресурсов и идентификаторов для идентификации всего в подписке. Типы ресурсов также являются частью идентификаторов ресурсов для каждого ресурса, работающего в Azure. Например, для виртуальной машины используется Microsoft.Compute/virtualMachinesодин тип ресурса. Список служб и связанных с ними типов ресурсов см. в разделе "Поставщики ресурсов".

Azure Monitor аналогично упорядочивает основные данные мониторинга в метрики и журналы, основываясь на типах ресурсов, также называемых пространствами имен. Различные метрики и журналы доступны для различных типов ресурсов. Служба может быть связана с несколькими типами ресурсов.

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

Хранилище данных

Для Azure Monitor:

  • Данные метрик хранятся в базе данных метрик Azure Monitor.
  • Данные журнала хранятся в хранилище журналов Azure Monitor. Log Analytics — это инструмент в портале Azure, который может запрашивать это хранилище.
  • Журнал действий Azure — это отдельное хранилище с собственным интерфейсом в портале Azure.

При необходимости можно перенаправить данные журнала метрик и действий в хранилище журналов Azure Monitor. Затем с помощью Log Analytics можно запрашивать данные и сопоставлять их с другими данными журнала.

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

Подробные сведения о том, как Azure Monitor хранит данные, см. на платформе данных Azure Monitor.

Метрики платформы Azure Monitor

Azure Monitor предоставляет метрики платформы для большинства служб. Эти метрики перечислены ниже.

  • Индивидуально определяется для каждого пространства имен.
  • Хранится в базе данных метрик временных рядов Azure Monitor.
  • Лёгкий и способный поддерживать оповещения практически в режиме реального времени.
  • Используется для отслеживания производительности ресурса с течением времени.

Коллекция: Azure Monitor автоматически собирает метрики платформы. Настройка не требуется.

Маршрутизация: Вы также можете направлять некоторые метрики платформы в журналы Azure Monitor и Log Analytics, где вы сможете их запросить вместе с другими данными журнала. Проверьте параметр экспорта DS для каждой метрики, чтобы узнать, можно ли использовать параметр диагностики для маршрутизации метрик в журналы Azure Monitor или Log Analytics.

Список всех метрик, которые можно собрать для всех ресурсов в Azure Monitor, см. в статье "Поддерживаемые метрики в Azure Monitor".

Метрики Azure SQL Database

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

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

Для получения списка и описания часто используемых метрик в базе данных Azure SQL см. метрики Azure SQL Database.

Чтобы ознакомиться с таблицами всех доступных метрик для базы данных SQL, см. справочник по данным мониторинга SQL Database.

Журналы ресурсов Azure Monitor

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

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

Маршрутизация: рекомендуется по умолчанию направлять журналы ресурсов в Azure Monitor Logs для их запроса вместе с другими журналами данных. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения см. в журналах ресурсов Azure и местах назначения журналов ресурсов.

Подробные сведения о сборе, хранении и маршрутизации журналов ресурсов см. в разделе "Параметры диагностики" в Azure Monitor.

Список всех доступных категорий журналов ресурсов в Azure Monitor см. в статье "Поддерживаемые журналы ресурсов" в Azure Monitor.

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

журналы базы данных Azure SQL

Аудит Базы данных SQL Azure отслеживает события баз данных и записывает их в журнал аудита в учетной записи службы хранилища Azure, рабочей области Log Analytics или Центрах событий. Дополнительные сведения см. в разделе "Аудит" для База данных SQL Azure.

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

Для доступных категорий журналов ресурсов, связанных таблиц Log Analytics и схем журналов для базы данных SQL, см. справочник по данным мониторинга для SQL Database.

Журнал действий Azure

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

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

Маршрутизация. Вы можете отправлять данные журнала действий в журналы Azure Monitor, чтобы их можно было анализировать вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения о маршрутизации журнала действий см. в разделе "Обзор журнала действий Azure".

Анализ данных мониторинга

Существует множество средств для анализа данных мониторинга.

Средства Azure Monitor

Azure Monitor поддерживает следующие основные средства:

Средства, которые позволяют более сложной визуализации, включают:

  • Панели мониторинга, позволяющие объединять различные виды данных в одну панель в портале Azure.
  • Рабочие тетради, настраиваемые отчеты, которые можно создавать в портале Azure. Рабочие книги могут включать текст, метрики и запросы журналов.
  • Grafana — открытая платформа, которая превосходно подходит для операционных панелей. С помощью Grafana можно создавать панели мониторинга, содержащие данные из нескольких источников, отличных от Azure Monitor.
  • Power BI— служба бизнес-аналитики, которая предоставляет интерактивные визуализации в различных источниках данных. Вы можете настроить Power BI на автоматический импорт данных журналов из Azure Monitor, чтобы воспользоваться этими визуализациями.

Средства экспорта Azure Monitor

Вы можете получить данные из Azure Monitor в другие средства с помощью следующих методов:

См. Пошаговое руководство по REST API мониторинга Azure для того, чтобы начать работать с REST API для Azure Monitor.

Запросы Kusto

Данные мониторинга можно анализировать в хранилище журналов Azure Monitor или Log Analytics с помощью языка запросов Kusto (KQL).

Внимание

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

Список распространенных запросов для любой службы см. в интерфейсе запросов Log Analytics.

Примечание.

Иногда может потребоваться до 15 минут от момента создания события до его появления в рабочей области Log Analytics.

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

Пример 1. Log_write_percent за последний час

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName

Пример B. Типы ожидания SQL Server за последние 15 минут

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(15min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_15mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s

Пример C. Взаимоблокировки SQL Server за последние 60 минут

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName

Пример 4. Средняя загрузка ЦП за последний час

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize CPU_Maximum_last60mins = max(Maximum), CPU_Minimum_last60mins = min(Minimum), CPU_Average_last60mins = avg(Average) by Resource, MetricName

Оповещения

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

Существует множество источников распространенных оповещений для ресурсов Azure. Примеры распространенных оповещений для ресурсов Azure см. в образцах запросов оповещений журнала. Сайт базовых оповещений Azure Monitor (AMBA) предоставляет полуавтоматизированный метод настройки важных оповещений метрик платформы, панелей мониторинга и рекомендаций. Сайт применяется к постоянно расширяющемуся подмножеству служб Azure, включая все службы, которые являются частью целевой зоны приземления Azure (ALZ).

Унифицированная схема оповещений стандартизирует получение извещений об оповещениях Azure Monitor. Дополнительные сведения см. в разделе "Общая схема оповещений".

Типов оповещений

Вы можете получать оповещения о любых источниках данных метрик или журналов на платформе данных Azure Monitor. Существует множество различных типов оповещений в зависимости от служб, которые вы отслеживаете, и данных мониторинга, которые вы собираете. Различные типы оповещений имеют различные преимущества и недостатки. Дополнительные сведения см. в разделе "Выбор правильного типа оповещений мониторинга".

В следующем списке описаны типы оповещений Azure Monitor, которые можно создать:

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

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

Для некоторых служб можно отслеживать масштаб, применяя одно правило генерации оповещений метрик к нескольким ресурсам одного типа, которые существуют в одном регионе Azure. Для каждого отслеживаемого ресурса отправляются отдельные уведомления. Сведения о поддерживаемых службах и облаках Azure см. в статье "Мониторинг нескольких ресурсов с помощью одного правила генерации оповещений".

правила оповещений для базы данных SQL

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

Название сигнала Оператор Тип агрегирования Пороговое значение Описание
Процент DTU Больше чем Средний 80 Когда среднее значение DTU превышает 80 %
Процент ввода-вывода журнала Больше чем Средний 80 Когда уровень использования журнала ввода-вывода превышает 80%
Взаимоблокировки* Больше Количество 1 Когда количество взаимоблокировок превышает 1
Процент использования ЦП Больше чем Средний 80 Когда средняя загрузка ЦП превышает 80 %

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

Совет

Рекомендуемые правила генерации оповещений и типичные конфигурации правил генерации оповещений для База данных SQL см. в статье "Мониторинг База данных SQL Azure с помощью метрик и оповещений Azure Monitor".

Рекомендации Помощника

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

Дополнительные сведения о Azure Advisor см. в разделе обзор Azure Advisor.