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


Включение SQL Insights (предварительная версия)

Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure

Внимание

СЛУЖБА SQL Insights (предварительная версия) будет прекращена 31 декабря 2024 г. Мы рекомендуем перейти на наблюдатель за базами данных для SQL Azure (предварительная версия) или другое решение для мониторинга баз данных по этой дате.

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

После 31 декабря 2024 года SQL Insights (предварительная версия) не будет поддерживаться и не будет доступен в портал Azure. Вы сохраните все существующие данные мониторинга, собранные SQL Insights в рабочей области Log Analytics.

В этой статье объясняется, как включить SQL Insights (предварительная версия) для мониторинга развертываний SQL. Мониторинг выполняется с виртуальной машины Azure, которая устанавливает подключение к развертываниям SQL и применяет динамические административные представления для сбора данных мониторинга. Вы можете управлять тем, какие наборы данных и как часто будут собираться, с помощью профиля мониторинга.

Чтобы включить SQL Insights (предварительная версия), создайте профиль мониторинга и виртуальную машину для включения, используя примеры шаблонов Azure Resource Manager для развертывания и настройки SQL Insights.

Создание рабочей области Log Analytics

SQL Insights хранит данные в одной или нескольких рабочих областях Log Analytics. Прежде чем включать SQL Insights, нужно создать рабочую область или выбрать одну из существующих. Одну рабочую область можно использовать с несколькими профилями мониторинга, но рабочая область и все профили должны находиться в одном регионе Azure. Чтобы настраивать и использовать возможности SQL Insights, вам необходима роль участника SQL Insights в рабочей области.

Создание пользователя мониторинга

Вам потребуется пользователь (login) в развертываниях SQL, которые вы будете отслеживать. Выполните указанные ниже процедуры для разных типов развертываний SQL.

Процессы, описанные в инструкциях ниже, будут разными для разных типов SQL, которые вы можете отслеживать. Чтобы с помощью скрипта выполнить этот процесс сразу в нескольких ресурсах SQL, воспользуйтесь файлом README и примером скрипта.

Примечание.

SQL Insights (предварительная версия) не поддерживает следующие сценарии Базы данных SQL Azure:

  • Эластичные пулы. Невозможно собирать метрики для эластичных пулов. Метрики не могут быть собраны для баз данных в эластичных пулах.
  • Низкие уровни служб: нельзя собирать метрики для баз данных в целях службы "Базовый", "S0" и "S1 "

В SQL Insights (предварительная версия) предусмотрена ограниченная поддержка следующих сценариев Базы данных SQL Azure:

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

Подключитесь к базе данных SQL Azure с помощью SQL Server Management Studio, редактора запросов (предварительная версия) на портале Azure или любого другого клиентского средства SQL.

Выполните приведенный ниже скрипт, чтобы создать учетную запись пользователя с необходимыми разрешениями. Замените здесь заполнитель user именем пользователя, а mystrongpassword — надежным паролем для него.

CREATE USER [user] WITH PASSWORD = N'mystrongpassword'; 
GO 
GRANT VIEW DATABASE STATE TO [user]; 
GO 

Снимок экрана: Редактор запросов с скриптом создания пользователя telegraf.

Убедитесь, что пользователь успешно создан.

Снимок экрана: окно запроса Редактор запросов, проверяющее скрипт пользователя telegraf.

select name as username,
       create_date,
       modify_date,
       type_desc as type,
       authentication_type_desc as authentication_type
from sys.database_principals
where type not in ('A', 'G', 'R', 'X')
       and sid is not null
order by username

Создание виртуальной машины Azure

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

Примечание.

Профили мониторинга указывают, какие данные будут собираться из разных типов SQL, которые вы хотите отслеживать. С каждой виртуальной машиной мониторинга может быть связан только один профиль мониторинга. Если вам нужно несколько профилей мониторинга, необходимо создать виртуальную машину для каждого из них.

Требования к виртуальной машине Azure

Виртуальная машина Azure имеет следующие требования:

Примечание.

Размер виртуальной машины Standard_B2s (2 ЦП, 4 ГиБ памяти) поддерживает до 100 строк подключения. Не следует выделять более 100 подключений на одну виртуальную машину.

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

Настройка параметров сети

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

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

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

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

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

Хранение пароля мониторинга в Azure Key Vault

По соображениям безопасности настоятельно рекомендуется хранить пароли SQL пользователя (login) в Key Vault, а не вводить их непосредственно в строки подключения профиля мониторинга.

Для настройки профиля для мониторинга SQL вам потребуется одно из следующих разрешений на ресурс Key Vault, который предполагается использовать:

  • Microsoft.Authorization/roleAssignments/write.
  • Microsoft.Authorization/roleAssignments/delete

Если у вас есть эти разрешения, новая политика доступа к Key Vault будет автоматически создана в ходе создания профиля SQL Monitoring, использующего указанный Key Vault.

Внимание

Необходимо убедиться, что конфигурация сети и безопасности позволяет виртуальной машине мониторинга получать доступ к Key Vault. Дополнительные сведения см. в разделах Доступ к Azure Key Vault из-за брандмауэра и Настройка сетевых параметров Azure Key Vault.

Создание профиля мониторинга SQL

Чтобы открыть SQL Insights (предварительная версия), выберите элемент SQL (предварительная версия) в разделе Insights в меню Azure Monitor на портале Azure. Выберите команду Создать профиль.

Снимок экрана: страница Azure Monitor в портал Azure. Выделена кнопка создания нового профиля.

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

  • База данных SQL Azure
  • Управляемый экземпляр SQL Azure
  • SQL Server на виртуальных машинах Azure

Например, вы можете создать один профиль с именем SQL Production и еще одни с именем SQL Staging, у которых будут разные настройки частоты сбора данных, объектов данных и рабочих областей для отправки данных.

Профиль хранится в формате ресурса правила сбора данных в выбранной подписке и группе ресурсов. Для каждого профиля требуется следующее:

  • Имя. Его нельзя изменить после создания.
  • Location. Это регион Azure.
  • Рабочая область Log Analytics для хранения данных мониторинга.
  • Параметры сбора данных для мониторинга SQL: частота и тип собираемых данных.

Примечание.

Расположение профиля должно совпадать с расположением рабочей области Log Analytics, в которую вы намерены отправлять данные мониторинга.

Снимок экрана: страница

После ввода сведений о профиле мониторинга выберите "Создать профиль мониторинга". Развертывание профиля может потребовать около минуты. Если вы не видите новый профиль, указанный в поле со списком профилей мониторинга, нажмите кнопку обновления и она должна появиться после завершения развертывания. Выбрав новый профиль, перейдите на вкладку Управление профилем, чтобы добавить компьютер мониторинга и связать его с этим профилем.

Добавить компьютер для мониторинга

Выберите "Добавить компьютер мониторинга", чтобы открыть панель контекста, чтобы выбрать виртуальную Add monitoring virtual machine машину, из которой следует отслеживать экземпляры SQL и предоставить строка подключения.

Выберите подписку и имя для виртуальной машины мониторинга. Если вы используете Key Vault для хранения паролей для входа мониторинга (настоятельно рекомендуется), выберите подписку этого Key Vault в разделе Key vault subscriptions, а затем выберите Key Vault, в которой KeyVaultхранятся секреты. Connection strings В поле введите URI хранилища и имя секрета для каждого пароля, который будет использоваться в строка подключения.

Например, если универсальный код ресурса (URI) Key Vault имеет https://mykeyvault.vault.azure.net/значение , а имена секретов — sqlPassword1 и sqlPassword2json в Connection strings поле будет содержать следующее:

{
   "secrets": {
      "telegrafPassword1": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword1"
      },
      "telegrafPassword2": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword2"
      }
   }
}

Теперь эти секреты можно ссылаться дальше в Connection strings поле. В следующем примере два строка подключения ссылались на telegrafPassword1 секреты, telegrafPassword2 определенные ранее:

{
   "sqlAzureConnections": [
      "Server=mysqlserver.database.windows.net;Port=1433;Database=mydatabase;User Id=telegraf;Password=$telegrafPassword1;"
   ],
   "sqlVmConnections": [
      "Server=mysqlserver1;Port=1433;Database=master;User Id=telegraf;Password=$telegrafPassword2;"
   ]
}

Снимок экрана: страница портал Azure Добавление мониторинга виртуальной машины. Выберите виртуальную машину, укажите URL-адрес KV (если используется) и имя секрета. Введите строка подключения для каждой системы для мониторинга. Выберите КВ, где вы создали секрет, используемый в строка подключения.

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

Добавление строк подключения

Строка подключения задает имя входа, которое SQL Insights (предварительная версия) должен использовать при входе в SQL для сбора данных мониторинга. Если вы используете Key Vault для хранения пароля пользователя мониторинга, укажите URI хранилища Key Vault и имя секрета с паролем.

Строки подключения будут разными для разных типов ресурса SQL:

TCP-подключения с компьютера мониторинга к IP-адресу и порту, используемым базой данных, должны быть разрешены всеми брандмауэрами или группами безопасности сети (NSG), которые встречаются на сетевом пути. Дополнительные сведения об IP-адресах и портах см. в разделе Архитектура подключений к Базе данных SQL Azure.

Введите строку подключения в следующем формате:

"sqlAzureConnections": [
   "Server=mysqlserver1.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;",
   "Server=mysqlserver2.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;"
]

Получите сведения на странице "Строки подключения" и соответствующую конечную точку ADO.NET для базы данных.

Чтобы отслеживать вторичную реплику для чтения, добавьте ;ApplicationIntent=ReadOnly к строке подключения. SQL Insights поддерживает мониторинг для одной вторичной реплики Собранные данные будут помечены тегами, чтобы легче было отличать первичные данные от вторичных.