Настройка оповещения для базы данных SQL Server в Azure с помощью Azure PowerShell

#powershell #azure-sql-database #azure-powershell

Вопрос:

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

 $ResourceGroup = 'pp-rg-cloud-dev1-aks'
$server = 'abcd'
$db = 'efgh'
$location = 'eastus'
$rid = (Get-AzResource -ResourceGroupName $ResourceGroup -ResourceName "$server/$db").ResourceID
$email = New-AzAlertRuleEmail -CustomEmail 'user@user.com' -SendToServiceOwner

Add-AzMetricAlertRule -Name 'CPU percentage' `
-Location $location `
-ResourceGroup $ResourceGroup `
-TargetResourceId $rid `
-MetricName 'dtu_consumption_percent' `
-Operator GreaterThanOrEqual `
-Threshold 90 `
-WindowSize '00:05:00' `
-TimeAggregationOperator Maximum `
-Action $email
 

но я получаю эту ошибку:

Add-AzMetricAlertRule : Тип исключения: Исключение ErrorResponseException, Сообщение: Создание или редактирование классических правил предупреждений на основе этой метрики больше не поддерживается. Чтобы узнать о новых правилах оповещения, см. https://aka.ms/create-metric-alerts, Код: Неверный запрос, Код состояния:Неверный запрос, Фраза причины: Неверный запрос

В строке:1 символ:1

  • Добавить-AzMetricAlertRule -Имя «Процент процессора»

  • CategoryInfo : Ошибка закрытия: (:) [Add-AzMetricAlertRule], исключение PSInvalidOperationException
  • Полностью квалифицированный идентификатор ошибки : Microsoft.Лазурь.Команды.Идеи.Оповещения.AddAzureRmMetricAlertRuleCommand


Что бы я ни пытался, это всегда говорит о том, что метрики больше не существует. Есть ли какой-нибудь способ найти имя предупреждения?

Комментарии:

1. Похоже, для этого вам придется использовать новые командлеты: docs.microsoft.com/en-us/powershell/module/az.monitor/. ... Я просто перешел по ссылке, указанной в исключении.

2. Я не могу настроить оповещение для базы данных SQL с той же структурой команд. и получаю это сообщение об ошибке : Add-AzMetricAlertRuleV2 : Тип исключения: Исключение ErrorResponse, Сообщение: Не удалось найти метрику с именем Процент процессора. Убедитесь, что имя правильное. Идентификатор действия: 7b7b9eba-f392-4c4a-ac74-f9f94cf04c1a., Код: Неверный запрос, Код состояния:Неверный запрос, Фраза причины: Неверный запрос В строке:1 символ:1 Добавить-AzMetricAlertRuleV2 ` CategoryInfo : Ошибка закрытия: (:) [Добавить-AzMetricAlertRuleV2], Исключение PSInvalidOperationException Полностью квалифицированный идентификатор ошибки :

Ответ №1:

Попробуйте выполнить следующий сценарий:

 $ResourceGroup = 'IntroAzureSql'
$location = 'West US'
$server = 'msf-sqldb'
$db = 'MSFADMIN'
$rid = (Get-AzureRmResource -ResourceGroupName $ResourceGroup -ResourceName amp;quot;$server/$dbamp;quot;).ResourceID
$email = New-AzureRmAlertRuleEmail -CustomEmails 'mfal@dummy.com' -SendToServiceOwners
Add-AzureRmMetricAlertRule -Name 'DTU90Check' <code>
-Location $location </code>
-ResourceGroup $ResourceGroup <code>
-TargetResourceId $rid </code>
-MetricName 'dtu_consumption_percent' <code>
-Operator GreaterThanOrEqual </code>
-Threshold 90 <code>
-WindowSize '00:05:00' </code>
-TimeAggregationOperator Maximum `
-Actions $email
 

Комментарии:

1. Получение этой ошибки : Add-AzureRmMetricAlertRule : Тип исключения: Исключение ErrorResponseException, Сообщение: Создание или редактирование классических правил предупреждений на основе этой метрики больше не поддерживается. Чтобы узнать о новых правилах оповещения, см. aka.ms/create-metric-alerts , Код: Неверный запрос, Код состояния:Неверный запрос, Фраза причины: Неверный Запрос В строке:1 символ:1 Добавить-AzureRmMetricAlertRule -Имя 'DTU90Check'-Местоположение $местоположение -Res ... CategoryInfo : CloseError: (:) [Add-AzureRmMetricAlertRule], исключение PSInvalidOperationException Полностью квалифицированный идентификатор ошибки :