Я хочу использовать Azure Powershell, чтобы отключить автоматическое масштабирование на AZVMSS, которую я создал во время развертывания, чтобы избежать зависаний в процессе развертывания с нашим сервером развертывания (проблема в том, что наше программное обеспечение пытается сделать слишком много одновременно и 5 минут развертывания занимают час, но это проблема для другого времени).
В результате некоторых экспериментов я узнал, что пользовательская метрика, которую мы пишем для понимания приложения, не считается «действительной» с помощью powershell, а действительна на портале, так как я могу выбрать ее и создать правило вручную.
Когда я смотрю в JSON свои настройки автомасштабирования, я вижу имя метрики и копирую его в свой скрипт. Он совпадает с видимой опцией в раскрывающемся списке учетной записи приложения, которую я создал, и которую можно увидеть на портале. Однако, когда я запускаю мои команды powershell сообщает мне, что параметры недопустимы.
Разве я не могу использовать пользовательские метрики? Как мне указать их, если так? Я также заметил, что «Последний» как тип TimeAggregationOperator не разрешен в скрипте, даже если в документах сказано, что он пригоден для использования (затем не показывает его), и его можно использовать в портал. Правильно ли я считаю, что это безнадежное дело?
$scaleoutRule = New-AzAutoscaleRule -MetricName "$myCustomMetricName" `
-MetricResourceId "/subscriptions/$sub/resourceGroups/$rg/providers/microsoft.insights/components/$appInsightsAccountName" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold 30 `
-TimeAggregationOperator Count `
-TimeGrain 00:01:00 `
-TimeWindow 00:10:00 `
-ScaleActionCooldown 00:10:00 `
-ScaleActionDirection Increase `
-ScaleActionScaleType ChangeCount `
-ScaleActionValue "1"
$Profile1 = New-AzAutoscaleProfile -DefaultCapacity "2" `
-MaximumCapacity "10" `
-MinimumCapacity "2" `
-Rule $Rule1 -Name "default"
Add-AzAutoscaleSetting -Location 'eastus2' `
-Name "mySetting" `
-ResourceGroupName "$rg" `
-TargetResourceId "/subscriptions/$sub/resourceGroups/$rg/providers/Microsoft.Compute/virtualMachineScaleSets/$azvmss" `
-AutoscaleProfile $Profile1
Это часто встречается с
Add-AzAutoscaleSetting : Exception type: ErrorResponseException, Message: Exception of type 'Microsoft.WindowsAzure.Management.Monitoring.MonitoringServiceException' was thrown., Code: UnsupportedMetric,
Status code:BadRequest, Reason phrase: Bad Request
+ CategoryInfo : CloseError: (:) [Add-AzAutoscaleSetting], PSInvalidOperationException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Insights.Autoscale.AddAzureRmAutoscaleSettingCommand